highcharts.src.d.ts 5.0 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874122875122876122877122878122879122880122881122882122883122884122885122886122887122888122889122890122891122892122893122894122895122896122897122898122899122900122901122902122903122904122905122906122907122908122909122910122911122912122913122914122915122916122917122918122919122920122921122922122923122924122925122926122927122928122929122930122931122932122933122934122935122936122937122938122939122940122941122942122943122944122945122946122947122948122949122950122951122952122953122954122955122956122957122958122959122960122961122962122963122964122965122966122967122968122969122970122971122972122973122974122975122976122977122978122979122980122981122982122983122984122985122986122987122988122989122990122991122992122993122994122995122996122997122998122999123000123001123002123003123004123005123006123007123008123009123010123011123012123013123014123015123016123017123018123019123020123021123022123023123024123025123026123027123028123029123030123031123032123033123034123035123036123037123038123039123040123041123042123043123044123045123046123047123048123049123050123051123052123053123054123055123056123057123058123059123060123061123062123063123064123065123066123067123068123069123070123071123072123073123074123075123076123077123078123079123080123081123082123083123084123085123086123087123088123089123090123091123092123093123094123095123096123097123098123099123100123101123102123103123104123105123106123107123108123109123110123111123112123113123114123115123116123117123118123119123120123121123122123123123124123125123126123127123128123129123130123131123132123133123134123135123136123137123138123139123140123141123142123143123144123145123146123147123148123149123150123151123152123153123154123155123156123157123158123159123160123161123162123163123164123165123166123167123168123169123170123171123172123173123174123175123176123177123178123179123180123181123182123183123184123185123186123187123188123189123190123191123192123193123194123195123196123197123198123199123200123201123202123203123204123205123206123207123208123209123210123211123212123213123214123215123216123217123218123219123220123221123222123223123224123225123226123227123228123229123230123231123232123233123234123235123236123237123238123239123240123241123242123243123244123245123246123247123248123249123250123251123252123253123254123255123256123257123258123259123260123261123262123263123264123265123266123267123268123269123270123271123272123273123274123275123276123277123278123279123280123281123282123283123284123285123286123287123288123289123290123291123292123293123294123295123296123297123298123299123300123301123302123303123304123305123306123307123308123309123310123311123312123313123314123315123316123317123318123319123320123321123322123323123324123325123326123327123328123329123330123331123332123333123334123335123336123337123338123339123340123341123342123343123344123345123346123347123348123349123350123351123352123353123354123355123356123357123358123359123360123361123362123363123364123365123366123367123368123369123370123371123372123373123374123375123376123377123378123379123380123381123382123383123384123385123386123387123388123389123390123391123392123393123394123395123396123397123398123399123400123401123402123403123404123405123406123407123408123409123410123411123412123413123414123415123416123417123418123419123420123421123422123423123424123425123426123427123428123429123430123431123432123433123434123435123436123437123438123439123440123441123442123443123444123445123446123447123448123449123450123451123452123453123454123455123456123457123458123459123460123461123462123463123464123465123466123467123468123469123470123471123472123473123474123475123476123477123478123479123480123481123482123483123484123485123486123487123488123489123490123491123492123493123494123495123496123497123498123499123500123501123502123503123504123505123506123507123508123509123510123511123512123513123514123515123516123517123518123519123520123521123522123523123524123525123526123527123528123529123530123531123532123533123534123535123536123537123538123539123540123541123542123543123544123545123546123547123548123549123550123551123552123553123554123555123556123557123558123559123560123561123562123563123564123565123566123567123568123569123570123571123572123573123574123575123576123577123578123579123580123581123582123583123584123585123586123587123588123589123590123591123592123593123594123595123596123597123598123599123600123601123602123603123604123605123606123607123608123609123610123611123612123613123614123615123616123617123618123619123620123621123622123623123624123625123626123627123628123629123630123631123632123633123634123635123636123637123638123639123640123641123642123643123644123645123646123647123648123649123650123651123652123653123654123655123656123657123658123659123660123661123662123663123664123665123666123667123668123669123670123671123672123673123674123675123676123677123678123679123680123681123682123683123684123685123686123687123688123689123690123691123692123693123694123695123696123697123698123699123700123701123702123703123704123705123706123707123708123709123710123711123712123713123714123715123716123717123718123719123720123721123722123723123724123725123726123727123728123729123730123731123732123733123734123735123736123737123738123739123740123741123742123743123744123745123746123747123748123749123750123751123752123753123754123755123756123757123758123759123760123761123762123763123764123765123766123767123768123769123770123771123772123773123774123775123776123777123778123779123780123781123782123783123784123785123786123787123788123789123790123791123792123793123794123795123796123797123798123799123800123801123802123803123804123805123806123807123808123809123810123811123812123813123814123815123816123817123818123819123820123821123822123823123824123825123826123827123828123829123830123831123832123833123834123835123836123837123838123839123840123841123842123843123844123845123846123847123848123849123850123851123852123853123854123855123856123857123858123859123860123861123862123863123864123865123866123867123868123869123870123871123872123873123874123875123876123877123878123879123880123881123882123883123884123885123886123887123888123889123890123891123892123893123894123895123896123897123898123899123900123901123902123903123904123905123906123907123908123909123910123911123912123913123914123915123916123917123918123919123920123921123922123923123924123925123926123927123928123929123930123931123932123933123934123935123936123937123938123939123940123941123942123943123944123945123946123947123948123949123950123951123952123953123954123955123956123957123958123959123960123961123962123963123964123965123966123967123968123969123970123971123972123973123974123975123976123977123978123979123980123981123982123983123984123985123986123987123988123989123990123991123992123993123994123995123996123997123998123999124000124001124002124003124004124005124006124007124008124009124010124011124012124013124014124015124016124017124018124019124020124021124022124023124024124025124026124027124028124029124030124031124032124033124034124035124036124037124038124039124040124041124042124043124044124045124046124047124048124049124050124051124052124053124054124055124056124057124058124059124060124061124062124063124064124065124066124067124068124069124070124071124072124073124074124075124076124077124078124079124080124081124082124083124084124085124086124087124088124089124090124091124092124093124094124095124096124097124098124099124100124101124102124103124104124105124106124107124108124109124110124111124112124113124114124115124116124117124118124119124120124121124122124123124124124125124126124127124128124129124130124131124132124133124134124135124136124137124138124139124140124141124142124143124144124145124146124147124148124149124150124151124152124153124154124155124156124157124158124159124160124161124162124163124164124165124166124167124168124169124170124171124172124173124174124175124176124177124178124179124180124181124182124183124184124185124186124187124188124189124190124191124192124193124194124195124196124197124198124199124200124201124202124203124204124205124206124207124208124209124210124211124212124213124214124215124216124217124218124219124220124221124222124223124224124225124226124227124228124229124230124231124232124233124234124235124236124237124238124239124240124241124242124243124244124245124246124247124248124249124250124251124252124253124254124255124256124257124258124259124260124261124262124263124264124265124266124267124268124269124270124271124272124273124274124275124276124277124278124279124280124281124282124283124284124285124286124287124288124289124290124291124292124293124294124295124296124297124298124299124300124301124302124303124304124305124306124307124308124309124310124311124312124313124314124315124316124317124318124319124320124321124322124323124324124325124326124327124328124329124330124331124332124333124334124335124336124337124338124339124340124341124342124343124344124345124346124347124348124349124350124351124352124353124354124355124356124357124358124359124360124361124362124363124364124365124366124367124368124369124370124371124372124373124374124375124376124377124378124379124380124381124382124383124384124385124386124387124388124389124390124391124392124393124394124395124396124397124398124399124400124401124402124403124404124405124406124407124408124409124410124411124412124413124414124415124416124417124418124419124420124421124422124423124424124425124426124427124428124429124430124431124432124433124434124435124436124437124438124439124440124441124442124443124444124445124446124447124448124449124450124451124452124453124454124455124456124457124458124459124460124461124462124463124464124465124466124467124468124469124470124471124472124473124474124475124476124477124478124479124480124481124482124483124484124485124486124487124488124489124490124491124492124493124494124495124496124497124498124499124500124501124502124503124504124505124506124507124508124509124510124511124512124513124514124515124516124517124518124519124520124521124522124523124524124525124526124527124528124529124530124531124532124533124534124535124536124537124538124539124540124541124542124543124544124545124546124547124548124549124550124551124552124553124554124555124556124557124558124559124560124561124562124563124564124565124566124567124568124569124570124571124572124573124574124575124576124577124578124579124580124581124582124583124584124585124586124587124588124589124590124591124592124593124594124595124596124597124598124599124600124601124602124603124604124605124606124607124608124609124610124611124612124613124614124615124616124617124618124619124620124621124622124623124624124625124626124627124628124629124630124631124632124633124634124635124636124637124638124639124640124641124642124643124644124645124646124647124648124649124650124651124652124653124654124655124656124657124658124659124660124661124662124663124664124665124666124667124668124669124670124671124672124673124674124675124676124677124678124679124680124681124682124683124684124685124686124687124688124689124690124691124692124693124694124695124696124697124698124699124700124701124702124703124704124705124706124707124708124709124710124711124712124713124714124715124716124717124718124719124720124721124722124723124724124725124726124727124728124729124730124731124732124733124734124735124736124737124738124739124740124741124742124743124744124745124746124747124748124749124750124751124752124753124754124755124756124757124758124759124760124761124762124763124764124765124766124767124768124769124770124771124772124773124774124775124776124777124778124779124780124781124782124783124784124785124786124787124788124789124790124791124792124793124794124795124796124797124798124799124800124801124802124803124804124805124806124807124808124809124810124811124812124813124814124815124816124817124818124819124820124821124822124823124824124825124826124827124828124829124830124831124832124833124834124835124836124837124838124839124840124841124842124843124844124845124846124847124848124849124850124851124852124853124854124855124856124857124858124859124860124861124862124863124864124865124866124867124868124869124870124871124872124873124874124875124876124877124878124879124880124881124882124883124884124885124886124887124888124889124890124891124892124893124894124895124896124897124898124899124900124901124902124903124904124905124906124907124908124909124910124911124912124913124914124915124916124917124918124919124920124921124922124923124924124925124926124927124928124929124930124931124932124933124934124935124936124937124938124939124940124941124942124943124944124945124946124947124948124949124950124951124952124953124954124955124956124957124958124959124960124961124962124963124964124965124966124967124968124969124970124971124972124973124974124975124976124977124978124979124980124981124982124983124984124985124986124987124988124989124990124991124992124993124994124995124996124997124998124999125000125001125002125003125004125005125006125007125008125009125010125011125012125013125014125015125016125017125018125019125020125021125022125023125024125025125026125027125028125029125030125031125032125033125034125035125036125037125038125039125040125041125042125043125044125045125046125047125048125049125050125051125052125053125054125055125056125057125058125059125060125061125062125063125064125065125066125067125068125069125070125071125072125073125074125075125076125077125078125079125080125081125082125083125084125085125086125087125088125089125090125091125092125093125094125095125096125097125098125099125100125101125102125103125104125105125106125107125108125109125110125111125112125113125114125115125116125117125118125119125120125121125122125123125124125125125126125127125128125129125130125131125132125133125134125135125136125137125138125139125140125141125142125143125144125145125146125147125148125149125150125151125152125153125154125155125156125157125158125159125160125161125162125163125164125165125166125167125168125169125170125171125172125173125174125175125176125177125178125179125180125181125182125183125184125185125186125187125188125189125190125191125192125193125194125195125196125197125198125199125200125201125202125203125204125205125206125207125208125209125210125211125212125213125214125215125216125217125218125219125220125221125222125223125224125225125226125227125228125229125230125231125232125233125234125235125236125237125238125239125240125241125242125243125244125245125246125247125248125249125250125251125252125253125254125255125256125257125258125259125260125261125262125263125264125265125266125267125268125269125270125271125272125273125274125275125276125277125278125279125280125281125282125283125284125285125286125287125288125289125290125291125292125293125294125295125296125297125298125299125300125301125302125303125304125305125306125307125308125309125310125311125312125313125314125315125316125317125318125319125320125321125322125323125324125325125326125327125328125329125330125331125332125333125334125335125336125337125338125339125340125341125342125343125344125345125346125347125348125349125350125351125352125353125354125355125356125357125358125359125360125361125362125363125364125365125366125367125368125369125370125371125372125373125374125375125376125377125378125379125380125381125382125383125384125385125386125387125388125389125390125391125392125393125394125395125396125397125398125399125400125401125402125403125404125405125406125407125408125409125410125411125412125413125414125415125416125417125418125419125420125421125422125423125424125425125426125427125428125429125430125431125432125433125434125435125436125437125438125439125440125441125442125443125444125445125446125447125448125449125450125451125452125453125454125455125456125457125458125459125460125461125462125463125464125465125466125467125468125469125470125471125472125473125474125475125476125477125478125479125480125481125482125483125484125485125486125487125488125489125490125491125492125493125494125495125496125497125498125499125500125501125502125503125504125505125506125507125508125509125510125511125512125513125514125515125516125517125518125519125520125521125522125523125524125525125526125527125528125529125530125531125532125533125534125535125536125537125538125539125540125541125542125543125544125545125546125547125548125549125550125551125552125553125554125555125556125557125558125559125560125561125562125563125564125565125566125567125568125569125570125571125572125573125574125575125576125577125578125579125580125581125582125583125584125585125586125587125588125589125590125591125592125593125594125595125596125597125598125599125600125601125602125603125604125605125606125607125608125609125610125611125612125613125614125615125616125617125618125619125620125621125622125623125624125625125626125627125628125629125630125631125632125633125634125635125636125637125638125639125640125641125642125643125644125645125646125647125648125649125650125651125652125653125654125655125656125657125658125659125660125661125662125663125664125665125666125667125668125669125670125671125672125673125674125675125676125677125678125679125680125681125682125683125684125685125686125687125688125689125690125691125692125693125694125695125696125697125698125699125700125701125702125703125704125705125706125707125708125709125710125711125712125713125714125715125716125717125718125719125720125721125722125723125724125725125726125727125728125729125730125731125732125733125734125735125736125737125738125739125740125741125742125743125744125745125746125747125748125749125750125751125752125753125754125755125756125757125758125759125760125761125762125763125764125765125766125767125768125769125770125771125772125773125774125775125776125777125778125779125780125781125782125783125784125785125786125787125788125789125790125791125792125793125794125795125796125797125798125799125800125801125802125803125804125805125806125807125808125809125810125811125812125813125814125815125816125817125818125819125820125821125822125823125824125825125826125827125828125829125830125831125832125833125834125835125836125837125838125839125840125841125842125843125844125845125846125847125848125849125850125851125852125853125854125855125856125857125858125859125860125861125862125863125864125865125866125867125868125869125870125871125872125873125874125875125876125877125878125879125880125881125882125883125884125885125886125887125888125889125890125891125892125893125894125895125896125897125898125899125900125901125902125903125904125905125906125907125908125909125910125911125912125913125914125915125916125917125918125919125920125921125922125923125924125925125926125927125928125929125930125931125932125933125934125935125936125937125938125939125940125941125942125943125944125945125946125947125948125949125950125951125952125953125954125955125956125957125958125959125960125961125962125963125964125965125966125967125968125969125970125971125972125973125974125975125976125977125978125979125980125981125982125983125984125985125986125987125988125989125990125991125992125993125994125995125996125997125998125999126000126001126002126003126004126005126006126007126008126009126010126011126012126013126014126015126016126017126018126019126020126021126022126023126024126025126026126027126028126029126030126031126032126033126034126035126036126037126038126039126040126041126042126043126044126045126046126047126048126049126050126051126052126053126054126055126056126057126058126059126060126061126062126063126064126065126066126067126068126069126070126071126072126073126074126075126076126077126078126079126080126081126082126083126084126085126086126087126088126089126090126091126092126093126094126095126096126097126098126099126100126101126102126103126104126105126106126107126108126109126110126111126112126113126114126115126116126117126118126119126120126121126122126123126124126125126126126127126128126129126130126131126132126133126134126135126136126137126138126139126140126141126142126143126144126145126146126147126148126149126150126151126152126153126154126155126156126157126158126159126160126161126162126163126164126165126166126167126168126169126170126171126172126173126174126175126176126177126178126179126180126181126182126183126184126185126186126187126188126189126190126191126192126193126194126195126196126197126198126199126200126201126202126203126204126205126206126207126208126209126210126211126212126213126214126215126216126217126218126219126220126221126222126223126224126225126226126227126228126229126230126231126232126233126234126235126236126237126238126239126240126241126242126243126244126245126246126247126248126249126250126251126252126253126254126255126256126257126258126259126260126261126262126263126264126265126266126267126268126269126270126271126272126273126274126275126276126277126278126279126280126281126282126283126284126285126286126287126288126289126290126291126292126293126294126295126296126297126298126299126300126301126302126303126304126305126306126307126308126309126310126311126312126313126314126315126316126317126318126319126320126321126322126323126324126325126326126327126328126329126330126331126332126333126334126335126336126337126338126339126340126341126342126343126344126345126346126347126348126349126350126351126352126353126354126355126356126357126358126359126360126361126362126363126364126365126366126367126368126369126370126371126372126373126374126375126376126377126378126379126380126381126382126383126384126385126386126387126388126389126390126391126392126393126394126395126396126397126398126399126400126401126402126403126404126405126406126407126408126409126410126411126412126413126414126415126416126417126418126419126420126421126422126423126424126425126426126427126428126429126430126431126432126433126434126435126436126437126438126439126440126441126442126443126444126445126446126447126448126449126450126451126452126453126454126455126456126457126458126459126460126461126462126463126464126465126466126467126468126469126470126471126472126473126474126475126476126477126478126479126480126481126482126483126484126485126486126487126488126489126490126491126492126493126494126495126496126497126498126499126500126501126502126503126504126505126506126507126508126509126510126511126512126513126514126515126516126517126518126519126520126521126522126523126524126525126526126527126528126529126530126531126532126533126534126535126536126537126538126539126540126541126542126543126544126545126546126547126548126549126550126551126552126553126554126555126556126557126558126559126560126561126562126563126564126565126566126567126568126569126570126571126572126573126574126575126576126577126578126579126580126581126582126583126584126585126586126587126588126589126590126591126592126593126594126595126596126597126598126599126600126601126602126603126604126605126606126607126608126609126610126611126612126613126614126615126616126617126618126619126620126621126622126623126624126625126626126627126628126629126630126631126632126633126634126635126636126637126638126639126640126641126642126643126644126645126646126647126648126649126650126651126652126653126654126655126656126657126658126659126660126661126662126663126664126665126666126667126668126669126670126671126672126673126674126675126676126677126678126679126680126681126682126683126684126685126686126687126688126689126690126691126692126693126694126695126696126697126698126699126700126701126702126703126704126705126706126707126708126709126710126711126712126713126714126715126716126717126718126719126720126721126722126723126724126725126726126727126728126729126730126731126732126733126734126735126736126737126738126739126740126741126742126743126744126745126746126747126748126749126750126751126752126753126754126755126756126757126758126759126760126761126762126763126764126765126766126767126768126769126770126771126772126773126774126775126776126777126778126779126780126781126782126783126784126785126786126787126788126789126790126791126792126793126794126795126796126797126798126799126800126801126802126803126804126805126806126807126808126809126810126811126812126813126814126815126816126817126818126819126820126821126822126823126824126825126826126827126828126829126830126831126832126833126834126835126836126837126838126839126840126841126842126843126844126845126846126847126848126849126850126851126852126853126854126855126856126857126858126859126860126861126862126863126864126865126866126867126868126869126870126871126872126873126874126875126876126877126878126879126880126881126882126883126884126885126886126887126888126889126890126891126892126893126894126895126896126897126898126899126900126901126902126903126904126905126906126907126908126909126910126911126912126913126914126915126916126917126918126919126920126921126922126923126924126925126926126927126928126929126930126931126932126933126934126935126936126937126938126939126940126941126942126943126944126945126946126947126948126949126950126951126952126953126954126955126956126957126958126959126960126961126962126963126964126965126966126967126968126969126970126971126972126973126974126975126976126977126978126979126980126981126982126983126984126985126986126987126988126989126990126991126992126993126994126995126996126997126998126999127000127001127002127003127004127005127006127007127008127009127010127011127012127013127014127015127016127017127018127019127020127021127022127023127024127025127026127027127028127029127030127031127032127033127034127035127036127037127038127039127040127041127042127043127044127045127046127047127048127049127050127051127052127053127054127055127056127057127058127059127060127061127062127063127064127065127066127067127068127069127070127071127072127073127074127075127076127077127078127079127080127081127082127083127084127085127086127087127088127089127090127091127092127093127094127095127096127097127098127099127100127101127102127103127104127105127106127107127108127109127110127111127112127113127114127115127116127117127118127119127120127121127122127123127124127125127126127127127128127129127130127131127132127133127134127135127136127137127138127139127140127141127142127143127144127145127146127147127148127149127150127151127152127153127154127155127156127157127158127159127160127161127162127163127164127165127166127167127168127169127170127171127172127173127174127175127176127177127178127179127180127181127182127183127184127185127186127187127188127189127190127191127192127193127194127195127196127197127198127199127200127201127202127203127204127205127206127207127208127209127210127211127212127213127214127215127216127217127218127219127220127221127222127223127224127225127226127227127228127229127230127231127232127233127234127235127236127237127238127239127240127241127242127243127244127245127246127247127248127249127250127251127252127253127254127255127256127257127258127259127260127261127262127263127264127265127266127267127268127269127270127271127272127273127274127275127276127277127278127279127280127281127282127283127284127285127286127287127288127289127290127291127292127293127294127295127296127297127298127299127300127301127302127303127304127305127306127307127308127309127310127311127312127313127314127315127316127317127318127319127320127321127322127323127324127325127326127327127328127329127330127331127332127333127334127335127336127337127338127339127340127341127342127343127344127345127346127347127348127349127350127351127352127353127354127355127356127357127358127359127360127361127362127363127364127365127366127367127368127369127370127371127372127373127374127375127376127377127378127379127380127381127382127383127384127385127386127387127388127389127390127391127392127393127394127395127396127397127398127399127400127401127402127403127404127405127406127407127408127409127410127411127412127413127414127415127416127417127418127419127420127421127422127423127424127425127426127427127428127429127430127431127432127433127434127435127436127437127438127439127440127441127442127443127444127445127446127447127448127449127450127451127452127453127454127455127456127457127458127459127460127461127462127463127464127465127466127467127468127469127470127471127472127473127474127475127476127477127478127479127480127481127482127483127484127485127486127487127488127489127490127491127492127493127494127495127496127497127498127499127500127501127502127503127504127505127506127507127508127509127510127511127512127513127514127515127516127517127518127519127520127521127522127523127524127525127526127527127528127529127530127531127532127533127534127535127536127537127538127539127540127541127542127543127544127545127546127547127548127549127550127551127552127553127554127555127556127557127558127559127560127561127562127563127564127565127566127567127568127569127570127571127572127573127574127575127576127577127578127579127580127581127582127583127584127585127586127587127588127589127590127591127592127593127594127595127596127597127598127599127600127601127602127603127604127605127606127607127608127609127610127611127612127613127614127615127616127617127618127619127620127621127622127623127624127625127626127627127628127629127630127631127632127633127634127635127636127637127638127639127640127641127642127643127644127645127646127647127648127649127650127651127652127653127654127655127656127657127658127659127660127661127662127663127664127665127666127667127668127669127670127671127672127673127674127675127676127677127678127679127680127681127682127683127684127685127686127687127688127689127690127691127692127693127694127695127696127697127698127699127700127701127702127703127704127705127706127707127708127709127710127711127712127713127714127715127716127717127718127719127720127721127722127723127724127725127726127727127728127729127730127731127732127733127734127735127736127737127738127739127740127741127742127743127744127745127746127747127748127749127750127751127752127753127754127755127756127757127758127759127760127761127762127763127764127765127766127767127768127769127770127771127772127773127774127775127776127777127778127779127780127781127782127783127784127785127786127787127788127789127790127791127792127793127794127795127796127797127798127799127800127801127802127803127804127805127806127807127808127809127810127811127812127813127814127815127816127817127818127819127820127821127822127823127824127825127826127827127828127829127830127831127832127833127834127835127836127837127838127839127840127841127842127843127844127845127846127847127848127849127850127851127852127853127854127855127856127857127858127859127860127861127862127863127864127865127866127867127868127869127870127871127872127873127874127875127876127877127878127879127880127881127882127883127884127885127886127887127888127889127890127891127892127893127894127895127896127897127898127899127900127901127902127903127904127905127906127907127908127909127910127911127912127913127914127915127916127917127918127919127920127921127922127923127924127925127926127927127928127929127930127931127932127933127934127935127936127937127938127939127940127941127942127943127944127945127946127947127948127949127950127951127952127953127954127955127956127957127958127959127960127961127962127963127964127965127966127967127968127969127970127971127972127973127974127975127976127977127978127979127980127981127982127983127984127985127986127987127988127989127990127991127992127993127994127995127996127997127998127999128000128001128002128003128004128005128006128007128008128009128010128011128012128013128014128015128016128017128018128019128020128021128022128023128024128025128026128027128028128029128030128031128032128033128034128035128036128037128038128039128040128041128042128043128044128045128046128047128048128049128050128051128052128053128054128055128056128057128058128059128060128061128062128063128064128065128066128067128068128069128070128071128072128073128074128075128076128077128078128079128080128081128082128083128084128085128086128087128088128089128090128091128092128093128094128095128096128097128098128099128100128101128102128103128104128105
  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. * (Highcharts) Whether to pan axis. If `chart.panning` is enabled, the
  6013. * option allows to disable panning on an individual axis.
  6014. */
  6015. panningEnabled?: boolean;
  6016. /**
  6017. * (Highstock) The zoomed range to display when only defining one or none of
  6018. * `min` or `max`. For example, to show the latest month, a range of one
  6019. * month can be set.
  6020. */
  6021. range?: number;
  6022. /**
  6023. * (Highstock) Options for axis resizing. It adds a thick line between panes
  6024. * which the user can drag in order to resize the panes.
  6025. */
  6026. resize?: ChartParallelAxesResizeOptions;
  6027. /**
  6028. * (Highcharts) Whether to reverse the axis so that the highest number is
  6029. * closest to the origin.
  6030. */
  6031. reversed?: boolean;
  6032. /**
  6033. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  6034. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  6035. * series is in the base of the stack.
  6036. */
  6037. reversedStacks?: boolean;
  6038. /**
  6039. * (Highcharts) Whether to show the axis line and title when the axis has no
  6040. * data.
  6041. */
  6042. showEmpty?: boolean;
  6043. /**
  6044. * (Highcharts) Whether to show the first tick label.
  6045. */
  6046. showFirstLabel?: boolean;
  6047. /**
  6048. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  6049. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  6050. */
  6051. showLastLabel?: boolean;
  6052. /**
  6053. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  6054. * data maximum is less than this, the axis will stay at this maximum, but
  6055. * if the series data maximum is higher, the axis will flex to show all
  6056. * data.
  6057. *
  6058. * **Note**: The series.softThreshold option takes precedence over this
  6059. * option.
  6060. */
  6061. softMax?: number;
  6062. /**
  6063. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  6064. * data minimum is greater than this, the axis will stay at this minimum,
  6065. * but if the series data minimum is lower, the axis will flex to show all
  6066. * data.
  6067. *
  6068. * **Note**: The series.softThreshold option takes precedence over this
  6069. * option.
  6070. */
  6071. softMin?: number;
  6072. /**
  6073. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  6074. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  6075. */
  6076. startOfWeek?: number;
  6077. /**
  6078. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  6079. * tick. Use this option with the `maxPadding` option to control the axis
  6080. * start.
  6081. *
  6082. * This option is always disabled, when panning type is either `y` or `xy`.
  6083. */
  6084. startOnTick?: boolean;
  6085. /**
  6086. * (Gantt) For vertical axes only. Setting the static scale ensures that
  6087. * each tick unit is translated into a fixed pixel height. For example,
  6088. * setting the static scale to 24 results in each Y axis category taking up
  6089. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  6090. * will make the chart resize.
  6091. */
  6092. staticScale?: number;
  6093. /**
  6094. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  6095. * This opens up for aligning the ticks of multiple charts or panes within a
  6096. * chart. This option overrides the `tickPixelInterval` option.
  6097. *
  6098. * This option only has an effect on linear axes. Datetime, logarithmic or
  6099. * category axes are not affected.
  6100. */
  6101. tickAmount?: number;
  6102. /**
  6103. * (Highcharts) Color for the main tick marks.
  6104. *
  6105. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  6106. */
  6107. tickColor?: ColorType;
  6108. /**
  6109. * (Highcharts) The interval of the tick marks in axis units. When
  6110. * `undefined`, the tick interval is computed to approximately follow the
  6111. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  6112. * `undefined` tickInterval will default to 1, one category. Note that
  6113. * datetime axes are based on milliseconds, so for example an interval of
  6114. * one day is expressed as `24 * 3600 * 1000`.
  6115. *
  6116. * On logarithmic axes, the tickInterval is based on powers, so a
  6117. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  6118. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  6119. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  6120. * etc.
  6121. *
  6122. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  6123. * remove ticks.
  6124. *
  6125. * If the chart has multiple axes, the alignTicks option may interfere with
  6126. * the `tickInterval` setting.
  6127. */
  6128. tickInterval?: number;
  6129. /**
  6130. * (Highcharts) The pixel length of the main tick marks.
  6131. */
  6132. tickLength?: number;
  6133. /**
  6134. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  6135. * placed in the center of the category, if `between` the tick mark is
  6136. * placed between categories. The default is `between` if the `tickInterval`
  6137. * is 1, else `on`.
  6138. */
  6139. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  6140. /**
  6141. * (Highcharts) If tickInterval is `null` this option sets the approximate
  6142. * pixel interval of the tick marks. Not applicable to categorized axis.
  6143. *
  6144. * The tick interval is also influenced by the minTickInterval option, that,
  6145. * by default prevents ticks from being denser than the data points.
  6146. */
  6147. tickPixelInterval?: number;
  6148. /**
  6149. * (Highcharts) The position of the major tick marks relative to the axis
  6150. * line. Can be one of `inside` and `outside`.
  6151. */
  6152. tickPosition?: OptionsTickPositionValue;
  6153. /**
  6154. * (Highcharts) A callback function returning array defining where the ticks
  6155. * are laid out on the axis. This overrides the default behaviour of
  6156. * tickPixelInterval and tickInterval. The automatic tick positions are
  6157. * accessible through `this.tickPositions` and can be modified by the
  6158. * callback.
  6159. */
  6160. tickPositioner?: AxisTickPositionerCallbackFunction;
  6161. /**
  6162. * (Highcharts) An array defining where the ticks are laid out on the axis.
  6163. * This overrides the default behaviour of tickPixelInterval and
  6164. * tickInterval.
  6165. */
  6166. tickPositions?: Array<number>;
  6167. /**
  6168. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  6169. */
  6170. tickWidth?: number;
  6171. /**
  6172. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All
  6173. * options for `xAxis.labels` applies to parallel coordinates titles. For
  6174. * example, to style categories, use xAxis.labels.style.
  6175. */
  6176. title?: ChartParallelAxesTitleOptions;
  6177. /**
  6178. * (Highcharts) Parallel coordinates only. Format that will be used for
  6179. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  6180. * If not set, `{point.formattedValue}` will use other options, in this
  6181. * order:
  6182. *
  6183. * 1. yAxis.labels.format will be used if set
  6184. *
  6185. * 2. If yAxis is a category, then category name will be displayed
  6186. *
  6187. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  6188. * labels
  6189. *
  6190. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  6191. */
  6192. tooltipValueFormat?: string;
  6193. /**
  6194. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  6195. * it is interpreted as pixel position relative to the chart.
  6196. *
  6197. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  6198. * percentages of the plot height, offset from plot area top.
  6199. */
  6200. top?: (number|string);
  6201. /**
  6202. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  6203. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  6204. * `treegrid` for Gantt charts, `linear` for other chart types.
  6205. *
  6206. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  6207. * are placed on appropriate values, like full hours or days. In a category
  6208. * or treegrid axis, the point names of the chart's series are used for
  6209. * categories, if a categories array is not defined.
  6210. */
  6211. type?: AxisTypeValue;
  6212. /**
  6213. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  6214. * `uniqueNames` is true, points are placed on the X axis according to their
  6215. * names. If the same point name is repeated in the same or another series,
  6216. * the point is placed on the same X position as other points of the same
  6217. * name. When `uniqueNames` is false, the points are laid out in increasing
  6218. * X positions regardless of their names, and the X axis category will take
  6219. * the name of the last point in each position.
  6220. */
  6221. uniqueNames?: boolean;
  6222. /**
  6223. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  6224. * what time intervals the ticks are allowed to fall on. Each array item is
  6225. * an array where the first value is the time unit and the second value
  6226. * another array of allowed multiples.
  6227. *
  6228. * Defaults to: (see online documentation for example)
  6229. */
  6230. units?: Array<[string, (Array<number>|null)]>;
  6231. /**
  6232. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  6233. * ticks and labels, should be visible.
  6234. */
  6235. visible?: boolean;
  6236. /**
  6237. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  6238. * number, it is interpreted as pixels.
  6239. *
  6240. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  6241. * as percentages of the total plot width.
  6242. */
  6243. width?: (number|string);
  6244. /**
  6245. * (Highcharts) The Z index for the axis group.
  6246. */
  6247. zIndex?: number;
  6248. /**
  6249. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  6250. * allows to disable zooming on an individual axis.
  6251. */
  6252. zoomEnabled?: boolean;
  6253. }
  6254. /**
  6255. * (Highstock) Contains two arrays of axes that are controlled by control line
  6256. * of the axis.
  6257. */
  6258. export interface ChartParallelAxesResizeControlledAxisOptions {
  6259. /**
  6260. * (Highstock) Array of axes that should move out of the way of resizing
  6261. * being done for the current axis. If not set, the next axis will be used.
  6262. */
  6263. next?: Array<(number|string)>;
  6264. /**
  6265. * (Highstock) Array of axes that should move with the current axis while
  6266. * resizing.
  6267. */
  6268. prev?: Array<(number|string)>;
  6269. }
  6270. /**
  6271. * (Highstock) Options for axis resizing. It adds a thick line between panes
  6272. * which the user can drag in order to resize the panes.
  6273. */
  6274. export interface ChartParallelAxesResizeOptions {
  6275. /**
  6276. * (Highstock) Contains two arrays of axes that are controlled by control
  6277. * line of the axis.
  6278. */
  6279. controlledAxis?: ChartParallelAxesResizeControlledAxisOptions;
  6280. /**
  6281. * (Highstock) Cursor style for the control line.
  6282. *
  6283. * In styled mode use class `highcharts-axis-resizer` instead.
  6284. */
  6285. cursor?: string;
  6286. /**
  6287. * (Highstock) Enable or disable resize by drag for the axis.
  6288. */
  6289. enabled?: boolean;
  6290. /**
  6291. * (Highstock) Color of the control line.
  6292. *
  6293. * In styled mode use class `highcharts-axis-resizer` instead.
  6294. */
  6295. lineColor?: ColorString;
  6296. /**
  6297. * (Highstock) Dash style of the control line.
  6298. *
  6299. * In styled mode use class `highcharts-axis-resizer` instead.
  6300. */
  6301. lineDashStyle?: string;
  6302. /**
  6303. * (Highstock) Width of the control line.
  6304. *
  6305. * In styled mode use class `highcharts-axis-resizer` instead.
  6306. */
  6307. lineWidth?: number;
  6308. /**
  6309. * (Highstock) Horizontal offset of the control line.
  6310. */
  6311. x?: number;
  6312. /**
  6313. * (Highstock) Vertical offset of the control line.
  6314. */
  6315. y?: number;
  6316. }
  6317. /**
  6318. * (Highcharts) Titles for yAxes are taken from xAxis.categories. All options
  6319. * for `xAxis.labels` applies to parallel coordinates titles. For example, to
  6320. * style categories, use xAxis.labels.style.
  6321. */
  6322. export interface ChartParallelAxesTitleOptions {
  6323. reserveSpace?: boolean;
  6324. text?: string;
  6325. /**
  6326. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  6327. * `"center"`. Default alignment depends on the title.align:
  6328. *
  6329. * Horizontal axes:
  6330. *
  6331. * - for `align` = `"low"`, `textAlign` is set to `left`
  6332. *
  6333. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6334. *
  6335. * - for `align` = `"high"`, `textAlign` is set to `right`
  6336. *
  6337. * Vertical axes:
  6338. *
  6339. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  6340. * `right`
  6341. *
  6342. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  6343. * `left`
  6344. *
  6345. * - for `align` = `"middle"`, `textAlign` is set to `center`
  6346. *
  6347. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  6348. * `left`
  6349. *
  6350. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  6351. * `right`
  6352. */
  6353. textAlign?: AlignValue;
  6354. }
  6355. /**
  6356. * Chart position and scale.
  6357. */
  6358. export interface ChartPositionObject {
  6359. left: number;
  6360. scaleX: number;
  6361. scaleY: number;
  6362. top: number;
  6363. }
  6364. /**
  6365. * (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
  6366. * selection zoom, allowing the user to reset zoom.
  6367. */
  6368. export interface ChartResetZoomButtonOptions {
  6369. /**
  6370. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6371. */
  6372. position?: (AlignObject|ChartResetZoomButtonPositionOptions);
  6373. /**
  6374. * (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
  6375. * should be related to. Can be either `plotBox` or `spacingBox`.
  6376. */
  6377. relativeTo?: ButtonRelativeToValue;
  6378. /**
  6379. * (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
  6380. * the button. The object takes SVG attributes like `fill`, `stroke`,
  6381. * `stroke-width` or `r`, the border radius. The theme also supports
  6382. * `style`, a collection of CSS properties for the text. Equivalent
  6383. * attributes for the hover state are given in `theme.states.hover`.
  6384. */
  6385. theme?: SVGAttributes;
  6386. }
  6387. /**
  6388. * (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
  6389. */
  6390. export interface ChartResetZoomButtonPositionOptions {
  6391. /**
  6392. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  6393. * button.
  6394. */
  6395. align?: string;
  6396. /**
  6397. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  6398. * button.
  6399. */
  6400. verticalAlign?: VerticalAlignValue;
  6401. /**
  6402. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
  6403. * button.
  6404. */
  6405. x?: number;
  6406. /**
  6407. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  6408. * button.
  6409. */
  6410. y?: number;
  6411. }
  6412. /**
  6413. * (Highcharts, Gantt) Options for a scrollable plot area. This feature provides
  6414. * a minimum size for the plot area of the chart. If the size gets smaller than
  6415. * this, typically on mobile devices, a native browser scrollbar is presented.
  6416. * This scrollbar provides smooth scrolling for the contents of the plot area,
  6417. * whereas the title, legend and unaffected axes are fixed.
  6418. *
  6419. * Since v7.1.2, a scrollable plot area can be defined for either horizontal or
  6420. * vertical scrolling, depending on whether the `minWidth` or `minHeight` option
  6421. * is set.
  6422. */
  6423. export interface ChartScrollablePlotAreaOptions {
  6424. /**
  6425. * (Highcharts, Gantt) The minimum height for the plot area. If it gets
  6426. * smaller than this, the plot area will become scrollable.
  6427. */
  6428. minHeight?: number;
  6429. /**
  6430. * (Highcharts, Gantt) The minimum width for the plot area. If it gets
  6431. * smaller than this, the plot area will become scrollable.
  6432. */
  6433. minWidth?: number;
  6434. /**
  6435. * (Highcharts, Gantt) The opacity of mask applied on one of the sides of
  6436. * the plot area.
  6437. */
  6438. opacity?: number;
  6439. /**
  6440. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6441. * area. Ranges from 0 to 1, where 0 aligns the plot area to the left and 1
  6442. * aligns it to the right. Typically we would use 1 if the chart has right
  6443. * aligned Y axes.
  6444. */
  6445. scrollPositionX?: number;
  6446. /**
  6447. * (Highcharts, Gantt) The initial scrolling position of the scrollable plot
  6448. * area. Ranges from 0 to 1, where 0 aligns the plot area to the top and 1
  6449. * aligns it to the bottom.
  6450. */
  6451. scrollPositionY?: number;
  6452. }
  6453. /**
  6454. * Axis context of the selection.
  6455. */
  6456. export interface ChartSelectionAxisContextObject {
  6457. /**
  6458. * The selected Axis.
  6459. */
  6460. axis: Axis;
  6461. /**
  6462. * The maximum axis value, either automatic or set manually.
  6463. */
  6464. max: number;
  6465. /**
  6466. * The minimum axis value, either automatic or set manually.
  6467. */
  6468. min: number;
  6469. }
  6470. /**
  6471. * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a
  6472. * datetime axis is milliseconds since 1970-01-01 00:00:00.
  6473. */
  6474. export interface ChartSelectionContextObject extends Event {
  6475. /**
  6476. * Arrays containing the axes of each dimension and each axis' min and max
  6477. * values.
  6478. */
  6479. xAxis: Array<ChartSelectionAxisContextObject>;
  6480. /**
  6481. * Arrays containing the axes of each dimension and each axis' min and max
  6482. * values.
  6483. */
  6484. yAxis: Array<ChartSelectionAxisContextObject>;
  6485. }
  6486. /**
  6487. * Interface description for a class.
  6488. */
  6489. export interface Class<T> extends Function {
  6490. /**
  6491. * Class costructor.
  6492. *
  6493. * @param args
  6494. * Constructor arguments.
  6495. *
  6496. * @return Class instance.
  6497. */
  6498. new(...args: Array<any>): T;
  6499. }
  6500. /**
  6501. * (Gantt) An object defining mouse events for the plot line. Supported
  6502. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  6503. */
  6504. export interface ColorAxisCurrentDateIndicatorEventsOptions {
  6505. /**
  6506. * (Gantt) Click event on a plot band.
  6507. */
  6508. click?: EventCallbackFunction<PlotLineOrBand>;
  6509. /**
  6510. * (Gantt) Mouse move event on a plot band.
  6511. */
  6512. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  6513. /**
  6514. * (Gantt) Mouse out event on the corner of a plot band.
  6515. */
  6516. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  6517. /**
  6518. * (Gantt) Mouse over event on a plot band.
  6519. */
  6520. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  6521. }
  6522. /**
  6523. * (Gantt) Text labels for the plot bands
  6524. */
  6525. export interface ColorAxisCurrentDateIndicatorLabelOptions {
  6526. /**
  6527. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  6528. * or "right".
  6529. */
  6530. align?: AlignValue;
  6531. /**
  6532. * (Gantt) Format of the label. This options is passed as the fist argument
  6533. * to dateFormat function.
  6534. */
  6535. format?: string;
  6536. /**
  6537. * (Gantt) Callback JavaScript function to format the label. Useful
  6538. * properties like the value of plot line or the range of plot band (`from`
  6539. * & `to` properties) can be found in `this.options` object.
  6540. */
  6541. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  6542. /**
  6543. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  6544. * horizontal plot lines and 90 for vertical lines.
  6545. */
  6546. rotation?: number;
  6547. /**
  6548. * (Gantt) CSS styles for the text label.
  6549. *
  6550. * In styled mode, the labels are styled by the
  6551. * `.highcharts-plot-line-label` class.
  6552. */
  6553. style?: CSSObject;
  6554. /**
  6555. * (Gantt) The text itself. A subset of HTML is supported.
  6556. */
  6557. text?: string;
  6558. /**
  6559. * (Gantt) The text alignment for the label. While `align` determines where
  6560. * the texts anchor point is placed within the plot band, `textAlign`
  6561. * determines how the text is aligned against its anchor point. Possible
  6562. * values are "left", "center" and "right". Defaults to the same as the
  6563. * `align` option.
  6564. */
  6565. textAlign?: AlignValue;
  6566. /**
  6567. * (Gantt) Whether to use HTML to render the labels.
  6568. */
  6569. useHTML?: boolean;
  6570. /**
  6571. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  6572. * one of "top", "middle" or "bottom".
  6573. */
  6574. verticalAlign?: VerticalAlignValue;
  6575. /**
  6576. * (Gantt) Horizontal position relative the alignment. Default varies by
  6577. * orientation.
  6578. */
  6579. x?: number;
  6580. /**
  6581. * (Gantt) Vertical position of the text baseline relative to the alignment.
  6582. * Default varies by orientation.
  6583. */
  6584. y?: number;
  6585. }
  6586. /**
  6587. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for the
  6588. * choropleth map. If none given, the color axis is scalar and values are
  6589. * distributed as a gradient between the minimum and maximum colors.
  6590. */
  6591. export interface ColorAxisDataClassesOptions {
  6592. /**
  6593. * (Highcharts, Highstock, Highmaps) The color of each data class. If not
  6594. * set, the color is pulled from the global or chart-specific colors array.
  6595. * In styled mode, this option is ignored. Instead, use colors defined in
  6596. * CSS.
  6597. */
  6598. color?: (ColorString|GradientColorObject|PatternObject);
  6599. /**
  6600. * (Highcharts, Highstock, Highmaps) The start of the value range that the
  6601. * data class represents, relating to the point value.
  6602. *
  6603. * The range of each `dataClass` is closed in both ends, but can be
  6604. * overridden by the next `dataClass`.
  6605. */
  6606. from?: number;
  6607. /**
  6608. * (Highcharts, Highstock, Highmaps) The name of the data class as it
  6609. * appears in the legend. If no name is given, it is automatically created
  6610. * based on the `from` and `to` values. For full programmatic control,
  6611. * legend.labelFormatter can be used. In the formatter, `this.from` and
  6612. * `this.to` can be accessed.
  6613. */
  6614. name?: string;
  6615. /**
  6616. * (Highcharts, Highstock, Highmaps) The end of the value range that the
  6617. * data class represents, relating to the point value.
  6618. *
  6619. * The range of each `dataClass` is closed in both ends, but can be
  6620. * overridden by the next `dataClass`.
  6621. */
  6622. to?: number;
  6623. }
  6624. /**
  6625. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6626. */
  6627. export interface ColorAxisEventsOptions {
  6628. /**
  6629. * (Highcharts, Highstock, Highmaps) As opposed to the `setExtremes` event,
  6630. * this event fires after the final min and max values are computed and
  6631. * corrected for `minRange`.
  6632. *
  6633. * Fires when the minimum and maximum is set for the axis, either by calling
  6634. * the `.setExtremes()` method or by selecting an area in the chart. One
  6635. * parameter, `event`, is passed to the function, containing common event
  6636. * information.
  6637. *
  6638. * The new user set minimum and maximum values can be found by `event.min`
  6639. * and `event.max`. These reflect the axis minimum and maximum in axis
  6640. * values. The actual data extremes are found in `event.dataMin` and
  6641. * `event.dataMax`.
  6642. */
  6643. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  6644. /**
  6645. * (Highcharts, Highstock, Highmaps) Fires when the legend item belonging to
  6646. * the colorAxis is clicked. One parameter, `event`, is passed to the
  6647. * function.
  6648. */
  6649. legendItemClick?: Function;
  6650. /**
  6651. * (Highcharts, Highstock, Highmaps) Fires when the minimum and maximum is
  6652. * set for the axis, either by calling the `.setExtremes()` method or by
  6653. * selecting an area in the chart. One parameter, `event`, is passed to the
  6654. * function, containing common event information.
  6655. *
  6656. * The new user set minimum and maximum values can be found by `event.min`
  6657. * and `event.max`. These reflect the axis minimum and maximum in data
  6658. * values. When an axis is zoomed all the way out from the "Reset zoom"
  6659. * button, `event.min` and `event.max` are null, and the new extremes are
  6660. * set based on `this.dataMin` and `this.dataMax`.
  6661. */
  6662. setExtremes?: AxisSetExtremesEventCallbackFunction;
  6663. }
  6664. /**
  6665. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6666. */
  6667. export interface ColorAxisGridOptions {
  6668. /**
  6669. * (Gantt) Set border color for the label grid lines.
  6670. */
  6671. borderColor?: ColorString;
  6672. /**
  6673. * (Gantt) Set border width of the label grid lines.
  6674. */
  6675. borderWidth?: number;
  6676. /**
  6677. * (Gantt) Set cell height for grid axis labels. By default this is
  6678. * calculated from font size. This option only applies to horizontal axes.
  6679. */
  6680. cellHeight?: number;
  6681. /**
  6682. * (Gantt) Set specific options for each column (or row for horizontal axes)
  6683. * in the grid. Each extra column/row is its own axis, and the axis options
  6684. * can be set here.
  6685. */
  6686. columns?: Array<XAxisOptions>;
  6687. /**
  6688. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  6689. * charts.
  6690. */
  6691. enabled?: boolean;
  6692. }
  6693. /**
  6694. * (Highcharts, Highstock, Highmaps) The axis labels show the number for each
  6695. * tick.
  6696. *
  6697. * For more live examples on label options, see xAxis.labels in the Highcharts
  6698. * API.
  6699. */
  6700. export interface ColorAxisLabelsOptions {
  6701. /**
  6702. * (Highcharts, Highstock, Highmaps) What part of the string the given
  6703. * position is anchored to. If `left`, the left side of the string is at the
  6704. * axis position. Can be one of `"left"`, `"center"` or `"right"`. Defaults
  6705. * to an intelligent guess based on which side of the chart the axis is on
  6706. * and the rotation of the label.
  6707. */
  6708. align?: AlignValue;
  6709. /**
  6710. * (Highcharts, Highstock, Highmaps) Whether to allow the axis labels to
  6711. * overlap. When false, overlapping labels are hidden.
  6712. */
  6713. allowOverlap?: boolean;
  6714. /**
  6715. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  6716. * of label rotation to prevent overlapping labels. If there is enough
  6717. * space, labels are not rotated. As the chart gets narrower, it will start
  6718. * rotating the labels -45 degrees, then remove every second label and try
  6719. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  6720. * rotation, which will cause the labels to word-wrap if possible. Defaults
  6721. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  6722. */
  6723. autoRotation?: Array<number>;
  6724. /**
  6725. * (Highcharts, Gantt) When each category width is more than this many
  6726. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  6727. * with word wrap. A lower limit makes sense when the label contains
  6728. * multiple short words that don't extend the available horizontal space for
  6729. * each label.
  6730. */
  6731. autoRotationLimit?: number;
  6732. /**
  6733. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  6734. * the perimeter of the plot area.
  6735. */
  6736. distance?: number;
  6737. /**
  6738. * (Highcharts, Highstock, Highmaps) Enable or disable the axis labels.
  6739. */
  6740. enabled?: boolean;
  6741. /**
  6742. * (Highcharts, Highstock, Highmaps) A format string for the axis label. The
  6743. * context is available as format string variables. For example, you can use
  6744. * `{text}` to insert the default formatted text. The recommended way of
  6745. * adding units for the label is using `text`, for example `{text} km`.
  6746. *
  6747. * To add custom numeric or datetime formatting, use `{value}` with
  6748. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  6749. *
  6750. * See format string for more examples of formatting.
  6751. *
  6752. * The default value is not specified due to the dynamic nature of the
  6753. * default implementation.
  6754. */
  6755. format?: string;
  6756. /**
  6757. * (Highcharts, Highstock, Highmaps) Callback JavaScript function to format
  6758. * the label. The value is given by `this.value`. Additional properties for
  6759. * `this` are `axis`, `chart`, `isFirst`, `isLast` and `text` which holds
  6760. * the value of the default formatter.
  6761. *
  6762. * Defaults to a built in function returning a formatted string depending on
  6763. * whether the axis is `category`, `datetime`, `numeric` or other.
  6764. */
  6765. formatter?: AxisLabelsFormatterCallbackFunction;
  6766. /**
  6767. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  6768. * axis.
  6769. */
  6770. indentation?: number;
  6771. /**
  6772. * (Highcharts, Highstock, Highmaps) How to handle overflowing labels on
  6773. * horizontal color axis. If set to `"allow"`, it will not be aligned at
  6774. * all. By default it `"justify"` labels inside the chart area. If there is
  6775. * room to move it, it will be aligned to the edge, else it will be removed.
  6776. */
  6777. overflow?: OptionsOverflowValue;
  6778. /**
  6779. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  6780. * space between them.
  6781. */
  6782. padding?: number;
  6783. /**
  6784. * (Highcharts) Defines how the labels are be repositioned according to the
  6785. * 3D chart orientation.
  6786. *
  6787. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  6788. * marks, despite the chart orientation. This is the backwards compatible
  6789. * behavior, and causes skewing of X and Z axes.
  6790. *
  6791. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  6792. * but hard to read if the text isn't forward-facing.
  6793. *
  6794. * - `'flap'`: Rotated text along the axis to compensate for the chart
  6795. * orientation. This tries to maintain text as legible as possible on all
  6796. * orientations.
  6797. *
  6798. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  6799. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  6800. * skewing the labels (X and Y scaling are still present).
  6801. */
  6802. position3d?: OptionsPosition3dValue;
  6803. /**
  6804. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  6805. * space is reserved for the labels in these cases:
  6806. *
  6807. * * On all horizontal axes.
  6808. *
  6809. * * On vertical axes if `label.align` is `right` on a left-side axis or
  6810. * `left` on a right-side axis.
  6811. *
  6812. * * On vertical axes if `label.align` is `center`.
  6813. *
  6814. * This can be turned off when for example the labels are rendered inside
  6815. * the plot area instead of outside.
  6816. */
  6817. reserveSpace?: boolean;
  6818. /**
  6819. * (Highcharts, Highstock, Highmaps) Rotation of the labels in degrees. When
  6820. * `undefined`, the `autoRotation` option takes precedence.
  6821. */
  6822. rotation?: number;
  6823. /**
  6824. * (Highcharts) If enabled, the axis labels will skewed to follow the
  6825. * perspective.
  6826. *
  6827. * This will fix overlapping labels and titles, but texts become less
  6828. * legible due to the distortion.
  6829. *
  6830. * The final appearance depends heavily on `labels.position3d`.
  6831. */
  6832. skew3d?: boolean;
  6833. /**
  6834. * (Highcharts, Highstock, Highmaps) Horizontal axes only. The number of
  6835. * lines to spread the labels over to make room or tighter labels. 0
  6836. * disables staggering.
  6837. */
  6838. staggerLines?: object;
  6839. /**
  6840. * (Highcharts, Highstock, Highmaps) To show only every _n_'th label on the
  6841. * axis, set the step to _n_. Setting the step to 2 shows every other label.
  6842. *
  6843. * By default, when 0, the step is calculated automatically to avoid
  6844. * overlap. To prevent this, set it to 1\. This usually only happens on a
  6845. * category axis, and is often a sign that you have chosen the wrong axis
  6846. * type.
  6847. *
  6848. * Read more at Axis docs => What axis should I use?
  6849. */
  6850. step?: number;
  6851. /**
  6852. * (Highcharts, Highstock, Highmaps) CSS styles for the label. Use
  6853. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  6854. * `textOverflow: 'none'` to prevent ellipsis (dots).
  6855. *
  6856. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  6857. * class.
  6858. */
  6859. style?: CSSObject;
  6860. /**
  6861. * (Highcharts, Highstock, Highmaps) Whether to use HTML to render the
  6862. * labels.
  6863. */
  6864. useHTML?: boolean;
  6865. /**
  6866. * (Highcharts, Highstock, Highmaps) The x position offset of all labels
  6867. * relative to the tick positions on the axis.
  6868. */
  6869. x?: number;
  6870. /**
  6871. * (Highcharts, Highstock, Highmaps) The y position offset of all labels
  6872. * relative to the tick positions on the axis. The default makes it adapt to
  6873. * the font size of the bottom axis.
  6874. */
  6875. y?: number;
  6876. /**
  6877. * (Highcharts, Highstock, Highmaps) The Z index for the axis labels.
  6878. */
  6879. zIndex?: number;
  6880. }
  6881. /**
  6882. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  6883. * color axis will appear as a gradient or as separate items inside the legend,
  6884. * depending on whether the axis is scalar or based on data classes.
  6885. *
  6886. * For supported color formats, see the docs article about colors.
  6887. *
  6888. * A scalar color axis is represented by a gradient. The colors either range
  6889. * between the minColor and the maxColor, or for more fine grained control the
  6890. * colors can be defined in stops. Often times, the color axis needs to be
  6891. * adjusted to get the right color spread for the data. In addition to stops,
  6892. * consider using a logarithmic axis type, or setting min and max to avoid the
  6893. * colors being determined by outliers.
  6894. *
  6895. * When dataClasses are used, the ranges are subdivided into separate classes
  6896. * like categories based on their values. This can be used for ranges between
  6897. * two values, but also for a true category. However, when your data is
  6898. * categorized, it may be as convenient to add each category to a separate
  6899. * series.
  6900. *
  6901. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  6902. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series types.
  6903. *
  6904. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  6905. *
  6906. * See the Axis object for programmatic access to the axis.
  6907. */
  6908. export interface ColorAxisOptions {
  6909. /**
  6910. * (Highcharts, Highstock, Highmaps) Accessibility options for an axis.
  6911. * Requires the accessibility module.
  6912. */
  6913. accessibility?: AxisAccessibilityOptionsObject;
  6914. /**
  6915. * (Highcharts, Highstock, Highmaps) Whether to allow decimals on the color
  6916. * axis.
  6917. */
  6918. allowDecimals?: boolean;
  6919. /**
  6920. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  6921. * degrees, where 0 is up and 90 is right. The angle determines the position
  6922. * of the axis line and the labels, though the coordinate system is
  6923. * unaffected. Since v8.0.0 this option is also applicable for X axis
  6924. * (inverted polar).
  6925. */
  6926. angle?: number;
  6927. /**
  6928. * (Highcharts, Highstock, Gantt) The highest allowed value for
  6929. * automatically computed axis extremes.
  6930. */
  6931. ceiling?: number;
  6932. /**
  6933. * (Highcharts, Highstock, Highmaps) A class name that opens for styling the
  6934. * axis by CSS, especially in Highcharts styled mode. The class name is
  6935. * applied to group elements for the grid, axis elements and labels.
  6936. */
  6937. className?: string;
  6938. /**
  6939. * (Gantt) Show an indicator on the axis for the current date and time. Can
  6940. * be a boolean or a configuration object similar to xAxis.plotLines.
  6941. */
  6942. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  6943. /**
  6944. * (Highcharts, Highstock, Highmaps) Determines how to set each data class'
  6945. * color if no individual color is set. The default value, `tween`, computes
  6946. * intermediate colors between `minColor` and `maxColor`. The other possible
  6947. * value, `category`, pulls colors from the global or chart specific colors
  6948. * array.
  6949. */
  6950. dataClassColor?: OptionsDataClassColorValue;
  6951. /**
  6952. * (Highcharts, Highstock, Highmaps) An array of data classes or ranges for
  6953. * the choropleth map. If none given, the color axis is scalar and values
  6954. * are distributed as a gradient between the minimum and maximum colors.
  6955. */
  6956. dataClasses?: Array<ColorAxisDataClassesOptions>;
  6957. /**
  6958. * (Highcharts, Highstock, Highmaps) Whether to force the axis to end on a
  6959. * tick. Use this option with the maxPadding option to control the axis end.
  6960. */
  6961. endOnTick?: boolean;
  6962. /**
  6963. * (Highcharts, Highstock, Highmaps) Event handlers for the axis.
  6964. */
  6965. events?: ColorAxisEventsOptions;
  6966. /**
  6967. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  6968. * computed axis extremes.
  6969. */
  6970. floor?: number;
  6971. /**
  6972. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  6973. */
  6974. grid?: ColorAxisGridOptions;
  6975. /**
  6976. * (Highcharts, Highstock, Highmaps) Color of the grid lines extending from
  6977. * the axis across the gradient.
  6978. */
  6979. gridLineColor?: (ColorString|GradientColorObject|PatternObject);
  6980. /**
  6981. * (Highcharts, Highstock, Highmaps) The dash or dot style of the grid
  6982. * lines. For possible values, see this demonstration.
  6983. */
  6984. gridLineDashStyle?: DashStyleValue;
  6985. /**
  6986. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  6987. * polygon with straight lines between categories, or as circles. Can be
  6988. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  6989. * for X axis (inverted polar).
  6990. */
  6991. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  6992. /**
  6993. * (Highcharts, Highstock, Highmaps) The width of the grid lines extending
  6994. * from the axis across the gradient of a scalar color axis.
  6995. */
  6996. gridLineWidth?: number;
  6997. /**
  6998. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  6999. */
  7000. gridZIndex?: number;
  7001. /**
  7002. * (Highcharts, Highstock, Highmaps) An id for the axis. This can be used
  7003. * after render time to get a pointer to the axis object through
  7004. * `chart.get()`.
  7005. */
  7006. id?: string;
  7007. /**
  7008. * (Highcharts, Highstock, Highmaps) The axis labels show the number for
  7009. * each tick.
  7010. *
  7011. * For more live examples on label options, see xAxis.labels in the
  7012. * Highcharts API.
  7013. */
  7014. labels?: ColorAxisLabelsOptions;
  7015. /**
  7016. * (Highcharts, Highstock, Highmaps) The layout of the color axis. Can be
  7017. * `'horizontal'` or `'vertical'`. If none given, the color axis has the
  7018. * same layout as the legend.
  7019. */
  7020. layout?: (string|undefined);
  7021. /**
  7022. * (Highcharts, Highstock, Highmaps) The color of the line marking the axis
  7023. * itself.
  7024. *
  7025. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  7026. * or `.highcharts-xaxis-line` class.
  7027. */
  7028. lineColor?: ColorType;
  7029. /**
  7030. * (Highcharts, Highstock, Highmaps) If there are multiple axes on the same
  7031. * side of the chart, the pixel margin between the axes. Defaults to 0 on
  7032. * vertical axes, 15 on horizontal axes.
  7033. */
  7034. margin?: number;
  7035. /**
  7036. * (Highcharts, Highstock, Highmaps) The triangular marker on a scalar color
  7037. * axis that points to the value of the hovered area. To disable the marker,
  7038. * set `marker: null`.
  7039. */
  7040. marker?: PointMarkerOptionsObject;
  7041. /**
  7042. * (Highcharts, Highstock, Highmaps) The maximum value of the axis in terms
  7043. * of map point values. If `null`, the max value is automatically
  7044. * calculated. If the `endOnTick` option is true, the max value might be
  7045. * rounded up.
  7046. */
  7047. max?: number;
  7048. /**
  7049. * (Highcharts, Highstock, Highmaps) The color to represent the maximum of
  7050. * the color axis. Unless dataClasses or stops are set, the gradient ends at
  7051. * this value.
  7052. *
  7053. * If dataClasses are set, the color is based on minColor and maxColor
  7054. * unless a color is set for each data class, or the dataClassColor is set.
  7055. */
  7056. maxColor?: (ColorString|GradientColorObject|PatternObject);
  7057. /**
  7058. * (Highcharts, Highstock, Highmaps) Padding of the max value relative to
  7059. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  7060. * longer.
  7061. */
  7062. maxPadding?: number;
  7063. /**
  7064. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  7065. * handles. Opposite of xAxis.minRange.
  7066. */
  7067. maxRange?: number;
  7068. /**
  7069. * (Highcharts, Highstock, Highmaps) The minimum value of the axis in terms
  7070. * of map point values. If `null`, the min value is automatically
  7071. * calculated. If the `startOnTick` option is true, the min value might be
  7072. * rounded down.
  7073. */
  7074. min?: number;
  7075. /**
  7076. * (Highcharts, Highstock, Highmaps) The color to represent the minimum of
  7077. * the color axis. Unless dataClasses or stops are set, the gradient starts
  7078. * at this value.
  7079. *
  7080. * If dataClasses are set, the color is based on minColor and maxColor
  7081. * unless a color is set for each data class, or the dataClassColor is set.
  7082. */
  7083. minColor?: (ColorString|GradientColorObject|PatternObject);
  7084. /**
  7085. * (Highcharts, Highstock, Highmaps) Color of the minor, secondary grid
  7086. * lines.
  7087. *
  7088. * In styled mode, the stroke width is given in the
  7089. * `.highcharts-minor-grid-line` class.
  7090. */
  7091. minorGridLineColor?: ColorType;
  7092. /**
  7093. * (Highcharts, Highstock, Highmaps) The dash or dot style of the minor grid
  7094. * lines. For possible values, see this demonstration.
  7095. */
  7096. minorGridLineDashStyle?: DashStyleValue;
  7097. /**
  7098. * (Highcharts, Highstock, Highmaps) Width of the minor, secondary grid
  7099. * lines.
  7100. *
  7101. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  7102. * class.
  7103. */
  7104. minorGridLineWidth?: number;
  7105. /**
  7106. * (Highcharts, Highstock, Highmaps) Color for the minor tick marks.
  7107. */
  7108. minorTickColor?: ColorType;
  7109. /**
  7110. * (Highcharts, Highstock, Highmaps) Specific tick interval in axis units
  7111. * for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  7112. * interval is calculated as a fifth of the tickInterval. If `null` or
  7113. * `undefined`, minor ticks are not shown.
  7114. *
  7115. * On logarithmic axes, the unit is the power of the value. For example,
  7116. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  7117. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  7118. * and 10, 10 and 100 etc.
  7119. *
  7120. * If user settings dictate minor ticks to become too dense, they don't make
  7121. * sense, and will be ignored to prevent performance problems.
  7122. */
  7123. minorTickInterval?: (number|string|null);
  7124. /**
  7125. * (Highcharts, Highstock, Highmaps) The pixel length of the minor tick
  7126. * marks.
  7127. */
  7128. minorTickLength?: number;
  7129. /**
  7130. * (Highcharts, Highstock, Highmaps) The position of the minor tick marks
  7131. * relative to the axis line. Can be one of `inside` and `outside`.
  7132. */
  7133. minorTickPosition?: OptionsMinorTickPositionValue;
  7134. /**
  7135. * (Highcharts, Highstock, Highmaps) Enable or disable minor ticks. Unless
  7136. * minorTickInterval is set, the tick interval is calculated as a fifth of
  7137. * the `tickInterval`.
  7138. *
  7139. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  7140. * attempting to enter approximately 5 minor ticks between each major tick.
  7141. *
  7142. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  7143. * `minorTickInterval` to `"auto"`.
  7144. */
  7145. minorTicks?: boolean;
  7146. /**
  7147. * (Highcharts, Highstock, Highmaps) The pixel width of the minor tick mark.
  7148. */
  7149. minorTickWidth?: number;
  7150. /**
  7151. * (Highcharts, Highstock, Highmaps) Padding of the min value relative to
  7152. * the length of the axis. A padding of 0.05 will make a 100px axis 5px
  7153. * longer.
  7154. */
  7155. minPadding?: number;
  7156. /**
  7157. * (Highstock) In an ordinal axis, the points are equally spaced in the
  7158. * chart regardless of the actual time or x distance between them. This
  7159. * means that missing data periods (e.g. nights or weekends for a stock
  7160. * chart) will not take up space in the chart. Having `ordinal: false` will
  7161. * show any gaps created by the `gapSize` setting proportionate to their
  7162. * duration.
  7163. *
  7164. * In stock charts the X axis is ordinal by default, unless the boost module
  7165. * is used and at least one of the series' data length exceeds the
  7166. * boostThreshold.
  7167. *
  7168. * For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
  7169. * overscroll instead.
  7170. */
  7171. ordinal?: boolean;
  7172. /**
  7173. * (Highstock) Additional range on the right side of the xAxis. Works
  7174. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  7175. * set for both main `xAxis` and the navigator's `xAxis`.
  7176. */
  7177. overscroll?: number;
  7178. /**
  7179. * (Highcharts, Highstock, Highmaps) Whether to pan axis. If `chart.panning`
  7180. * is enabled, the option allows to disable panning on an individual axis.
  7181. */
  7182. panningEnabled?: boolean;
  7183. /**
  7184. * (Highstock) The zoomed range to display when only defining one or none of
  7185. * `min` or `max`. For example, to show the latest month, a range of one
  7186. * month can be set.
  7187. */
  7188. range?: number;
  7189. /**
  7190. * (Highcharts, Highstock, Highmaps) Whether to reverse the axis so that the
  7191. * highest number is closest to the origin. Defaults to `false` in a
  7192. * horizontal legend and `true` in a vertical legend, where the smallest
  7193. * value starts on top.
  7194. */
  7195. reversed?: boolean;
  7196. /**
  7197. * (Highstock) An optional scrollbar to display on the X axis in response to
  7198. * limiting the minimum and maximum of the axis values.
  7199. *
  7200. * In styled mode, all the presentational options for the scrollbar are
  7201. * replaced by the classes `.highcharts-scrollbar-thumb`,
  7202. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  7203. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  7204. */
  7205. scrollbar?: ColorAxisScrollbarOptions;
  7206. /**
  7207. * (Highcharts, Highstock, Highmaps) Whether to show the first tick label.
  7208. */
  7209. showFirstLabel?: boolean;
  7210. /**
  7211. * (Highcharts, Highstock, Highmaps) Whether to display the colorAxis in the
  7212. * legend.
  7213. */
  7214. showInLegend?: boolean;
  7215. /**
  7216. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  7217. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  7218. */
  7219. showLastLabel?: boolean;
  7220. /**
  7221. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  7222. * data maximum is less than this, the axis will stay at this maximum, but
  7223. * if the series data maximum is higher, the axis will flex to show all
  7224. * data.
  7225. */
  7226. softMax?: number;
  7227. /**
  7228. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  7229. * data minimum is greater than this, the axis will stay at this minimum,
  7230. * but if the series data minimum is lower, the axis will flex to show all
  7231. * data.
  7232. */
  7233. softMin?: number;
  7234. /**
  7235. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  7236. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  7237. */
  7238. startOfWeek?: number;
  7239. /**
  7240. * (Highcharts, Highstock, Highmaps) Whether to force the axis to start on a
  7241. * tick. Use this option with the `maxPadding` option to control the axis
  7242. * start.
  7243. */
  7244. startOnTick?: boolean;
  7245. /**
  7246. * (Highcharts, Highstock, Highmaps) Color stops for the gradient of a
  7247. * scalar color axis. Use this in cases where a linear gradient between a
  7248. * `minColor` and `maxColor` is not sufficient. The stops is an array of
  7249. * tuples, where the first item is a float between 0 and 1 assigning the
  7250. * relative position in the gradient, and the second item is the color.
  7251. */
  7252. stops?: Array<[number, ColorString]>;
  7253. /**
  7254. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  7255. * This opens up for aligning the ticks of multiple charts or panes within a
  7256. * chart. This option overrides the `tickPixelInterval` option.
  7257. *
  7258. * This option only has an effect on linear axes. Datetime, logarithmic or
  7259. * category axes are not affected.
  7260. */
  7261. tickAmount?: number;
  7262. /**
  7263. * (Highcharts, Highstock, Highmaps) Color for the main tick marks.
  7264. *
  7265. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  7266. */
  7267. tickColor?: ColorType;
  7268. /**
  7269. * (Highcharts, Highstock, Highmaps) The interval of the tick marks in axis
  7270. * units. When `null`, the tick interval is computed to approximately follow
  7271. * the `tickPixelInterval`.
  7272. */
  7273. tickInterval?: number;
  7274. /**
  7275. * (Highcharts, Highstock, Highmaps) The pixel length of the main tick marks
  7276. * on the color axis.
  7277. */
  7278. tickLength?: number;
  7279. /**
  7280. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  7281. * placed in the center of the category, if `between` the tick mark is
  7282. * placed between categories. The default is `between` if the `tickInterval`
  7283. * is 1, else `on`.
  7284. */
  7285. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  7286. /**
  7287. * (Highcharts, Highstock, Highmaps) If tickInterval is `null` this option
  7288. * sets the approximate pixel interval of the tick marks.
  7289. */
  7290. tickPixelInterval?: number;
  7291. /**
  7292. * (Highcharts, Highstock, Highmaps) The position of the major tick marks
  7293. * relative to the axis line. Can be one of `inside` and `outside`.
  7294. */
  7295. tickPosition?: OptionsTickPositionValue;
  7296. /**
  7297. * (Highcharts, Highstock, Highmaps) A callback function returning array
  7298. * defining where the ticks are laid out on the axis. This overrides the
  7299. * default behaviour of tickPixelInterval and tickInterval. The automatic
  7300. * tick positions are accessible through `this.tickPositions` and can be
  7301. * modified by the callback.
  7302. */
  7303. tickPositioner?: AxisTickPositionerCallbackFunction;
  7304. /**
  7305. * (Highcharts, Highstock, Highmaps) An array defining where the ticks are
  7306. * laid out on the axis. This overrides the default behaviour of
  7307. * tickPixelInterval and tickInterval.
  7308. */
  7309. tickPositions?: Array<number>;
  7310. /**
  7311. * (Highcharts, Highstock, Highmaps) The pixel width of the major tick
  7312. * marks. Defaults to 0 on category axes, otherwise 1.
  7313. *
  7314. * In styled mode, the stroke width is given in the `.highcharts-tick`
  7315. * class, but in order for the element to be generated on category axes, the
  7316. * option must be explicitly set to 1.
  7317. */
  7318. tickWidth?: (number|undefined);
  7319. /**
  7320. * (Highcharts, Highstock, Highmaps) The type of interpolation to use for
  7321. * the color axis. Can be `linear` or `logarithmic`.
  7322. */
  7323. type?: ColorAxisTypeValue;
  7324. /**
  7325. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  7326. * `uniqueNames` is true, points are placed on the X axis according to their
  7327. * names. If the same point name is repeated in the same or another series,
  7328. * the point is placed on the same X position as other points of the same
  7329. * name. When `uniqueNames` is false, the points are laid out in increasing
  7330. * X positions regardless of their names, and the X axis category will take
  7331. * the name of the last point in each position.
  7332. */
  7333. uniqueNames?: boolean;
  7334. /**
  7335. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  7336. * what time intervals the ticks are allowed to fall on. Each array item is
  7337. * an array where the first value is the time unit and the second value
  7338. * another array of allowed multiples.
  7339. *
  7340. * Defaults to: (see online documentation for example)
  7341. */
  7342. units?: Array<[string, (Array<number>|null)]>;
  7343. /**
  7344. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  7345. * ticks and labels, should be visible.
  7346. */
  7347. visible?: boolean;
  7348. /**
  7349. * (Highcharts, Highstock, Highmaps) The Z index for the axis group.
  7350. */
  7351. zIndex?: number;
  7352. }
  7353. /**
  7354. * (Highstock) An optional scrollbar to display on the X axis in response to
  7355. * limiting the minimum and maximum of the axis values.
  7356. *
  7357. * In styled mode, all the presentational options for the scrollbar are replaced
  7358. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  7359. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  7360. * `.highcharts-scrollbar-track`.
  7361. */
  7362. export interface ColorAxisScrollbarOptions {
  7363. /**
  7364. * (Highstock) The background color of the scrollbar itself.
  7365. */
  7366. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7367. /**
  7368. * (Highstock) The color of the scrollbar's border.
  7369. */
  7370. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7371. /**
  7372. * (Highstock) The border rounding radius of the bar.
  7373. */
  7374. barBorderRadius?: number;
  7375. /**
  7376. * (Highstock) The width of the bar's border.
  7377. */
  7378. barBorderWidth?: number;
  7379. /**
  7380. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  7381. */
  7382. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  7383. /**
  7384. * (Highstock) The color of scrollbar buttons.
  7385. */
  7386. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7387. /**
  7388. * (Highstock) The color of the border of the scrollbar buttons.
  7389. */
  7390. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7391. /**
  7392. * (Highstock) The corner radius of the scrollbar buttons.
  7393. */
  7394. buttonBorderRadius?: number;
  7395. /**
  7396. * (Highstock) The border width of the scrollbar buttons.
  7397. */
  7398. buttonBorderWidth?: number;
  7399. /**
  7400. * (Highstock) Enable or disable the scrollbar.
  7401. */
  7402. enabled?: boolean;
  7403. /**
  7404. * (Highstock) The height of the scrollbar. The height also applies to the
  7405. * width of the scroll arrows so that they are always squares. Defaults to
  7406. * 20 for touch devices and 14 for mouse devices.
  7407. */
  7408. height?: number;
  7409. /**
  7410. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  7411. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  7412. * and `false` for legacy IE browsers as well as mobile devices.
  7413. */
  7414. liveRedraw?: boolean;
  7415. /**
  7416. * (Highstock) The margin between the scrollbar and its axis when the
  7417. * scrollbar is applied directly to an axis.
  7418. */
  7419. margin?: number;
  7420. /**
  7421. * (Highstock) The minimum width of the scrollbar.
  7422. */
  7423. minWidth?: number;
  7424. /**
  7425. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  7426. */
  7427. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  7428. /**
  7429. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  7430. * content is zoomed out to it full extent.
  7431. */
  7432. showFull?: boolean;
  7433. /**
  7434. * (Highstock) The color of the track background.
  7435. */
  7436. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  7437. /**
  7438. * (Highstock) The color of the border of the scrollbar track.
  7439. */
  7440. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  7441. /**
  7442. * (Highstock) The corner radius of the border of the scrollbar track.
  7443. */
  7444. trackBorderRadius?: number;
  7445. /**
  7446. * (Highstock) The width of the border of the scrollbar track.
  7447. */
  7448. trackBorderWidth?: number;
  7449. /**
  7450. * (Highstock) The z index of the scrollbar group.
  7451. */
  7452. zIndex?: number;
  7453. }
  7454. export interface ConnectorsAnimationOptionsObject {
  7455. reversed?: boolean;
  7456. }
  7457. /**
  7458. * (Gantt) Marker options specific to the end markers for this chart's
  7459. * Pathfinder connectors. Overrides the generic marker options.
  7460. */
  7461. export interface ConnectorsEndMarkerOptions {
  7462. /**
  7463. * (Gantt) Horizontal alignment of the markers relative to the points.
  7464. */
  7465. align?: (string|AlignValue);
  7466. /**
  7467. * (Gantt) Set the color of the connector markers. By default this is the
  7468. * same as the connector color.
  7469. */
  7470. color?: (ColorString|GradientColorObject|PatternObject);
  7471. /**
  7472. * (Gantt) Enable markers for the connectors.
  7473. */
  7474. enabled?: boolean;
  7475. /**
  7476. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7477. * inferred from the marker radius.
  7478. */
  7479. height?: number;
  7480. /**
  7481. * (Gantt) Whether or not to draw the markers inside the points.
  7482. */
  7483. inside?: boolean;
  7484. /**
  7485. * (Gantt) Set the line/border color of the connector markers. By default
  7486. * this is the same as the marker color.
  7487. */
  7488. lineColor?: ColorString;
  7489. /**
  7490. * (Gantt) Set the line/border width of the pathfinder markers.
  7491. */
  7492. lineWidth?: number;
  7493. /**
  7494. * (Gantt) Set the radius of the connector markers. The default is
  7495. * automatically computed based on the algorithmMargin setting.
  7496. *
  7497. * Setting marker.width and marker.height will override this setting.
  7498. */
  7499. radius?: number;
  7500. /**
  7501. * (Gantt) Set the symbol of the connector end markers.
  7502. */
  7503. symbol?: string;
  7504. /**
  7505. * (Gantt) Vertical alignment of the markers relative to the points.
  7506. */
  7507. verticalAlign?: VerticalAlignValue;
  7508. /**
  7509. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7510. * inferred from the marker radius.
  7511. */
  7512. width?: number;
  7513. }
  7514. /**
  7515. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that this
  7516. * option is overridden by the `startMarker` and `endMarker` options.
  7517. */
  7518. export interface ConnectorsMarkerOptions {
  7519. /**
  7520. * (Gantt) Horizontal alignment of the markers relative to the points.
  7521. */
  7522. align?: AlignValue;
  7523. /**
  7524. * (Gantt) Set the color of the connector markers. By default this is the
  7525. * same as the connector color.
  7526. */
  7527. color?: (ColorString|GradientColorObject|PatternObject);
  7528. /**
  7529. * (Gantt) Enable markers for the connectors.
  7530. */
  7531. enabled?: boolean;
  7532. /**
  7533. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7534. * inferred from the marker radius.
  7535. */
  7536. height?: number;
  7537. /**
  7538. * (Gantt) Whether or not to draw the markers inside the points.
  7539. */
  7540. inside?: boolean;
  7541. /**
  7542. * (Gantt) Set the line/border color of the connector markers. By default
  7543. * this is the same as the marker color.
  7544. */
  7545. lineColor?: ColorString;
  7546. /**
  7547. * (Gantt) Set the line/border width of the pathfinder markers.
  7548. */
  7549. lineWidth?: number;
  7550. /**
  7551. * (Gantt) Set the radius of the connector markers. The default is
  7552. * automatically computed based on the algorithmMargin setting.
  7553. *
  7554. * Setting marker.width and marker.height will override this setting.
  7555. */
  7556. radius?: number;
  7557. /**
  7558. * (Gantt) Vertical alignment of the markers relative to the points.
  7559. */
  7560. verticalAlign?: VerticalAlignValue;
  7561. /**
  7562. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7563. * inferred from the marker radius.
  7564. */
  7565. width?: number;
  7566. }
  7567. /**
  7568. * (Gantt) The Pathfinder module allows you to define connections between any
  7569. * two points, represented as lines - optionally with markers for the start
  7570. * and/or end points. Multiple algorithms are available for calculating how the
  7571. * connecting lines are drawn.
  7572. *
  7573. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  7574. * charts, the connectors are used to draw dependencies between tasks.
  7575. */
  7576. export interface ConnectorsOptions {
  7577. /**
  7578. * (Gantt) Set the default pathfinder margin to use, in pixels. Some
  7579. * Pathfinder algorithms attempt to avoid obstacles, such as other points in
  7580. * the chart. These algorithms use this margin to determine how close lines
  7581. * can be to an obstacle. The default is to compute this automatically from
  7582. * the size of the obstacles in the chart.
  7583. *
  7584. * To draw connecting lines close to existing points, set this to a low
  7585. * number. For more space around existing points, set this number higher.
  7586. */
  7587. algorithmMargin?: number;
  7588. /**
  7589. * (Gantt) Set the default dash style for this chart's connecting lines.
  7590. */
  7591. dashStyle?: string;
  7592. /**
  7593. * (Gantt) Enable connectors for this chart. Requires Highcharts Gantt.
  7594. */
  7595. enabled?: boolean;
  7596. /**
  7597. * (Gantt) Marker options specific to the end markers for this chart's
  7598. * Pathfinder connectors. Overrides the generic marker options.
  7599. */
  7600. endMarker?: ConnectorsEndMarkerOptions;
  7601. /**
  7602. * (Gantt) Set the default color for this chart's Pathfinder connecting
  7603. * lines. Defaults to the color of the point being connected.
  7604. */
  7605. lineColor?: ColorString;
  7606. /**
  7607. * (Gantt) Set the default pixel width for this chart's Pathfinder
  7608. * connecting lines.
  7609. */
  7610. lineWidth?: number;
  7611. /**
  7612. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  7613. * this option is overridden by the `startMarker` and `endMarker` options.
  7614. */
  7615. marker?: ConnectorsMarkerOptions;
  7616. /**
  7617. * (Gantt) Marker options specific to the start markers for this chart's
  7618. * Pathfinder connectors. Overrides the generic marker options.
  7619. */
  7620. startMarker?: ConnectorsStartMarkerOptions;
  7621. /**
  7622. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  7623. * possible to define your own algorithms by adding them to the
  7624. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  7625. * been created.
  7626. *
  7627. * The default algorithms are as follows:
  7628. *
  7629. * `straight`: Draws a straight line between the connecting points. Does not
  7630. * avoid other points when drawing.
  7631. *
  7632. * `simpleConnect`: Finds a path between the points using right angles only.
  7633. * Takes only starting/ending points into account, and will not avoid other
  7634. * points.
  7635. *
  7636. * `fastAvoid`: Finds a path between the points using right angles only.
  7637. * Will attempt to avoid other points, but its focus is performance over
  7638. * accuracy. Works well with less dense datasets.
  7639. *
  7640. * Default value: `straight` is used as default for most series types, while
  7641. * `simpleConnect` is used as default for Gantt series, to show dependencies
  7642. * between points.
  7643. */
  7644. type?: PathfinderTypeValue;
  7645. }
  7646. /**
  7647. * (Gantt) Marker options specific to the start markers for this chart's
  7648. * Pathfinder connectors. Overrides the generic marker options.
  7649. */
  7650. export interface ConnectorsStartMarkerOptions {
  7651. /**
  7652. * (Gantt) Horizontal alignment of the markers relative to the points.
  7653. */
  7654. align?: (string|AlignValue);
  7655. /**
  7656. * (Gantt) Set the color of the connector markers. By default this is the
  7657. * same as the connector color.
  7658. */
  7659. color?: (ColorString|GradientColorObject|PatternObject);
  7660. /**
  7661. * (Gantt) Enable markers for the connectors.
  7662. */
  7663. enabled?: boolean;
  7664. fill?: string;
  7665. /**
  7666. * (Gantt) Set the height of the connector markers. If not supplied, this is
  7667. * inferred from the marker radius.
  7668. */
  7669. height?: number;
  7670. /**
  7671. * (Gantt) Whether or not to draw the markers inside the points.
  7672. */
  7673. inside?: boolean;
  7674. /**
  7675. * (Gantt) Set the line/border color of the connector markers. By default
  7676. * this is the same as the marker color.
  7677. */
  7678. lineColor?: ColorString;
  7679. /**
  7680. * (Gantt) Set the line/border width of the pathfinder markers.
  7681. */
  7682. lineWidth?: number;
  7683. /**
  7684. * (Gantt) Set the radius of the connector markers. The default is
  7685. * automatically computed based on the algorithmMargin setting.
  7686. *
  7687. * Setting marker.width and marker.height will override this setting.
  7688. */
  7689. radius?: number;
  7690. /**
  7691. * (Gantt) Set the symbol of the connector start markers.
  7692. */
  7693. symbol?: string;
  7694. /**
  7695. * (Gantt) Vertical alignment of the markers relative to the points.
  7696. */
  7697. verticalAlign?: VerticalAlignValue;
  7698. /**
  7699. * (Gantt) Set the width of the connector markers. If not supplied, this is
  7700. * inferred from the marker radius.
  7701. */
  7702. width?: number;
  7703. }
  7704. /**
  7705. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a credits
  7706. * label in the lower right corner of the chart. This can be changed using these
  7707. * options.
  7708. */
  7709. export interface CreditsOptions {
  7710. /**
  7711. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the credits
  7712. * text.
  7713. */
  7714. enabled?: boolean;
  7715. /**
  7716. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the credits label.
  7717. */
  7718. href?: string;
  7719. /**
  7720. * (Highmaps) Credits for map source to be concatenated with conventional
  7721. * credit text. By default this is a format string that collects copyright
  7722. * information from the map if available.
  7723. */
  7724. mapText?: string;
  7725. /**
  7726. * (Highmaps) Detailed credits for map source to be displayed on hover of
  7727. * credits text. By default this is a format string that collects copyright
  7728. * information from the map if available.
  7729. */
  7730. mapTextFull?: string;
  7731. /**
  7732. * (Highcharts, Highstock, Highmaps, Gantt) Position configuration for the
  7733. * credits label.
  7734. */
  7735. position?: AlignObject;
  7736. /**
  7737. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the credits
  7738. * label.
  7739. */
  7740. style?: CSSObject;
  7741. /**
  7742. * (Highcharts, Highstock, Highmaps, Gantt) The text for the credits label.
  7743. */
  7744. text?: string;
  7745. }
  7746. /**
  7747. * A style object with camel case property names to define visual appearance of
  7748. * a SVG element or HTML element. The properties can be whatever styles are
  7749. * supported on the given SVG or HTML element.
  7750. */
  7751. export interface CSSObject {
  7752. [key: string]: (boolean|number|string|undefined);
  7753. /**
  7754. * Background style for the element.
  7755. */
  7756. background?: string;
  7757. /**
  7758. * Background color of the element.
  7759. */
  7760. backgroundColor?: ColorString;
  7761. /**
  7762. * Border style for the element.
  7763. */
  7764. border?: string;
  7765. /**
  7766. * Radius of the element border.
  7767. */
  7768. borderRadius?: number;
  7769. /**
  7770. * Color used in the element. The 'contrast' option is a Highcharts custom
  7771. * property that results in black or white, depending on the background of
  7772. * the element.
  7773. */
  7774. color?: ('contrast'|ColorString);
  7775. /**
  7776. * Style of the mouse cursor when resting over the element.
  7777. */
  7778. cursor?: CursorValue;
  7779. /**
  7780. * Font family of the element text. Multiple values have to be in decreasing
  7781. * preference order and separated by comma.
  7782. */
  7783. fontFamily?: string;
  7784. /**
  7785. * Font size of the element text.
  7786. */
  7787. fontSize?: string;
  7788. /**
  7789. * Font weight of the element text.
  7790. */
  7791. fontWeight?: string;
  7792. /**
  7793. * Height of the element.
  7794. */
  7795. height?: number;
  7796. /**
  7797. * Width of the element border.
  7798. */
  7799. lineWidth?: number;
  7800. /**
  7801. * Opacity of the element.
  7802. */
  7803. opacity?: number;
  7804. /**
  7805. * Space around the element content.
  7806. */
  7807. padding?: string;
  7808. /**
  7809. * Behaviour of the element when the mouse cursor rests over it.
  7810. */
  7811. pointerEvents?: string;
  7812. /**
  7813. * Positioning of the element.
  7814. */
  7815. position?: string;
  7816. /**
  7817. * Alignment of the element text.
  7818. */
  7819. textAlign?: string;
  7820. /**
  7821. * Additional decoration of the element text.
  7822. */
  7823. textDecoration?: string;
  7824. /**
  7825. * Outline style of the element text.
  7826. */
  7827. textOutline?: string;
  7828. /**
  7829. * Line break style of the element text. Highcharts SVG elements support
  7830. * `ellipsis` when a `width` is set.
  7831. */
  7832. textOverflow?: string;
  7833. /**
  7834. * Top spacing of the element relative to the parent element.
  7835. */
  7836. top?: string;
  7837. /**
  7838. * Animated transition of selected element properties.
  7839. */
  7840. transition?: string;
  7841. /**
  7842. * Line break style of the element text.
  7843. */
  7844. whiteSpace?: string;
  7845. /**
  7846. * Width of the element.
  7847. */
  7848. width?: number;
  7849. }
  7850. /**
  7851. * (Gantt) Show an indicator on the axis for the current date and time. Can be a
  7852. * boolean or a configuration object similar to xAxis.plotLines.
  7853. */
  7854. export interface CurrentDateIndicatorOptions {
  7855. /**
  7856. * (Highstock) Flag to decide if plotLine should be rendered across all
  7857. * panes.
  7858. */
  7859. acrossPanes?: boolean;
  7860. /**
  7861. * (Gantt) A custom class name, in addition to the default
  7862. * `highcharts-plot-line`, to apply to each individual line.
  7863. */
  7864. className?: string;
  7865. /**
  7866. * (Gantt) The color of the line.
  7867. */
  7868. color?: ColorString;
  7869. /**
  7870. * (Gantt) The dashing or dot style for the plot line. For possible values
  7871. * see this overview.
  7872. */
  7873. dashStyle?: DashStyleValue;
  7874. /**
  7875. * (Gantt) An object defining mouse events for the plot line. Supported
  7876. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  7877. */
  7878. events?: (ColorAxisCurrentDateIndicatorEventsOptions|NavigatorXAxisCurrentDateIndicatorEventsOptions|XAxisCurrentDateIndicatorEventsOptions|ZAxisCurrentDateIndicatorEventsOptions);
  7879. /**
  7880. * (Gantt) An id used for identifying the plot line in Axis.removePlotLine.
  7881. */
  7882. id?: string;
  7883. /**
  7884. * (Gantt) Text labels for the plot bands
  7885. */
  7886. label?: (ColorAxisCurrentDateIndicatorLabelOptions|NavigatorXAxisCurrentDateIndicatorLabelOptions|XAxisCurrentDateIndicatorLabelOptions|ZAxisCurrentDateIndicatorLabelOptions);
  7887. /**
  7888. * (Gantt) The width or thickness of the plot line.
  7889. */
  7890. width?: number;
  7891. /**
  7892. * (Gantt) The z index of the plot line within the chart.
  7893. */
  7894. zIndex?: number;
  7895. }
  7896. export interface DataGroupingInfoObject {
  7897. length: number;
  7898. options?: SeriesOptionsType;
  7899. start: number;
  7900. }
  7901. /**
  7902. * (Highstock) A custom data grouping object for each button.
  7903. */
  7904. export interface DataGroupingOptionsObject {
  7905. /**
  7906. * (Highstock) Specifies how the points should be located on the X axis
  7907. * inside the group. Points that are extremes can be set separately.
  7908. * Available options:
  7909. *
  7910. * - `start` places the point at the beginning of the group (e.g. range
  7911. * 00:00:00 - 23:59:59 -> 00:00:00)
  7912. *
  7913. * - `middle` places the point in the middle of the group (e.g. range
  7914. * 00:00:00 - 23:59:59 -> 12:00:00)
  7915. *
  7916. * - `end` places the point at the end of the group (e.g. range 00:00:00 -
  7917. * 23:59:59 -> 23:59:59)
  7918. */
  7919. anchor?: (string|DataGroupingAnchor);
  7920. /**
  7921. * (Highstock) The method of approximation inside a group. When for example
  7922. * 30 days are grouped into one month, this determines what value should
  7923. * represent the group. Possible values are "average", "averages", "open",
  7924. * "high", "low", "close" and "sum". For OHLC and candlestick series the
  7925. * approximation is "ohlc" by default, which finds the open, high, low and
  7926. * close values within all the grouped data. For ranges, the approximation
  7927. * is "range", which finds the low and high values. For multi-dimensional
  7928. * data, like ranges and OHLC, "averages" will compute the average for each
  7929. * dimension.
  7930. *
  7931. * Custom aggregate methods can be added by assigning a callback function as
  7932. * the approximation. This function takes a numeric array as the argument
  7933. * and should return a single numeric value or `null`. Note that the numeric
  7934. * array will never contain null values, only true numbers. Instead, if null
  7935. * values are present in the raw data, the numeric array will have an
  7936. * `.hasNulls` property set to `true`. For single-value data sets the data
  7937. * is available in the first argument of the callback function. For OHLC
  7938. * data sets, all the open values are in the first argument, all high values
  7939. * in the second etc.
  7940. *
  7941. * Since v4.2.7, grouping meta data is available in the approximation
  7942. * callback from `this.dataGroupInfo`. It can be used to extract information
  7943. * from the raw data.
  7944. *
  7945. * Defaults to `average` for line-type series, `sum` for columns, `range`
  7946. * for range series and `ohlc` for OHLC and candlestick.
  7947. */
  7948. approximation?: (string|DataGroupingApproximationValue|Function);
  7949. /**
  7950. * (Highstock) Datetime formats for the header of the tooltip in a stock
  7951. * chart. The format can vary within a chart depending on the currently
  7952. * selected time range and the current data grouping.
  7953. *
  7954. * The default formats are: (see online documentation for example)
  7955. *
  7956. * For each of these array definitions, the first item is the format used
  7957. * when the active time span is one unit. For instance, if the current data
  7958. * applies to one week, the first item of the week array is used. The second
  7959. * and third items are used when the active time span is more than two
  7960. * units. For instance, if the current data applies to two weeks, the second
  7961. * and third item of the week array are used, and applied to the start and
  7962. * end date of the time span.
  7963. */
  7964. dateTimeLabelFormats?: object;
  7965. /**
  7966. * (Highstock) Enable or disable data grouping.
  7967. */
  7968. enabled?: boolean;
  7969. /**
  7970. * (Highstock) Specifies how the first grouped point is positioned on the
  7971. * xAxis. If firstAnchor and/or lastAnchor are defined, then those options
  7972. * take precedence over anchor for the first and/or last grouped points.
  7973. * Available options:
  7974. *
  7975. * -`start` places the point at the beginning of the group (e.g. range
  7976. * 00:00:00 - 23:59:59 -> 00:00:00)
  7977. *
  7978. * -`middle` places the point in the middle of the group (e.g. range
  7979. * 00:00:00 - 23:59:59 -> 12:00:00)
  7980. *
  7981. * -`end` places the point at the end of the group (e.g. range 00:00:00 -
  7982. * 23:59:59 -> 23:59:59)
  7983. *
  7984. * -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
  7985. * 00:59 -> 00:13)
  7986. *
  7987. * -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
  7988. * 00:59 -> 00:59)
  7989. */
  7990. firstAnchor?: (string|DataGroupingAnchorExtremes);
  7991. /**
  7992. * (Highstock) When data grouping is forced, it runs no matter how small the
  7993. * intervals are. This can be handy for example when the sum should be
  7994. * calculated for values appearing at random times within each hour.
  7995. */
  7996. forced?: boolean;
  7997. /**
  7998. * (Highstock) By default only points within the visible range are grouped.
  7999. * Enabling this option will force data grouping to calculate all grouped
  8000. * points for a given dataset. That option prevents for example a column
  8001. * series from calculating a grouped point partially. The effect is similar
  8002. * to Series.getExtremesFromAll but does not affect yAxis extremes.
  8003. */
  8004. groupAll?: boolean;
  8005. /**
  8006. * (Highstock) The approximate pixel width of each group. If for example a
  8007. * series with 30 points is displayed over a 600 pixel wide plot area, no
  8008. * grouping is performed. If however the series contains so many points that
  8009. * the spacing is less than the groupPixelWidth, Highcharts will try to
  8010. * group it into appropriate groups so that each is more or less two pixels
  8011. * wide. If multiple series with different group pixel widths are drawn on
  8012. * the same x axis, all series will take the greatest width. For example,
  8013. * line series have 2px default group width, while column series have 10px.
  8014. * If combined, both the line and the column will have 10px by default.
  8015. */
  8016. groupPixelWidth?: number;
  8017. /**
  8018. * (Highstock) Specifies how the last grouped point is positioned on the
  8019. * xAxis. If firstAnchor and/or lastAnchor are defined, then those options
  8020. * take precedence over anchor for the first and/or last grouped points.
  8021. * Available options:
  8022. *
  8023. * -`start` places the point at the beginning of the group (e.g. range
  8024. * 00:00:00 - 23:59:59 -> 00:00:00)
  8025. *
  8026. * -`middle` places the point in the middle of the group (e.g. range
  8027. * 00:00:00 - 23:59:59 -> 12:00:00)
  8028. *
  8029. * -`end` places the point at the end of the group (e.g. range 00:00:00 -
  8030. * 23:59:59 -> 23:59:59)
  8031. *
  8032. * -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
  8033. * 00:59 -> 00:13)
  8034. *
  8035. * -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
  8036. * 00:59 -> 00:59)
  8037. */
  8038. lastAnchor?: (string|DataGroupingAnchorExtremes);
  8039. /**
  8040. * (Highstock) An array determining what time intervals the data is allowed
  8041. * to be grouped to. Each array item is an array where the first value is
  8042. * the time unit and the second value another array of allowed multiples.
  8043. *
  8044. * Defaults to: (see online documentation for example)
  8045. */
  8046. units?: Array<[string, (Array<number>|null)]>;
  8047. }
  8048. /**
  8049. * (Highcharts, Highstock, Gantt) A declarative filter to control of which data
  8050. * labels to display. The declarative filter is designed for use when callback
  8051. * functions are not available, like when the chart options require a pure JSON
  8052. * structure or for use with graphical editors. For programmatic control, use
  8053. * the `formatter` instead, and return `undefined` to disable a single data
  8054. * label.
  8055. */
  8056. export interface DataLabelsFilterOptionsObject {
  8057. /**
  8058. * (Highcharts, Highstock, Gantt) The operator to compare by. Can be one of
  8059. * `>`, `<`, `>=`, `<=`, `==`, and `===`.
  8060. */
  8061. operator?: OptionsOperatorValue;
  8062. /**
  8063. * (Highcharts, Highstock, Gantt) The point property to filter by. Point
  8064. * options are passed directly to properties, additionally there are `y`
  8065. * value, `percentage` and others listed under Highcharts.Point members.
  8066. */
  8067. property?: string;
  8068. /**
  8069. * (Highcharts, Highstock, Gantt) The value to compare against.
  8070. */
  8071. value?: number;
  8072. }
  8073. /**
  8074. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  8075. * options are the same as the ones for plotOptions.series.dataLabels.
  8076. */
  8077. export interface DataLabelsOptions {
  8078. /**
  8079. * (Highcharts, Highstock, Gantt) The alignment of the data label compared
  8080. * to the point. If `right`, the right side of the label should be touching
  8081. * the point. For points with an extent, like columns, the alignments also
  8082. * dictates how to align it inside the box, as given with the inside option.
  8083. * Can be one of `left`, `center` or `right`.
  8084. */
  8085. align?: (AlignValue|null);
  8086. /**
  8087. * (Highcharts, Highstock, Gantt) Whether to allow data labels to overlap.
  8088. * To make the labels less sensitive for overlapping, the dataLabels.padding
  8089. * can be set to 0.
  8090. */
  8091. allowOverlap?: boolean;
  8092. /**
  8093. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  8094. * when a series is displayed for the `dataLabels`. The animation can also
  8095. * be set as a configuration object. Please note that this option only
  8096. * applies to the initial animation. For other animations, see
  8097. * chart.animation and the animation parameter under the API methods. The
  8098. * following properties are supported:
  8099. *
  8100. * - `defer`: The animation delay time in milliseconds.
  8101. */
  8102. animation?: (boolean|SeriesAreaDataDataLabelsAnimationOptions|SeriesArearangeDataDataLabelsAnimationOptions|SeriesAreasplineDataDataLabelsAnimationOptions|
  8103. SeriesAreasplinerangeDataDataLabelsAnimationOptions|SeriesBarDataDataLabelsAnimationOptions|SeriesBoxplotDataDataLabelsAnimationOptions|SeriesBubbleDataDataLabelsAnimationOptions|
  8104. SeriesBulletDataDataLabelsAnimationOptions|SeriesCandlestickDataDataLabelsAnimationOptions|SeriesColumnDataDataLabelsAnimationOptions|SeriesColumnpyramidDataDataLabelsAnimationOptions|
  8105. SeriesColumnrangeDataDataLabelsAnimationOptions|SeriesCylinderDataDataLabelsAnimationOptions|SeriesDumbbellDataDataLabelsAnimationOptions|SeriesFunnelDataDataLabelsAnimationOptions|
  8106. SeriesGaugeDataDataLabelsAnimationOptions|SeriesHeatmapDataDataLabelsAnimationOptions|SeriesItemDataDataLabelsAnimationOptions|SeriesLineDataDataLabelsAnimationOptions|
  8107. SeriesLollipopDataDataLabelsAnimationOptions|SeriesNetworkgraphDataDataLabelsAnimationOptions|SeriesOhlcDataDataLabelsAnimationOptions|SeriesOrganizationDataDataLabelsAnimationOptions|
  8108. SeriesPackedbubbleDataDataLabelsAnimationOptions|SeriesParetoDataDataLabelsAnimationOptions|SeriesPieDataDataLabelsAnimationOptions|SeriesPolygonDataDataLabelsAnimationOptions|
  8109. SeriesPyramidDataDataLabelsAnimationOptions|SeriesSankeyDataDataLabelsAnimationOptions|SeriesScatter3dDataDataLabelsAnimationOptions|SeriesScatterDataDataLabelsAnimationOptions|
  8110. SeriesSolidgaugeDataDataLabelsAnimationOptions|SeriesSplineDataDataLabelsAnimationOptions|SeriesStreamgraphDataDataLabelsAnimationOptions|SeriesSunburstDataDataLabelsAnimationOptions|
  8111. SeriesTilemapDataDataLabelsAnimationOptions|SeriesTimelineDataDataLabelsAnimationOptions|SeriesTreemapDataDataLabelsAnimationOptions|SeriesVariablepieDataDataLabelsAnimationOptions|
  8112. SeriesVariwideDataDataLabelsAnimationOptions|SeriesVectorDataDataLabelsAnimationOptions|SeriesVennDataDataLabelsAnimationOptions|SeriesWaterfallDataDataLabelsAnimationOptions|
  8113. SeriesWindbarbDataDataLabelsAnimationOptions|SeriesWordcloudDataDataLabelsAnimationOptions|SeriesXrangeDataDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  8114. /**
  8115. * (Highcharts, Highstock, Gantt) The background color or gradient for the
  8116. * data label.
  8117. */
  8118. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  8119. /**
  8120. * (Highcharts, Highstock, Gantt) The border color for the data label.
  8121. * Defaults to `undefined`.
  8122. */
  8123. borderColor?: (ColorString|GradientColorObject|PatternObject);
  8124. /**
  8125. * (Highcharts, Highstock, Gantt) The border radius in pixels for the data
  8126. * label.
  8127. */
  8128. borderRadius?: number;
  8129. /**
  8130. * (Highcharts, Highstock, Gantt) The border width in pixels for the data
  8131. * label.
  8132. */
  8133. borderWidth?: number;
  8134. /**
  8135. * (Highcharts, Highstock, Gantt) A class name for the data label.
  8136. * Particularly in styled mode, this can be used to give each series' or
  8137. * point's data label unique styling. In addition to this option, a default
  8138. * color class name is added so that we can give the labels a contrast text
  8139. * shadow.
  8140. */
  8141. className?: string;
  8142. /**
  8143. * (Highcharts, Highstock, Gantt) The text color for the data labels.
  8144. * Defaults to `undefined`. For certain series types, like column or map,
  8145. * the data labels can be drawn inside the points. In this case the data
  8146. * label will be drawn with maximum contrast by default. Additionally, it
  8147. * will be given a `text-outline` style with the opposite color, to further
  8148. * increase the contrast. This can be overridden by setting the
  8149. * `text-outline` style to `none` in the `dataLabels.style` option.
  8150. */
  8151. color?: (ColorString|GradientColorObject|PatternObject);
  8152. /**
  8153. * (Highcharts, Highstock, Gantt) Whether to hide data labels that are
  8154. * outside the plot area. By default, the data label is moved inside the
  8155. * plot area according to the overflow option.
  8156. */
  8157. crop?: boolean;
  8158. /**
  8159. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  8160. * labels until the initial series animation has finished. Setting to
  8161. * `false` renders the data label immediately. If set to `true` inherits the
  8162. * defer time set in plotOptions.series.animation. If set to a number, a
  8163. * defer time is specified in milliseconds.
  8164. */
  8165. defer?: (boolean|number);
  8166. /**
  8167. * (Highcharts, Highstock, Gantt) Enable or disable the data labels.
  8168. */
  8169. enabled?: boolean;
  8170. /**
  8171. * (Highcharts, Highstock, Gantt) A declarative filter to control of which
  8172. * data labels to display. The declarative filter is designed for use when
  8173. * callback functions are not available, like when the chart options require
  8174. * a pure JSON structure or for use with graphical editors. For programmatic
  8175. * control, use the `formatter` instead, and return `undefined` to disable a
  8176. * single data label.
  8177. */
  8178. filter?: DataLabelsFilterOptionsObject;
  8179. /**
  8180. * (Highcharts, Highstock, Gantt) A format string for the data label.
  8181. * Available variables are the same as for `formatter`.
  8182. */
  8183. format?: string;
  8184. /**
  8185. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  8186. * data label. Note that if a `format` is defined, the format takes
  8187. * precedence and the formatter is ignored.
  8188. */
  8189. formatter?: DataLabelsFormatterCallbackFunction;
  8190. /**
  8191. * (Highcharts, Highstock, Gantt) For points with an extent, like columns or
  8192. * map areas, whether to align the data label inside the box or to the
  8193. * actual value point. Defaults to `false` in most cases, `true` in stacked
  8194. * columns.
  8195. */
  8196. inside?: boolean;
  8197. /**
  8198. * (Highcharts, Highstock, Gantt) Format for points with the value of null.
  8199. * Works analogously to format. `nullFormat` can be applied only to series
  8200. * which support displaying null points.
  8201. */
  8202. nullFormat?: (boolean|string);
  8203. /**
  8204. * (Highcharts, Highstock, Gantt) Callback JavaScript function that defines
  8205. * formatting for points with the value of null. Works analogously to
  8206. * formatter. `nullPointFormatter` can be applied only to series which
  8207. * support displaying null points.
  8208. */
  8209. nullFormatter?: DataLabelsFormatterCallbackFunction;
  8210. /**
  8211. * (Highcharts, Highstock, Gantt) How to handle data labels that flow
  8212. * outside the plot area. The default is `"justify"`, which aligns them
  8213. * inside the plot area. For columns and bars, this means it will be moved
  8214. * inside the bar. To display data labels outside the plot area, set `crop`
  8215. * to `false` and `overflow` to `"allow"`.
  8216. */
  8217. overflow?: DataLabelsOverflowValue;
  8218. /**
  8219. * (Highcharts, Highstock, Gantt) When either the `borderWidth` or the
  8220. * `backgroundColor` is set, this is the padding within the box.
  8221. */
  8222. padding?: number;
  8223. /**
  8224. * (Highcharts, Highstock, Gantt) Aligns data labels relative to points. If
  8225. * `center` alignment is not possible, it defaults to `right`.
  8226. */
  8227. position?: AlignValue;
  8228. /**
  8229. * (Highcharts, Highstock, Gantt) Text rotation in degrees. Note that due to
  8230. * a more complex structure, backgrounds, borders and padding will be lost
  8231. * on a rotated data label.
  8232. */
  8233. rotation?: number;
  8234. /**
  8235. * (Highcharts, Highstock, Gantt) The shadow of the box. Works best with
  8236. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  8237. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  8238. * `width`.
  8239. */
  8240. shadow?: (boolean|ShadowOptionsObject);
  8241. /**
  8242. * (Highcharts, Highstock, Gantt) The name of a symbol to use for the border
  8243. * around the label. Symbols are predefined functions on the Renderer
  8244. * object.
  8245. */
  8246. shape?: string;
  8247. /**
  8248. * (Highcharts, Highstock, Gantt) Styles for the label. The default `color`
  8249. * setting is `"contrast"`, which is a pseudo color that Highcharts picks up
  8250. * and applies the maximum contrast to the underlying point item, for
  8251. * example the bar in a bar chart.
  8252. *
  8253. * The `textOutline` is a pseudo property that applies an outline of the
  8254. * given width with the given color, which by default is the maximum
  8255. * contrast to the text. So a bright text color will result in a black text
  8256. * outline for maximum readability on a mixed background. In some cases,
  8257. * especially with grayscale text, the text outline doesn't work well, in
  8258. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  8259. * is true, the `textOutline` will not be picked up. In this, case, the same
  8260. * effect can be acheived through the `text-shadow` CSS property.
  8261. *
  8262. * For some series types, where each point has an extent, like for example
  8263. * tree maps, the data label may overflow the point. There are two
  8264. * strategies for handling overflow. By default, the text will wrap to
  8265. * multiple lines. The other strategy is to set `style.textOverflow` to
  8266. * `ellipsis`, which will keep the text on one line plus it will break
  8267. * inside long words.
  8268. */
  8269. style?: CSSObject;
  8270. /**
  8271. * (Highcharts, Highstock, Gantt) Options for a label text which should
  8272. * follow marker's shape. Border and background are disabled for a label
  8273. * that follows a path.
  8274. *
  8275. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  8276. * to true will disable this option.
  8277. */
  8278. textPath?: DataLabelsTextPathOptionsObject;
  8279. /**
  8280. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  8281. */
  8282. useHTML?: boolean;
  8283. /**
  8284. * (Highcharts, Highstock, Gantt) The vertical alignment of a data label.
  8285. * Can be one of `top`, `middle` or `bottom`. The default value depends on
  8286. * the data, for instance in a column chart, the label is above positive
  8287. * values and below negative values.
  8288. */
  8289. verticalAlign?: (VerticalAlignValue|null);
  8290. /**
  8291. * (Highcharts, Highstock, Gantt) The x position offset of the label
  8292. * relative to the point in pixels.
  8293. */
  8294. x?: number;
  8295. /**
  8296. * (Highcharts, Highstock) X offset of the higher data labels relative to
  8297. * the point value.
  8298. */
  8299. xHigh?: number;
  8300. /**
  8301. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  8302. * point value.
  8303. */
  8304. xLow?: number;
  8305. /**
  8306. * (Highcharts, Highstock, Gantt) The y position offset of the label
  8307. * relative to the point in pixels.
  8308. */
  8309. y?: number;
  8310. /**
  8311. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  8312. * the point value.
  8313. */
  8314. yHigh?: number;
  8315. /**
  8316. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  8317. * point value.
  8318. */
  8319. yLow?: number;
  8320. /**
  8321. * (Highcharts, Highstock, Gantt) The Z index of the data labels. The
  8322. * default Z index puts it above the series. Use a Z index of 2 to display
  8323. * it behind the series.
  8324. */
  8325. z?: number;
  8326. }
  8327. /**
  8328. * (Highcharts, Highstock, Gantt) Options for a label text which should follow
  8329. * marker's shape. Border and background are disabled for a label that follows a
  8330. * path.
  8331. *
  8332. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML` to
  8333. * true will disable this option.
  8334. */
  8335. export interface DataLabelsTextPathOptionsObject {
  8336. /**
  8337. * (Highcharts, Highstock, Gantt) Presentation attributes for the text path.
  8338. */
  8339. attributes?: SVGAttributes;
  8340. /**
  8341. * (Highcharts, Highstock, Gantt) Enable or disable `textPath` option for
  8342. * link's or marker's data labels.
  8343. */
  8344. enabled?: boolean;
  8345. }
  8346. /**
  8347. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  8348. * simplified interface for adding data to a chart from sources like CVS, HTML
  8349. * tables or grid views. See also the tutorial article on the Data module.
  8350. *
  8351. * It requires the `modules/data.js` file to be loaded.
  8352. *
  8353. * Please note that the default way of adding data in Highcharts, without the
  8354. * need of a module, is through the series._type_.data option.
  8355. */
  8356. export interface DataOptions {
  8357. /**
  8358. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to modify
  8359. * the CSV before parsing it. Return the modified string.
  8360. */
  8361. beforeParse?: DataBeforeParseCallbackFunction;
  8362. /**
  8363. * (Highcharts, Highstock, Highmaps, Gantt) A two-dimensional array
  8364. * representing the input data on tabular form. This input can be used when
  8365. * the data is already parsed, for example from a grid view component. Each
  8366. * cell can be a string or number. If not switchRowsAndColumns is set, the
  8367. * columns are interpreted as series.
  8368. */
  8369. columns?: Array<Array<DataValueType>>;
  8370. /**
  8371. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8372. * structured as a column array. Will be fetched when the chart is created
  8373. * using Ajax.
  8374. */
  8375. columnsURL?: string;
  8376. /**
  8377. * (Highcharts, Highstock, Highmaps, Gantt) The callback that is evaluated
  8378. * when the data is finished loading, optionally from an external source,
  8379. * and parsed. The first argument passed is a finished chart options object,
  8380. * containing the series. These options can be extended with additional
  8381. * options and passed directly to the chart constructor.
  8382. */
  8383. complete?: DataCompleteCallbackFunction;
  8384. /**
  8385. * (Highcharts, Highstock, Highmaps, Gantt) A comma delimited string to be
  8386. * parsed. Related options are startRow, endRow, startColumn and endColumn
  8387. * to delimit what part of the table is used. The lineDelimiter and
  8388. * itemDelimiter options define the CSV delimiter formats.
  8389. *
  8390. * The built-in CSV parser doesn't support all flavours of CSV, so in some
  8391. * cases it may be necessary to use an external CSV parser. See this example
  8392. * of parsing CSV through the MIT licensed Papa Parse library.
  8393. */
  8394. csv?: string;
  8395. /**
  8396. * (Highcharts, Highstock, Highmaps, Gantt) An URL to a remote CSV dataset.
  8397. * Will be fetched when the chart is created using Ajax.
  8398. */
  8399. csvURL?: string;
  8400. /**
  8401. * (Highcharts, Highstock, Highmaps, Gantt) Sets the refresh rate for data
  8402. * polling when importing remote dataset by setting data.csvURL,
  8403. * data.rowsURL, data.columnsURL, or data.googleSpreadsheetKey.
  8404. *
  8405. * Note that polling must be enabled by setting data.enablePolling to true.
  8406. *
  8407. * The value is the number of seconds between pollings. It cannot be set to
  8408. * less than 1 second.
  8409. */
  8410. dataRefreshRate?: number;
  8411. /**
  8412. * (Highcharts, Highstock, Highmaps, Gantt) Which of the predefined date
  8413. * formats in Date.prototype.dateFormats to use to parse date values.
  8414. * Defaults to a best guess based on what format gives valid and ordered
  8415. * dates. Valid options include: `YYYY/mm/dd`, `dd/mm/YYYY`, `mm/dd/YYYY`,
  8416. * `dd/mm/YY`, `mm/dd/YY`.
  8417. */
  8418. dateFormat?: OptionsDateFormatValue;
  8419. /**
  8420. * (Highcharts, Highstock, Highmaps, Gantt) The decimal point used for
  8421. * parsing numbers in the CSV.
  8422. *
  8423. * If both this and data.delimiter is set to `undefined`, the parser will
  8424. * attempt to deduce the decimal point automatically.
  8425. */
  8426. decimalPoint?: string;
  8427. /**
  8428. * (Highcharts, Highstock, Highmaps, Gantt) Enables automatic refetching of
  8429. * remote datasets every _n_ seconds (defined by setting
  8430. * data.dataRefreshRate).
  8431. *
  8432. * Only works when either data.csvURL, data.rowsURL, data.columnsURL, or
  8433. * data.googleSpreadsheetKey.
  8434. */
  8435. enablePolling?: boolean;
  8436. /**
  8437. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8438. * column (indexed by 0) to use. Defaults to the last column containing
  8439. * data.
  8440. */
  8441. endColumn?: number;
  8442. /**
  8443. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
  8444. * row (indexed by 0) to use. Defaults to the last row containing data.
  8445. */
  8446. endRow?: number;
  8447. /**
  8448. * (Highcharts, Highstock, Gantt) Whether to use the first row in the data
  8449. * set as series names.
  8450. */
  8451. firstRowAsNames?: boolean;
  8452. /**
  8453. * (Highcharts, Highstock, Highmaps, Gantt) The key for a Google Spreadsheet
  8454. * to load. See general information on GS.
  8455. */
  8456. googleSpreadsheetKey?: string;
  8457. /**
  8458. * (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet worksheet
  8459. * to use in combination with googleSpreadsheetKey. The available id's from
  8460. * your sheet can be read from
  8461. * `https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic`.
  8462. */
  8463. googleSpreadsheetWorksheet?: string;
  8464. /**
  8465. * (Highcharts, Highstock, Highmaps, Gantt) Item or cell delimiter for
  8466. * parsing CSV. Defaults to the tab character `\t` if a tab character is
  8467. * found in the CSV string, if not it defaults to `,`.
  8468. *
  8469. * If this is set to false or undefined, the parser will attempt to deduce
  8470. * the delimiter automatically.
  8471. */
  8472. itemDelimiter?: string;
  8473. /**
  8474. * (Highcharts, Highstock, Highmaps, Gantt) Line delimiter for parsing CSV.
  8475. */
  8476. lineDelimiter?: string;
  8477. /**
  8478. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to access
  8479. * the parsed columns, the two-dimentional input data array directly, before
  8480. * they are interpreted into series data and categories. Return `false` to
  8481. * stop completion, or call `this.complete()` to continue async.
  8482. */
  8483. parsed?: DataParsedCallbackFunction;
  8484. /**
  8485. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to parse
  8486. * string representations of dates into JavaScript timestamps. Should return
  8487. * an integer timestamp on success.
  8488. */
  8489. parseDate?: DataParseDateCallbackFunction;
  8490. /**
  8491. * (Highcharts, Highstock, Highmaps, Gantt) The same as the columns input
  8492. * option, but defining rows intead of columns.
  8493. */
  8494. rows?: Array<Array<DataValueType>>;
  8495. /**
  8496. * (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
  8497. * structured as a row array. Will be fetched when the chart is created
  8498. * using Ajax.
  8499. */
  8500. rowsURL?: string;
  8501. /**
  8502. * (Highcharts, Highstock, Highmaps, Gantt) An array containing dictionaries
  8503. * for each series. A dictionary exists of Point property names as the key
  8504. * and the CSV column index as the value.
  8505. */
  8506. seriesMapping?: Array<Dictionary<number>>;
  8507. /**
  8508. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8509. * column (indexed by 0) to use.
  8510. */
  8511. startColumn?: number;
  8512. /**
  8513. * (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
  8514. * row (indexed by 0) to use.
  8515. */
  8516. startRow?: number;
  8517. /**
  8518. * (Highcharts, Highstock, Highmaps, Gantt) Switch rows and columns of the
  8519. * input data, so that `this.columns` effectively becomes the rows of the
  8520. * data set, and the rows are interpreted as series.
  8521. */
  8522. switchRowsAndColumns?: boolean;
  8523. /**
  8524. * (Highcharts, Highstock, Highmaps, Gantt) An HTML table or the id of such
  8525. * to be parsed as input data. Related options are `startRow`, `endRow`,
  8526. * `startColumn` and `endColumn` to delimit what part of the table is used.
  8527. */
  8528. table?: (string|HTMLElement);
  8529. }
  8530. /**
  8531. * Options for `dataSorting`.
  8532. */
  8533. export interface DataSortingOptionsObject {
  8534. /**
  8535. * Enable or disable data sorting for the series.
  8536. */
  8537. enabled?: boolean;
  8538. /**
  8539. * Whether to allow matching points by name in an update.
  8540. */
  8541. matchByName?: boolean;
  8542. /**
  8543. * Determines what data value should be used to sort by.
  8544. */
  8545. sortKey?: string;
  8546. }
  8547. export interface DefsArrowAttributesOptions {
  8548. id?: string;
  8549. markerHeight?: number;
  8550. markerWidth?: number;
  8551. refX?: number;
  8552. refY?: number;
  8553. }
  8554. export interface DefsArrowOptions {
  8555. attributes?: DefsArrowAttributesOptions;
  8556. children?: Array<DefsOptions>;
  8557. tagName?: string;
  8558. }
  8559. /**
  8560. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers for
  8561. * annotations.
  8562. *
  8563. * An example of the arrow marker: (see online documentation for example)
  8564. */
  8565. export interface DefsOptions {
  8566. arrow?: (ASTNode|DefsArrowOptions);
  8567. "reverse-arrow"?: (ASTNode|DefsReverseArrowOptions);
  8568. }
  8569. export interface DefsReverseArrowAttributesOptions {
  8570. id?: string;
  8571. markerHeight?: number;
  8572. markerWidth?: number;
  8573. refX?: number;
  8574. refY?: number;
  8575. }
  8576. export interface DefsReverseArrowOptions {
  8577. attributes?: DefsReverseArrowAttributesOptions;
  8578. tagName?: string;
  8579. }
  8580. /**
  8581. * Generic dictionary in TypeScript notation. Use the native `AnyRecord`
  8582. * instead.
  8583. */
  8584. export interface Dictionary<T> {
  8585. [key: string]: T;
  8586. }
  8587. /**
  8588. * (Highcharts, Highstock, Gantt) Style options for the guide box default state.
  8589. */
  8590. export interface DragDropGuideBoxOptionsObject {
  8591. /**
  8592. * (Highcharts, Highstock, Gantt) CSS class name of the guide box in this
  8593. * state. Defaults to `highcharts-drag-box-default`.
  8594. */
  8595. className?: string;
  8596. /**
  8597. * (Highcharts, Highstock, Gantt) Guide box fill color.
  8598. */
  8599. color?: (ColorString|GradientColorObject|PatternObject);
  8600. /**
  8601. * (Highcharts, Highstock, Gantt) Guide box cursor.
  8602. */
  8603. cursor?: string;
  8604. /**
  8605. * (Highcharts, Highstock, Gantt) Color of the border around the guide box.
  8606. */
  8607. lineColor?: ColorString;
  8608. /**
  8609. * (Highcharts, Highstock, Gantt) Width of the line around the guide box.
  8610. */
  8611. lineWidth?: number;
  8612. /**
  8613. * (Highcharts, Highstock, Gantt) Guide box zIndex.
  8614. */
  8615. zIndex?: number;
  8616. }
  8617. /**
  8618. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  8619. */
  8620. export interface DragDropHandleOptionsObject {
  8621. /**
  8622. * (Highcharts, Highstock, Gantt) The class name of the drag handles.
  8623. * Defaults to `highcharts-drag-handle`.
  8624. */
  8625. className?: string;
  8626. /**
  8627. * (Highcharts, Highstock, Gantt) The fill color of the drag handles.
  8628. */
  8629. color?: (ColorString|GradientColorObject|PatternObject);
  8630. /**
  8631. * (Highcharts, Highstock, Gantt) The mouse cursor to use for the drag
  8632. * handles. By default this is intelligently switching between `ew-resize`
  8633. * and `ns-resize` depending on the direction the point is being dragged.
  8634. */
  8635. cursor?: string;
  8636. /**
  8637. * (Highcharts, Highstock, Gantt) The line color of the drag handles.
  8638. */
  8639. lineColor?: ColorString;
  8640. /**
  8641. * (Highcharts, Highstock, Gantt) The line width for the drag handles.
  8642. */
  8643. lineWidth?: number;
  8644. /**
  8645. * (Highcharts, Highstock, Gantt) Function to define the SVG path to use for
  8646. * the drag handles. Takes the point as argument. Should return an SVG path
  8647. * in array format. The SVG path is automatically positioned on the point.
  8648. */
  8649. pathFormatter?: Function;
  8650. /**
  8651. * (Highcharts, Highstock, Gantt) The z index for the drag handles.
  8652. */
  8653. zIndex?: number;
  8654. }
  8655. /**
  8656. * Current drag and drop position.
  8657. */
  8658. export interface DragDropPositionObject {
  8659. /**
  8660. * Chart x position
  8661. */
  8662. chartX: number;
  8663. /**
  8664. * Chart y position
  8665. */
  8666. chartY: number;
  8667. /**
  8668. * Drag and drop guide box.
  8669. */
  8670. guideBox?: BBoxObject;
  8671. /**
  8672. * Updated point data.
  8673. */
  8674. points: Dictionary<Dictionary<number>>;
  8675. /**
  8676. * Delta of previous x position.
  8677. */
  8678. prevdX?: number;
  8679. /**
  8680. * Delta of previous y position.
  8681. */
  8682. prevdY?: number;
  8683. }
  8684. /**
  8685. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8686. * point that has drilldown data. By default it is underlined and blue to invite
  8687. * to interaction.
  8688. *
  8689. * In styled mode, active data label styles can be applied with the
  8690. * `.highcharts-drilldown-data-label` class.
  8691. */
  8692. export interface DrilldownActiveDataLabelStyleOptions {
  8693. color?: string;
  8694. cursor?: string;
  8695. fontWeight?: string;
  8696. textDecoration?: string;
  8697. }
  8698. /**
  8699. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8700. * drilling down on a series. The text for the button is defined in
  8701. * lang.drillUpText.
  8702. */
  8703. export interface DrilldownDrillUpButtonOptions {
  8704. /**
  8705. * (Highcharts, Highmaps) Positioning options for the button within the
  8706. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8707. * `verticalAlign`.
  8708. */
  8709. position?: (AlignObject|DrilldownDrillUpButtonPositionOptions);
  8710. /**
  8711. * (Highcharts, Highmaps) What box to align the button to. Can be either
  8712. * `plotBox` or `spacingBox`.
  8713. */
  8714. relativeTo?: ButtonRelativeToValue;
  8715. /**
  8716. * (Highcharts, Highmaps) A collection of attributes for the button. The
  8717. * object takes SVG attributes like `fill`, `stroke`, `stroke-width` or `r`,
  8718. * the border radius. The theme also supports `style`, a collection of CSS
  8719. * properties for the text. Equivalent attributes for the hover state are
  8720. * given in `theme.states.hover`.
  8721. *
  8722. * In styled mode, drill-up button styles can be applied with the
  8723. * `.highcharts-drillup-button` class.
  8724. */
  8725. theme?: object;
  8726. }
  8727. /**
  8728. * (Highcharts, Highmaps) Positioning options for the button within the
  8729. * `relativeTo` box. Available properties are `x`, `y`, `align` and
  8730. * `verticalAlign`.
  8731. */
  8732. export interface DrilldownDrillUpButtonPositionOptions {
  8733. /**
  8734. * (Highcharts, Highmaps) Horizontal alignment.
  8735. */
  8736. align?: AlignValue;
  8737. /**
  8738. * (Highcharts, Highmaps) Vertical alignment of the button.
  8739. */
  8740. verticalAlign?: VerticalAlignValue;
  8741. /**
  8742. * (Highcharts, Highmaps) The X offset of the button.
  8743. */
  8744. x?: number;
  8745. /**
  8746. * (Highcharts, Highmaps) The Y offset of the button.
  8747. */
  8748. y?: number;
  8749. }
  8750. /**
  8751. * The event arguments when a drilldown point is clicked.
  8752. */
  8753. export interface DrilldownEventObject {
  8754. /**
  8755. * If a category label was clicked, which index.
  8756. */
  8757. category?: number;
  8758. /**
  8759. * The original browser event (usually click) that triggered the drilldown.
  8760. */
  8761. originalEvent?: Event;
  8762. /**
  8763. * The originating point.
  8764. */
  8765. point: Point;
  8766. /**
  8767. * If a category label was clicked, this array holds all points
  8768. * corresponding to the category. Otherwise it is set to false.
  8769. */
  8770. points?: (boolean|Array<Point>);
  8771. /**
  8772. * Prevents the default behaviour of the event.
  8773. */
  8774. preventDefault: Function;
  8775. /**
  8776. * Options for the new series. If the event is utilized for async drilldown,
  8777. * the seriesOptions are not added, but rather loaded async.
  8778. */
  8779. seriesOptions?: SeriesOptionsType;
  8780. /**
  8781. * The event target.
  8782. */
  8783. target: Chart;
  8784. /**
  8785. * The event type.
  8786. */
  8787. type: "drilldown";
  8788. }
  8789. /**
  8790. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  8791. * increasingly high resolution data through clicking on chart items like
  8792. * columns or pie slices.
  8793. *
  8794. * The drilldown feature requires the drilldown.js file to be loaded, found in
  8795. * the modules directory of the download package, or online at
  8796. * code.highcharts.com/modules/drilldown.js.
  8797. */
  8798. export interface DrilldownOptions {
  8799. /**
  8800. * (Highcharts, Highmaps) Additional styles to apply to the X axis label for
  8801. * a point that has drilldown data. By default it is underlined and blue to
  8802. * invite to interaction.
  8803. *
  8804. * In styled mode, active label styles can be set with the
  8805. * `.highcharts-drilldown-axis-label` class.
  8806. */
  8807. activeAxisLabelStyle?: CSSObject;
  8808. /**
  8809. * (Highcharts, Highmaps) Additional styles to apply to the data label of a
  8810. * point that has drilldown data. By default it is underlined and blue to
  8811. * invite to interaction.
  8812. *
  8813. * In styled mode, active data label styles can be applied with the
  8814. * `.highcharts-drilldown-data-label` class.
  8815. */
  8816. activeDataLabelStyle?: (CSSObject|DrilldownActiveDataLabelStyleOptions);
  8817. /**
  8818. * (Highcharts) When this option is false, clicking a single point will
  8819. * drill down all points in the same category, equivalent to clicking the X
  8820. * axis label.
  8821. */
  8822. allowPointDrilldown?: boolean;
  8823. /**
  8824. * (Highcharts, Highmaps) Set the animation for all drilldown animations.
  8825. * Animation of a drilldown occurs when drilling between a column point and
  8826. * a column series, or a pie slice and a full pie series. Drilldown can
  8827. * still be used between series and points of different types, but animation
  8828. * will not occur.
  8829. *
  8830. * The animation can either be set as a boolean or a configuration object.
  8831. * If `true`, it will use the 'swing' jQuery easing and a duration of 500
  8832. * ms. If used as a configuration object, the following properties are
  8833. * supported:
  8834. *
  8835. * - `duration`: The duration of the animation in milliseconds.
  8836. *
  8837. * - `easing`: A string reference to an easing function set on the `Math`
  8838. * object. See the easing demo.
  8839. */
  8840. animation?: (boolean|Partial<AnimationOptionsObject>);
  8841. /**
  8842. * (Highcharts, Highmaps) Options for the drill up button that appears when
  8843. * drilling down on a series. The text for the button is defined in
  8844. * lang.drillUpText.
  8845. */
  8846. drillUpButton?: DrilldownDrillUpButtonOptions;
  8847. /**
  8848. * (Highcharts, Highmaps) An array of series configurations for the drill
  8849. * down. Each series configuration uses the same syntax as the series option
  8850. * set. These drilldown series are hidden by default. The drilldown series
  8851. * is linked to the parent series' point by its `id`.
  8852. */
  8853. series?: Array<SeriesOptionsType>;
  8854. }
  8855. /**
  8856. * The event arguments when all the series have been drilled up.
  8857. */
  8858. export interface DrillupAllEventObject {
  8859. /**
  8860. * Prevents the default behaviour of the event.
  8861. */
  8862. preventDefault: Function;
  8863. /**
  8864. * The event target.
  8865. */
  8866. target: Chart;
  8867. /**
  8868. * The event type.
  8869. */
  8870. type: "drillupall";
  8871. }
  8872. /**
  8873. * The event arguments when drilling up from a drilldown series.
  8874. */
  8875. export interface DrillupEventObject {
  8876. /**
  8877. * Prevents the default behaviour of the event.
  8878. */
  8879. preventDefault: Function;
  8880. /**
  8881. * Options for the new series.
  8882. */
  8883. seriesOptions?: SeriesOptionsType;
  8884. /**
  8885. * The event target.
  8886. */
  8887. target: Chart;
  8888. /**
  8889. * The event type.
  8890. */
  8891. type: "drillup";
  8892. }
  8893. /**
  8894. * The event options for adding function callback.
  8895. */
  8896. export interface EventOptionsObject {
  8897. /**
  8898. * The order the event handler should be called. This opens for having one
  8899. * handler be called before another, independent of in which order they were
  8900. * added.
  8901. */
  8902. order: number;
  8903. /**
  8904. * Whether an event should be passive or not. When set to `true`, the
  8905. * function specified by listener will never call `preventDefault()`.
  8906. */
  8907. passive: boolean;
  8908. }
  8909. /**
  8910. * Contains information about the export data event.
  8911. */
  8912. export interface ExportDataEventObject {
  8913. /**
  8914. * Contains the data rows for the current export task and can be modified.
  8915. */
  8916. dataRows: Array<Array<string>>;
  8917. }
  8918. /**
  8919. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  8920. * exporting menu. Requires the Accessibility module.
  8921. */
  8922. export interface ExportingAccessibilityOptions {
  8923. /**
  8924. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  8925. * the export menu.
  8926. */
  8927. enabled?: boolean;
  8928. }
  8929. /**
  8930. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  8931. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  8932. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  8933. * `states.select` objects.
  8934. */
  8935. export interface ExportingButtonsContextButtonThemeOptions {
  8936. /**
  8937. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  8938. * capture hover events.
  8939. */
  8940. fill?: (ColorString|GradientColorObject|PatternObject);
  8941. /**
  8942. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  8943. */
  8944. padding?: number;
  8945. /**
  8946. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  8947. */
  8948. stroke?: ColorString;
  8949. }
  8950. /**
  8951. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  8952. * buttons, print and export. In addition to the default buttons listed here,
  8953. * custom buttons can be added. See navigation.buttonOptions for general
  8954. * options.
  8955. */
  8956. export interface ExportingButtonsOptions {
  8957. /**
  8958. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8959. *
  8960. * In styled mode, export button styles can be applied with the
  8961. * `.highcharts-contextbutton` class.
  8962. */
  8963. contextButton?: ExportingButtonsOptionsObject;
  8964. }
  8965. /**
  8966. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
  8967. *
  8968. * In styled mode, export button styles can be applied with the
  8969. * `.highcharts-contextbutton` class.
  8970. */
  8971. export interface ExportingButtonsOptionsObject {
  8972. /**
  8973. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  8974. */
  8975. align?: AlignValue;
  8976. /**
  8977. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  8978. * buttons.
  8979. */
  8980. buttonSpacing?: number;
  8981. /**
  8982. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the context
  8983. * button.
  8984. */
  8985. className?: string;
  8986. /**
  8987. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  8988. */
  8989. enabled?: boolean;
  8990. /**
  8991. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  8992. */
  8993. height?: number;
  8994. /**
  8995. * (Highcharts, Highstock, Highmaps, Gantt) The class name of the menu
  8996. * appearing from the button.
  8997. */
  8998. menuClassName?: string;
  8999. /**
  9000. * (Highcharts, Highstock, Highmaps, Gantt) A collection of strings pointing
  9001. * to config options for the menu items. The config options are defined in
  9002. * the `menuItemDefinitions` option.
  9003. *
  9004. * By default, there is the "View in full screen" and "Print" menu items,
  9005. * plus one menu item for each of the available export types.
  9006. */
  9007. menuItems?: Array<string>;
  9008. /**
  9009. * (Highcharts, Highstock, Highmaps, Gantt) A click handler callback to use
  9010. * on the button directly instead of the popup menu.
  9011. */
  9012. onclick?: Function;
  9013. /**
  9014. * (Highcharts, Highstock, Highmaps, Gantt) The symbol for the button.
  9015. * Points to a definition function in the `Highcharts.Renderer.symbols`
  9016. * collection. The default `menu` function is part of the exporting module.
  9017. * Possible values are "circle", "square", "diamond", "triangle",
  9018. * "triangle-down", "menu", "menuball" or custom shape.
  9019. */
  9020. symbol?: ("menu"|"menuball"|string|SymbolKeyValue);
  9021. /**
  9022. * (Highcharts, Highstock, Highmaps, Gantt) See
  9023. * navigation.buttonOptions.symbolFill.
  9024. */
  9025. symbolFill?: ColorString;
  9026. /**
  9027. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  9028. * the button.
  9029. */
  9030. symbolSize?: number;
  9031. /**
  9032. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  9033. * or line.
  9034. */
  9035. symbolStroke?: ColorString;
  9036. /**
  9037. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  9038. * symbol on the button.
  9039. */
  9040. symbolStrokeWidth?: number;
  9041. /**
  9042. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  9043. * the symbol inside the button.
  9044. */
  9045. symbolX?: number;
  9046. /**
  9047. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  9048. * the symbol inside the button.
  9049. */
  9050. symbolY?: number;
  9051. /**
  9052. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  9053. * individual button.
  9054. */
  9055. text?: string;
  9056. /**
  9057. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  9058. * button theme. The object accepts SVG properties like `stroke-width`,
  9059. * `stroke` and `fill`. Tri-state button styles are supported by the
  9060. * `states.hover` and `states.select` objects.
  9061. */
  9062. theme?: ExportingButtonsContextButtonThemeOptions;
  9063. /**
  9064. * (Highcharts, Highstock, Highmaps, Gantt) The key to a lang option setting
  9065. * that is used for the button's title tooltip. When the key is
  9066. * `contextButtonTitle`, it refers to lang.contextButtonTitle that defaults
  9067. * to "Chart context menu".
  9068. */
  9069. titleKey?: string;
  9070. /**
  9071. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  9072. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  9073. */
  9074. verticalAlign?: VerticalAlignValue;
  9075. /**
  9076. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  9077. */
  9078. width?: number;
  9079. /**
  9080. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal position of the
  9081. * button relative to the `align` option.
  9082. */
  9083. x?: number;
  9084. /**
  9085. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  9086. * button's position relative to its `verticalAlign`.
  9087. */
  9088. y?: number;
  9089. }
  9090. /**
  9091. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  9092. * export-data table.
  9093. */
  9094. export interface ExportingCsvAnnotationsOptions {
  9095. /**
  9096. * (Highcharts, Highstock, Highmaps, Gantt) The way to mark the separator
  9097. * for annotations combined in one export-data table cell.
  9098. */
  9099. itemDelimiter?: string;
  9100. /**
  9101. * (Highcharts, Highstock, Highmaps, Gantt) When several labels are assigned
  9102. * to a specific point, they will be displayed in one field in the table.
  9103. */
  9104. join?: boolean;
  9105. }
  9106. /**
  9107. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to CSV or
  9108. * ExCel, or displaying the data in a HTML table or a JavaScript structure.
  9109. *
  9110. * This module adds data export options to the export menu and provides
  9111. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  9112. * `Chart.viewData`.
  9113. *
  9114. * The XLS converter is limited and only creates a HTML string that is passed
  9115. * for download, which works but creates a warning before opening. The
  9116. * workaround for this is to use a third party XLSX converter, as demonstrated
  9117. * in the sample below.
  9118. */
  9119. export interface ExportingCsvOptions {
  9120. /**
  9121. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
  9122. * export-data table.
  9123. */
  9124. annotations?: ExportingCsvAnnotationsOptions;
  9125. /**
  9126. * (Highcharts, Highstock, Highmaps, Gantt) Formatter callback for the
  9127. * column headers. Parameters are:
  9128. *
  9129. * - `item` - The series or axis object)
  9130. *
  9131. * - `key` - The point key, for example y or z
  9132. *
  9133. * - `keyLength` - The amount of value keys for this item, for example a
  9134. * range series has the keys `low` and `high` so the key length is 2.
  9135. *
  9136. * If useMultiLevelHeaders is true, columnHeaderFormatter by default returns
  9137. * an object with columnTitle and topLevelColumnTitle for each key. Columns
  9138. * with the same topLevelColumnTitle have their titles merged into a single
  9139. * cell with colspan for table/Excel export.
  9140. *
  9141. * If `useMultiLevelHeaders` is false, or for CSV export, it returns the
  9142. * series name, followed by the key if there is more than one key.
  9143. *
  9144. * For the axis it returns the axis title or "Category" or "DateTime" by
  9145. * default.
  9146. *
  9147. * Return `false` to use Highcharts' proposed header.
  9148. */
  9149. columnHeaderFormatter?: (Function|null);
  9150. /**
  9151. * (Highcharts, Highstock, Highmaps, Gantt) Which date format to use for
  9152. * exported dates on a datetime X axis. See `Highcharts.dateFormat`.
  9153. */
  9154. dateFormat?: string;
  9155. /**
  9156. * (Highcharts, Highstock, Highmaps, Gantt) Which decimal point to use for
  9157. * exported CSV. Defaults to the same as the browser locale, typically `.`
  9158. * (English) or `,` (German, French etc).
  9159. */
  9160. decimalPoint?: (string|null);
  9161. /**
  9162. * (Highcharts, Highstock, Highmaps, Gantt) The item delimiter in the
  9163. * exported data. Use `;` for direct exporting to Excel. Defaults to a best
  9164. * guess based on the browser locale. If the locale _decimal point_ is `,`,
  9165. * the `itemDelimiter` defaults to `;`, otherwise the `itemDelimiter`
  9166. * defaults to `,`.
  9167. */
  9168. itemDelimiter?: (string|null);
  9169. /**
  9170. * (Highcharts, Highstock, Highmaps, Gantt) The line delimiter in the
  9171. * exported data, defaults to a newline.
  9172. */
  9173. lineDelimiter?: string;
  9174. }
  9175. /**
  9176. * Definition for a menu item in the context menu.
  9177. */
  9178. export interface ExportingMenuObject {
  9179. /**
  9180. * The click handler for the menu item.
  9181. */
  9182. onclick?: EventCallbackFunction<Chart>;
  9183. /**
  9184. * Indicates a separator line instead of an item.
  9185. */
  9186. separator?: boolean;
  9187. /**
  9188. * The text for the menu item.
  9189. */
  9190. text?: string;
  9191. /**
  9192. * If internationalization is required, the key to a language string.
  9193. */
  9194. textKey?: string;
  9195. }
  9196. /**
  9197. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting module.
  9198. * For an overview on the matter, see the docs.
  9199. */
  9200. export interface ExportingOptions {
  9201. /**
  9202. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  9203. * exporting menu. Requires the Accessibility module.
  9204. */
  9205. accessibility?: ExportingAccessibilityOptions;
  9206. /**
  9207. * (Highcharts, Highstock, Highmaps, Gantt) Experimental setting to allow
  9208. * HTML inside the chart (added through the `useHTML` options), directly in
  9209. * the exported image. This allows you to preserve complicated HTML
  9210. * structures like tables or bi-directional text in exported charts.
  9211. *
  9212. * Disclaimer: The HTML is rendered in a `foreignObject` tag in the
  9213. * generated SVG. The official export server is based on PhantomJS, which
  9214. * supports this, but other SVG clients, like Batik, does not support it.
  9215. * This also applies to downloaded SVG that you want to open in a desktop
  9216. * client.
  9217. */
  9218. allowHTML?: boolean;
  9219. /**
  9220. * (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
  9221. * buttons, print and export. In addition to the default buttons listed
  9222. * here, custom buttons can be added. See navigation.buttonOptions for
  9223. * general options.
  9224. */
  9225. buttons?: (ExportingButtonsOptions|Dictionary<ExportingButtonsOptionsObject>);
  9226. /**
  9227. * (Highcharts, Highstock, Highmaps, Gantt) Additional chart options to be
  9228. * merged into the chart before exporting to an image format. This does not
  9229. * apply to printing the chart via the export menu.
  9230. *
  9231. * For example, a common use case is to add data labels to improve
  9232. * readability of the exported chart, or to add a printer-friendly color
  9233. * scheme to exported PDFs.
  9234. */
  9235. chartOptions?: Options;
  9236. /**
  9237. * (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to
  9238. * CSV or ExCel, or displaying the data in a HTML table or a JavaScript
  9239. * structure.
  9240. *
  9241. * This module adds data export options to the export menu and provides
  9242. * functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
  9243. * `Chart.viewData`.
  9244. *
  9245. * The XLS converter is limited and only creates a HTML string that is
  9246. * passed for download, which works but creates a warning before opening.
  9247. * The workaround for this is to use a third party XLSX converter, as
  9248. * demonstrated in the sample below.
  9249. */
  9250. csv?: ExportingCsvOptions;
  9251. /**
  9252. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the exporting
  9253. * module. Disabling the module will hide the context button, but API
  9254. * methods will still be available.
  9255. */
  9256. enabled?: boolean;
  9257. /**
  9258. * (Highcharts, Highstock, Highmaps, Gantt) Function to call if the
  9259. * offline-exporting module fails to export a chart on the client side, and
  9260. * fallbackToExportServer is disabled. If left undefined, an exception is
  9261. * thrown instead. Receives two parameters, the exporting options, and the
  9262. * error from the module.
  9263. */
  9264. error?: ExportingErrorCallbackFunction;
  9265. /**
  9266. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to fall back to
  9267. * the export server if the offline-exporting module is unable to export the
  9268. * chart on the client side. This happens for certain browsers, and certain
  9269. * features (e.g. allowHTML), depending on the image type exporting to. For
  9270. * very complex charts, it is possible that export can fail in browsers that
  9271. * don't support Blob objects, due to data URL length limits. It is
  9272. * recommended to define the exporting.error handler if disabling fallback,
  9273. * in order to notify users in case export fails.
  9274. */
  9275. fallbackToExportServer?: boolean;
  9276. /**
  9277. * (Highcharts, Highstock, Highmaps, Gantt) The filename, without extension,
  9278. * to use for the exported chart.
  9279. */
  9280. filename?: string;
  9281. /**
  9282. * (Highcharts, Highstock, Highmaps, Gantt) An object containing additional
  9283. * key value data for the POST form that sends the SVG to the export server.
  9284. * For example, a `target` can be set to make sure the generated image is
  9285. * received in another frame, or a custom `enctype` or `encoding` can be
  9286. * set.
  9287. */
  9288. formAttributes?: HTMLAttributes;
  9289. /**
  9290. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  9291. * for export module dependencies to load on demand if they don't already
  9292. * exist on `window`. Should currently point to location of CanVG library,
  9293. * jsPDF and svg2pdf.js, required for client side export in certain
  9294. * browsers.
  9295. */
  9296. libURL?: string;
  9297. /**
  9298. * (Highcharts, Highstock, Highmaps, Gantt) An object consisting of
  9299. * definitions for the menu items in the context menu. Each key value pair
  9300. * has a `key` that is referenced in the menuItems setting, and a `value`,
  9301. * which is an object with the following properties:
  9302. *
  9303. * - **onclick:** The click handler for the menu item
  9304. *
  9305. * - **text:** The text for the menu item
  9306. *
  9307. * - **textKey:** If internationalization is required, the key to a language
  9308. * string
  9309. *
  9310. * Custom text for the "exitFullScreen" can be set only in lang options (it
  9311. * is not a separate button).
  9312. */
  9313. menuItemDefinitions?: Dictionary<ExportingMenuObject>;
  9314. /**
  9315. * (Highcharts, Highstock, Highmaps, Gantt) When printing the chart from the
  9316. * menu item in the burger menu, if the on-screen chart exceeds this width,
  9317. * it is resized. After printing or cancelled, it is restored. The default
  9318. * width makes the chart fit into typical paper format. Note that this does
  9319. * not affect the chart when printing the web page as a whole.
  9320. */
  9321. printMaxWidth?: number;
  9322. /**
  9323. * (Highcharts, Highstock, Highmaps, Gantt) Defines the scale or zoom factor
  9324. * for the exported image compared to the on-screen display. While for
  9325. * instance a 600px wide chart may look good on a website, it will look bad
  9326. * in print. The default scale of 2 makes this chart export to a 1200px PNG
  9327. * or JPG.
  9328. */
  9329. scale?: number;
  9330. /**
  9331. * (Highcharts, Highstock, Highmaps, Gantt) Show a HTML table below the
  9332. * chart with the chart's current data.
  9333. */
  9334. showTable?: boolean;
  9335. /**
  9336. * (Highcharts, Highstock, Highmaps, Gantt) Analogous to sourceWidth.
  9337. */
  9338. sourceHeight?: number;
  9339. /**
  9340. * (Highcharts, Highstock, Highmaps, Gantt) The width of the original chart
  9341. * when exported, unless an explicit chart.width is set, or a pixel width is
  9342. * set on the container. The width exported raster image is then multiplied
  9343. * by scale.
  9344. */
  9345. sourceWidth?: number;
  9346. /**
  9347. * (Highcharts, Highstock, Highmaps, Gantt) Caption for the data table. Same
  9348. * as chart title by default. Set to `false` to disable.
  9349. */
  9350. tableCaption?: (boolean|string);
  9351. /**
  9352. * (Highcharts, Highstock, Highmaps, Gantt) Default MIME type for exporting
  9353. * if `chart.exportChart()` is called without specifying a `type` option.
  9354. * Possible values are `image/png`, `image/jpeg`, `application/pdf` and
  9355. * `image/svg+xml`.
  9356. */
  9357. type?: ExportingMimeTypeValue;
  9358. /**
  9359. * (Highcharts, Highstock, Highmaps, Gantt) The URL for the server module
  9360. * converting the SVG string to an image format. By default this points to
  9361. * Highchart's free web service.
  9362. */
  9363. url?: string;
  9364. /**
  9365. * (Highcharts, Highstock, Highmaps, Gantt) Use multi level headers in data
  9366. * table. If csv.columnHeaderFormatter is defined, it has to return objects
  9367. * in order for multi level headers to work.
  9368. */
  9369. useMultiLevelHeaders?: boolean;
  9370. /**
  9371. * (Highcharts, Highstock, Highmaps, Gantt) If using multi level table
  9372. * headers, use rowspans for headers that have only one level.
  9373. */
  9374. useRowspanHeaders?: boolean;
  9375. /**
  9376. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of charts
  9377. * exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is
  9378. * a function of the chart.width or exporting.sourceWidth and the
  9379. * exporting.scale.
  9380. */
  9381. width?: number;
  9382. }
  9383. /**
  9384. * The returned object literal from the Highcharts.Axis#getExtremes function.
  9385. */
  9386. export interface ExtremesObject {
  9387. /**
  9388. * The maximum value of the axis' associated series.
  9389. */
  9390. dataMax: number;
  9391. /**
  9392. * The minimum value of the axis' associated series.
  9393. */
  9394. dataMin: number;
  9395. /**
  9396. * The maximum axis value, either automatic or set manually. If the `max`
  9397. * option is not set, `maxPadding` is 0 and `endOnTick` is false, this value
  9398. * will be the same as `dataMax`.
  9399. */
  9400. max: number;
  9401. /**
  9402. * The minimum axis value, either automatic or set manually. If the `min`
  9403. * option is not set, `minPadding` is 0 and `startOnTick` is false, this
  9404. * value will be the same as `dataMin`.
  9405. */
  9406. min: number;
  9407. /**
  9408. * The user defined maximum, either from the `max` option or from a zoom or
  9409. * `setExtremes` action.
  9410. */
  9411. userMax: number;
  9412. /**
  9413. * The user defined minimum, either from the `min` option or from a zoom or
  9414. * `setExtremes` action.
  9415. */
  9416. userMin: number;
  9417. }
  9418. /**
  9419. * The font metrics.
  9420. */
  9421. export interface FontMetricsObject {
  9422. /**
  9423. * The baseline relative to the top of the box.
  9424. */
  9425. b: number;
  9426. /**
  9427. * The font size.
  9428. */
  9429. f: number;
  9430. /**
  9431. * The line height.
  9432. */
  9433. h: number;
  9434. }
  9435. /**
  9436. * (Gantt) Data for a Gantt series.
  9437. */
  9438. export interface GanttPointOptionsObject {
  9439. /**
  9440. * (Gantt) Accessibility options for a data point.
  9441. */
  9442. accessibility?: PointAccessibilityOptionsObject;
  9443. /**
  9444. * (Gantt) Whether the grid node belonging to this point should start as
  9445. * collapsed. Used in axes of type treegrid.
  9446. */
  9447. collapsed?: boolean;
  9448. /**
  9449. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  9450. * the color is pulled from the global `colors` array.
  9451. *
  9452. * In styled mode, the `color` option doesn't take effect. Instead, use
  9453. * `colorIndex`.
  9454. */
  9455. color?: (ColorString|GradientColorObject|PatternObject);
  9456. /**
  9457. * (Highcharts, Gantt) A specific color index to use for the point, so its
  9458. * graphic representations are given the class name `highcharts-color-{n}`.
  9459. * In styled mode this will change the color of the graphic. In non-styled
  9460. * mode, the color by is set by the `fill` attribute, so the change in class
  9461. * name won't have a visual effect by default.
  9462. */
  9463. colorIndex?: number;
  9464. /**
  9465. * (Gantt) Progress indicator, how much of the task completed. If it is a
  9466. * number, the `fill` will be applied automatically.
  9467. */
  9468. completed?: (number|XrangePointPartialFillOptionsObject);
  9469. /**
  9470. * (Gantt) A reserved subspace to store options and values for customized
  9471. * functionality. Here you can add additional data for your own event
  9472. * callbacks and formatter callbacks.
  9473. */
  9474. custom?: Dictionary<any>;
  9475. /**
  9476. * (Gantt) The ID of the point (task) that this point depends on in Gantt
  9477. * charts. Aliases connect. Can also be an object, specifying further
  9478. * connecting options between the points. Multiple connections can be
  9479. * specified by providing an array.
  9480. */
  9481. dependency?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  9482. /**
  9483. * (Gantt) A description of the point to add to the screen reader
  9484. * information about the point.
  9485. */
  9486. description?: string;
  9487. /**
  9488. * (Gantt) Point specific options for the draggable-points module. Overrides
  9489. * options on `series.dragDrop`.
  9490. */
  9491. dragDrop?: SeriesLineDataDragDropOptions;
  9492. /**
  9493. * (Highcharts) The `id` of a series in the drilldown.series array to use
  9494. * for a drilldown for this point.
  9495. */
  9496. drilldown?: string;
  9497. /**
  9498. * (Gantt) The end time of a task.
  9499. */
  9500. end?: number;
  9501. /**
  9502. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  9503. * after render time to get a pointer to the point object through
  9504. * `chart.get()`.
  9505. */
  9506. id?: string;
  9507. /**
  9508. * (Gantt) The rank for this point's data label in case of collision. If two
  9509. * data labels are about to overlap, only the one with the highest
  9510. * `labelrank` will be drawn.
  9511. */
  9512. labelrank?: number;
  9513. /**
  9514. * (Highcharts, Highstock) Options for the point markers of line-like
  9515. * series.
  9516. */
  9517. marker?: PointMarkerOptionsObject;
  9518. /**
  9519. * (Gantt) Whether this point is a milestone. If so, only the `start` option
  9520. * is handled, while `end` is ignored.
  9521. */
  9522. milestone?: boolean;
  9523. /**
  9524. * (Gantt) The name of a task. If a `treegrid` y-axis is used (default in
  9525. * Gantt charts), this will be picked up automatically, and used to
  9526. * calculate the y-value.
  9527. */
  9528. name?: string;
  9529. /**
  9530. * (Gantt) The ID of the parent point (task) of this point in Gantt charts.
  9531. */
  9532. parent?: string;
  9533. /**
  9534. * (Gantt) The start time of a task.
  9535. */
  9536. start?: number;
  9537. /**
  9538. * (Gantt) The Y value of a task.
  9539. */
  9540. y?: number;
  9541. }
  9542. /**
  9543. * Represents the loose structure of a geographic JSON file.
  9544. */
  9545. export interface GeoJSON {
  9546. /**
  9547. * Full copyright note of the geographic data.
  9548. */
  9549. copyright?: string;
  9550. /**
  9551. * Short copyright note of the geographic data suitable for watermarks.
  9552. */
  9553. copyrightShort?: string;
  9554. /**
  9555. * Additional meta information based on the coordinate reference system.
  9556. */
  9557. crs?: Dictionary<any>;
  9558. /**
  9559. * Data sets of geographic features.
  9560. */
  9561. features: Array<GeoJSONFeature>;
  9562. /**
  9563. * Map projections and transformations to be used when calculating between
  9564. * lat/lon and chart values. Required for lat/lon support on maps. Allows
  9565. * resizing, rotating, and moving portions of a map within its projected
  9566. * coordinate system while still retaining lat/lon support. If using lat/lon
  9567. * on a portion of the map that does not match a `hitZone`, the definition
  9568. * with the key `default` is used.
  9569. */
  9570. "hc-transform"?: Dictionary<GeoJSONTranslation>;
  9571. /**
  9572. * Title of the geographic data.
  9573. */
  9574. title?: string;
  9575. /**
  9576. * Type of the geographic data. Type of an optimized map collection is
  9577. * `FeatureCollection`.
  9578. */
  9579. type?: string;
  9580. /**
  9581. * Version of the geographic data.
  9582. */
  9583. version?: string;
  9584. }
  9585. /**
  9586. * Data set of a geographic feature.
  9587. */
  9588. export interface GeoJSONFeature extends Dictionary<any> {
  9589. /**
  9590. * Data type of the geographic feature.
  9591. */
  9592. type: string;
  9593. }
  9594. /**
  9595. * Describes the map projection and transformations applied to a portion of a
  9596. * map.
  9597. */
  9598. export interface GeoJSONTranslation {
  9599. /**
  9600. * The coordinate reference system used to generate this portion of the map.
  9601. */
  9602. crs: string;
  9603. /**
  9604. * Define the portion of the map that this defintion applies to. Defined as
  9605. * a GeoJSON polygon feature object, with `type` and `coordinates`
  9606. * properties.
  9607. */
  9608. hitZone?: Dictionary<any>;
  9609. /**
  9610. * Property for internal use for maps generated by Highsoft.
  9611. */
  9612. jsonmarginX?: number;
  9613. /**
  9614. * Property for internal use for maps generated by Highsoft.
  9615. */
  9616. jsonmarginY?: number;
  9617. /**
  9618. * Property for internal use for maps generated by Highsoft.
  9619. */
  9620. jsonres?: number;
  9621. /**
  9622. * Specifies clockwise rotation of the coordinates after the projection, but
  9623. * before scaling and panning. Defined in radians, relative to the
  9624. * coordinate system origin.
  9625. */
  9626. rotation?: number;
  9627. /**
  9628. * The scaling factor applied to the projected coordinates.
  9629. */
  9630. scale?: number;
  9631. /**
  9632. * Property for internal use for maps generated by Highsoft.
  9633. */
  9634. xoffset?: number;
  9635. /**
  9636. * X offset of projected coordinates after scaling.
  9637. */
  9638. xpan?: number;
  9639. /**
  9640. * Property for internal use for maps generated by Highsoft.
  9641. */
  9642. yoffset?: number;
  9643. /**
  9644. * Y offset of projected coordinates after scaling.
  9645. */
  9646. ypan?: number;
  9647. }
  9648. export interface GlobalOptions {
  9649. /**
  9650. * (Highcharts, Highstock, Highmaps, Gantt) Path to the pattern image
  9651. * required by VML browsers in order to draw radial gradients.
  9652. */
  9653. VMLRadialGradientURL?: string;
  9654. }
  9655. /**
  9656. * Gradient options instead of a solid color.
  9657. */
  9658. export interface GradientColorObject {
  9659. /**
  9660. * Holds an object that defines the start position and the end position
  9661. * relative to the shape.
  9662. */
  9663. linearGradient?: LinearGradientColorObject;
  9664. /**
  9665. * Holds an object that defines the center position and the radius.
  9666. */
  9667. radialGradient?: RadialGradientColorObject;
  9668. /**
  9669. * The first item in each tuple is the position in the gradient, where 0 is
  9670. * the start of the gradient and 1 is the end of the gradient. Multiple
  9671. * stops can be applied. The second item is the color for each stop. This
  9672. * color can also be given in the rgba format.
  9673. */
  9674. stops: Array<GradientColorStopObject>;
  9675. }
  9676. /**
  9677. * Color stop tuple.
  9678. */
  9679. export interface GradientColorStopObject {
  9680. 0: number;
  9681. 1: ColorString;
  9682. color?: Color;
  9683. }
  9684. /**
  9685. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border drawn
  9686. * around elements while navigating through them.
  9687. */
  9688. export interface KeyboardNavigationFocusBorderOptionsObject {
  9689. /**
  9690. * (Highcharts, Highstock, Highmaps, Gantt) Enable/disable focus border for
  9691. * chart.
  9692. */
  9693. enabled?: boolean;
  9694. /**
  9695. * (Highcharts, Highstock, Highmaps, Gantt) Hide the browser's default focus
  9696. * indicator.
  9697. */
  9698. hideBrowserFocusOutline?: boolean;
  9699. /**
  9700. * (Highcharts, Highstock, Highmaps, Gantt) Focus border margin around the
  9701. * elements.
  9702. */
  9703. margin?: number;
  9704. /**
  9705. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the focus
  9706. * border drawn around elements while navigating through them. Note that
  9707. * some browsers in addition draw their own borders for focused elements.
  9708. * These automatic borders can not be styled by Highcharts.
  9709. *
  9710. * In styled mode, the border is given the `.highcharts-focus-border` class.
  9711. */
  9712. style?: CSSObject;
  9713. }
  9714. /**
  9715. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
  9716. */
  9717. export interface KeyboardNavigationOptionsObject {
  9718. /**
  9719. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  9720. * the chart.
  9721. */
  9722. enabled?: boolean;
  9723. /**
  9724. * (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border
  9725. * drawn around elements while navigating through them.
  9726. */
  9727. focusBorder?: KeyboardNavigationFocusBorderOptionsObject;
  9728. /**
  9729. * (Highcharts, Highstock, Highmaps, Gantt) Order of tab navigation in the
  9730. * chart. Determines which elements are tabbed to first. Available elements
  9731. * are: `series`, `zoom`, `rangeSelector`, `chartMenu`, `legend` and
  9732. * `container`. In addition, any custom components can be added here. Adding
  9733. * `container` first in order will make the keyboard focus stop on the chart
  9734. * container first, requiring the user to tab again to enter the chart.
  9735. */
  9736. order?: Array<string>;
  9737. /**
  9738. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard
  9739. * navigation of data points and series.
  9740. */
  9741. seriesNavigation?: KeyboardNavigationSeriesNavigationOptionsObject;
  9742. /**
  9743. * (Highcharts, Highstock, Highmaps, Gantt) Whether or not to wrap around
  9744. * when reaching the end of arrow-key navigation for an element in the
  9745. * chart.
  9746. */
  9747. wrapAround?: boolean;
  9748. }
  9749. /**
  9750. * (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard navigation
  9751. * of data points and series.
  9752. */
  9753. export interface KeyboardNavigationSeriesNavigationOptionsObject {
  9754. /**
  9755. * (Highcharts, Highstock, Highmaps, Gantt) Set the keyboard navigation mode
  9756. * for the chart. Can be "normal" or "serialize". In normal mode, left/right
  9757. * arrow keys move between points in a series, while up/down arrow keys move
  9758. * between series. Up/down navigation acts intelligently to figure out which
  9759. * series makes sense to move to from any given point.
  9760. *
  9761. * In "serialize" mode, points are instead navigated as a single list.
  9762. * Left/right behaves as in "normal" mode. Up/down arrow keys will behave
  9763. * like left/right. This can be useful for unifying navigation behavior
  9764. * with/without screen readers enabled.
  9765. */
  9766. mode?: OptionsModeValue;
  9767. /**
  9768. * (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
  9769. * points than this, we no longer allow keyboard navigation for it.
  9770. *
  9771. * Set to `false` to disable.
  9772. */
  9773. pointNavigationEnabledThreshold?: (boolean|number);
  9774. /**
  9775. * (Highcharts, Highstock, Highmaps, Gantt) Skip null points when navigating
  9776. * through points with the keyboard.
  9777. */
  9778. skipNullPoints?: boolean;
  9779. }
  9780. /**
  9781. * Containing the position of a box that should be avoided by labels.
  9782. */
  9783. export interface LabelIntersectBoxObject {
  9784. bottom: number;
  9785. left: number;
  9786. right: number;
  9787. top: number;
  9788. }
  9789. /**
  9790. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new data in
  9791. * charts. If addPoint or addSeries is used, and only one series/point is added,
  9792. * the `newPointAnnounce` and `newSeriesAnnounce` strings are used. The
  9793. * `...Single` versions will be used if there is only one chart on the page, and
  9794. * the `...Multiple` versions will be used if there are multiple charts on the
  9795. * page. For all other new data events, the `newDataAnnounce` string will be
  9796. * used.
  9797. */
  9798. export interface LangAccessibilityAnnounceNewDataOptions {
  9799. newDataAnnounce?: string;
  9800. newPointAnnounceMultiple?: string;
  9801. newPointAnnounceSingle?: string;
  9802. newSeriesAnnounceMultiple?: string;
  9803. newSeriesAnnounceSingle?: string;
  9804. }
  9805. /**
  9806. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9807. */
  9808. export interface LangAccessibilityAxisOptions {
  9809. rangeCategories?: string;
  9810. rangeFromTo?: string;
  9811. timeRangeDays?: string;
  9812. timeRangeHours?: string;
  9813. timeRangeMinutes?: string;
  9814. timeRangeSeconds?: string;
  9815. xAxisDescriptionPlural?: string;
  9816. xAxisDescriptionSingular?: string;
  9817. yAxisDescriptionPlural?: string;
  9818. yAxisDescriptionSingular?: string;
  9819. }
  9820. /**
  9821. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings. This
  9822. * is added to the chart information region.
  9823. *
  9824. * If there is only a single series type used in the chart, we use the format
  9825. * string for the series type, or default if missing. There is one format string
  9826. * for cases where there is only a single series in the chart, and one for
  9827. * multiple series of the same type.
  9828. */
  9829. export interface LangAccessibilityChartTypesOptions {
  9830. barMultiple?: string;
  9831. barSingle?: string;
  9832. boxplotMultiple?: string;
  9833. boxplotSingle?: string;
  9834. bubbleMultiple?: string;
  9835. bubbleSingle?: string;
  9836. columnMultiple?: string;
  9837. columnSingle?: string;
  9838. combinationChart?: string;
  9839. defaultMultiple?: string;
  9840. defaultSingle?: string;
  9841. emptyChart?: string;
  9842. lineMultiple?: string;
  9843. lineSingle?: string;
  9844. mapTypeDescription?: string;
  9845. pieMultiple?: string;
  9846. pieSingle?: string;
  9847. scatterMultiple?: string;
  9848. scatterSingle?: string;
  9849. splineMultiple?: string;
  9850. splineSingle?: string;
  9851. unknownMap?: string;
  9852. }
  9853. /**
  9854. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings for
  9855. * accessibility module.
  9856. */
  9857. export interface LangAccessibilityExportingOptions {
  9858. chartMenuLabel?: string;
  9859. exportRegionLabel?: string;
  9860. menuButtonLabel?: string;
  9861. }
  9862. /**
  9863. * (Highcharts, Highstock, Highmaps, Gantt) Language options for accessibility
  9864. * of the legend.
  9865. */
  9866. export interface LangAccessibilityLegendOptions {
  9867. legendItem?: string;
  9868. legendLabel?: string;
  9869. legendLabelNoTitle?: string;
  9870. }
  9871. /**
  9872. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility strings
  9873. * in the chart. Requires the accessibility module to be loaded. For a
  9874. * description of the module and information on its features, see Highcharts
  9875. * Accessibility.
  9876. *
  9877. * For more dynamic control over the accessibility functionality, see
  9878. * accessibility.point.descriptionFormatter,
  9879. * accessibility.series.descriptionFormatter, and
  9880. * accessibility.screenReaderSection.beforeChartFormatter.
  9881. */
  9882. export interface LangAccessibilityOptions {
  9883. /**
  9884. * (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new
  9885. * data in charts. If addPoint or addSeries is used, and only one
  9886. * series/point is added, the `newPointAnnounce` and `newSeriesAnnounce`
  9887. * strings are used. The `...Single` versions will be used if there is only
  9888. * one chart on the page, and the `...Multiple` versions will be used if
  9889. * there are multiple charts on the page. For all other new data events, the
  9890. * `newDataAnnounce` string will be used.
  9891. */
  9892. announceNewData?: LangAccessibilityAnnounceNewDataOptions;
  9893. /**
  9894. * (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
  9895. */
  9896. axis?: LangAccessibilityAxisOptions;
  9897. chartContainerLabel?: string;
  9898. /**
  9899. * (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings.
  9900. * This is added to the chart information region.
  9901. *
  9902. * If there is only a single series type used in the chart, we use the
  9903. * format string for the series type, or default if missing. There is one
  9904. * format string for cases where there is only a single series in the chart,
  9905. * and one for multiple series of the same type.
  9906. */
  9907. chartTypes?: LangAccessibilityChartTypesOptions;
  9908. credits?: string;
  9909. defaultChartTitle?: string;
  9910. drillUpButton?: string;
  9911. /**
  9912. * (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings
  9913. * for accessibility module.
  9914. */
  9915. exporting?: LangAccessibilityExportingOptions;
  9916. /**
  9917. * (Highcharts, Highstock, Highmaps, Gantt) Set a label on the container
  9918. * wrapping the SVG.
  9919. */
  9920. graphicContainerLabel?: string;
  9921. /**
  9922. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9923. * accessibility of the legend.
  9924. */
  9925. legend?: LangAccessibilityLegendOptions;
  9926. /**
  9927. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options
  9928. * for accessibility.
  9929. */
  9930. rangeSelector?: LangAccessibilityRangeSelectorOptions;
  9931. /**
  9932. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  9933. * reader information sections added before and after the charts.
  9934. */
  9935. screenReaderSection?: LangAccessibilityScreenReaderSectionOptions;
  9936. /**
  9937. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  9938. * series types. For more dynamic control over the series element
  9939. * descriptions, see accessibility.seriesDescriptionFormatter.
  9940. */
  9941. series?: LangAccessibilitySeriesOptions;
  9942. /**
  9943. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known
  9944. * series types. The relevant description is added to the screen reader
  9945. * information region when these series types are used.
  9946. */
  9947. seriesTypeDescriptions?: LangAccessibilitySeriesTypeDescriptionsOptions;
  9948. /**
  9949. * (Highcharts, Highstock, Highmaps, Gantt) Language options for
  9950. * sonification.
  9951. */
  9952. sonification?: LangAccessibilitySonificationOptions;
  9953. svgContainerLabel?: string;
  9954. /**
  9955. * (Highcharts, Highstock, Highmaps, Gantt) Title element text for the chart
  9956. * SVG element. Leave this empty to disable adding the title element.
  9957. * Browsers will display this content when hovering over elements in the
  9958. * chart. Assistive technology may use this element to label the chart.
  9959. */
  9960. svgContainerTitle?: string;
  9961. /**
  9962. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options
  9963. * for the data table.
  9964. */
  9965. table?: LangAccessibilityTableOptions;
  9966. /**
  9967. * (Highcharts, Highstock, Highmaps, Gantt) Thousands separator to use when
  9968. * formatting numbers for screen readers. Note that many screen readers will
  9969. * not handle space as a thousands separator, and will consider "11 700" as
  9970. * two numbers.
  9971. *
  9972. * Set to `null` to use the separator defined in lang.thousandsSep.
  9973. */
  9974. thousandsSep?: string;
  9975. /**
  9976. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  9977. * language options.
  9978. */
  9979. zoom?: LangAccessibilityZoomOptions;
  9980. }
  9981. /**
  9982. * (Highcharts, Highstock, Highmaps, Gantt) Range selector language options for
  9983. * accessibility.
  9984. */
  9985. export interface LangAccessibilityRangeSelectorOptions {
  9986. clickButtonAnnouncement?: string;
  9987. dropdownLabel?: string;
  9988. maxInputLabel?: string;
  9989. minInputLabel?: string;
  9990. }
  9991. /**
  9992. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  9993. * descriptions.
  9994. */
  9995. export interface LangAccessibilityScreenReaderSectionAnnotationsOptions {
  9996. descriptionMultiplePoints?: string;
  9997. descriptionNoPoints?: string;
  9998. descriptionSinglePoint?: string;
  9999. heading?: string;
  10000. }
  10001. /**
  10002. * (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
  10003. * reader information sections added before and after the charts.
  10004. */
  10005. export interface LangAccessibilityScreenReaderSectionOptions {
  10006. afterRegionLabel?: string;
  10007. /**
  10008. * (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
  10009. * descriptions.
  10010. */
  10011. annotations?: LangAccessibilityScreenReaderSectionAnnotationsOptions;
  10012. beforeRegionLabel?: string;
  10013. /**
  10014. * (Highcharts, Highstock, Highmaps, Gantt) Label for the end of the chart.
  10015. * Announced by screen readers.
  10016. */
  10017. endOfChartMarker?: string;
  10018. }
  10019. /**
  10020. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
  10021. * series types. For more dynamic control over the series element descriptions,
  10022. * see accessibility.seriesDescriptionFormatter.
  10023. */
  10024. export interface LangAccessibilitySeriesOptions {
  10025. /**
  10026. * (Highcharts, Highstock, Highmaps, Gantt) User supplied description text.
  10027. * This is added in the point comment description by default if present.
  10028. */
  10029. description?: string;
  10030. /**
  10031. * (Highcharts, Highstock, Highmaps, Gantt) Description for the value of
  10032. * null points.
  10033. */
  10034. nullPointValue?: string;
  10035. /**
  10036. * (Highcharts, Highstock, Highmaps, Gantt) Description for annotations on a
  10037. * point, as it is made available to assistive technology.
  10038. */
  10039. pointAnnotationsDescription?: string;
  10040. /**
  10041. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the
  10042. * series main summary. Each series type has two modes:
  10043. *
  10044. * 1. This series type is the only series type used in the chart
  10045. *
  10046. * 2. This is a combination chart with multiple series types
  10047. *
  10048. * If a definition does not exist for the specific series type and mode, the
  10049. * 'default' lang definitions are used.
  10050. */
  10051. summary?: LangAccessibilitySeriesSummaryOptions;
  10052. /**
  10053. * (Highcharts, Highstock, Highmaps, Gantt) xAxis description for series if
  10054. * there are multiple xAxes in the chart.
  10055. */
  10056. xAxisDescription?: string;
  10057. /**
  10058. * (Highcharts, Highstock, Highmaps, Gantt) yAxis description for series if
  10059. * there are multiple yAxes in the chart.
  10060. */
  10061. yAxisDescription?: string;
  10062. }
  10063. /**
  10064. * (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the series
  10065. * main summary. Each series type has two modes:
  10066. *
  10067. * 1. This series type is the only series type used in the chart
  10068. *
  10069. * 2. This is a combination chart with multiple series types
  10070. *
  10071. * If a definition does not exist for the specific series type and mode, the
  10072. * 'default' lang definitions are used.
  10073. */
  10074. export interface LangAccessibilitySeriesSummaryOptions {
  10075. bar?: string;
  10076. barCombination?: string;
  10077. boxplot?: string;
  10078. boxplotCombination?: string;
  10079. bubble?: string;
  10080. bubbleCombination?: string;
  10081. column?: string;
  10082. columnCombination?: string;
  10083. default?: string;
  10084. defaultCombination?: string;
  10085. line?: string;
  10086. lineCombination?: string;
  10087. map?: string;
  10088. mapbubble?: string;
  10089. mapbubbleCombination?: string;
  10090. mapCombination?: string;
  10091. mapline?: string;
  10092. maplineCombination?: string;
  10093. pie?: string;
  10094. pieCombination?: string;
  10095. scatter?: string;
  10096. scatterCombination?: string;
  10097. spline?: string;
  10098. splineCombination?: string;
  10099. }
  10100. /**
  10101. * (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known series
  10102. * types. The relevant description is added to the screen reader information
  10103. * region when these series types are used.
  10104. */
  10105. export interface LangAccessibilitySeriesTypeDescriptionsOptions {
  10106. arearange?: string;
  10107. areasplinerange?: string;
  10108. boxplot?: string;
  10109. bubble?: string;
  10110. columnrange?: string;
  10111. errorbar?: string;
  10112. funnel?: string;
  10113. pyramid?: string;
  10114. waterfall?: string;
  10115. }
  10116. /**
  10117. * (Highcharts, Highstock, Highmaps, Gantt) Language options for sonification.
  10118. */
  10119. export interface LangAccessibilitySonificationOptions {
  10120. playAsSoundButtonText?: string;
  10121. playAsSoundClickAnnouncement?: string;
  10122. }
  10123. /**
  10124. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options for
  10125. * the data table.
  10126. */
  10127. export interface LangAccessibilityTableOptions {
  10128. tableSummary?: string;
  10129. viewAsDataTableButtonText?: string;
  10130. }
  10131. /**
  10132. * (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
  10133. * language options.
  10134. */
  10135. export interface LangAccessibilityZoomOptions {
  10136. mapZoomIn?: string;
  10137. mapZoomOut?: string;
  10138. resetZoomButton?: string;
  10139. }
  10140. /**
  10141. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  10142. */
  10143. export interface LangExportDataOptions {
  10144. /**
  10145. * (Highcharts, Highstock, Highmaps, Gantt) The annotation column title.
  10146. */
  10147. annotationHeader?: string;
  10148. /**
  10149. * (Highcharts, Highstock, Highmaps, Gantt) The category column title when
  10150. * axis type set to "datetime".
  10151. */
  10152. categoryDatetimeHeader?: string;
  10153. /**
  10154. * (Highcharts, Highstock, Highmaps, Gantt) The category column title.
  10155. */
  10156. categoryHeader?: string;
  10157. }
  10158. /**
  10159. * (Highcharts, Highstock) Configure the Popup strings in the chart. Requires
  10160. * the `annotations.js` or `annotations-advanced.src.js` module to be loaded.
  10161. */
  10162. export interface LangNavigationOptions {
  10163. /**
  10164. * (Highcharts, Highstock) Translations for all field names used in popup.
  10165. */
  10166. popup?: LangNavigationPopupOptions;
  10167. }
  10168. /**
  10169. * (Highcharts, Highstock) Translations for all field names used in popup.
  10170. */
  10171. export interface LangNavigationPopupOptions {
  10172. addButton?: string;
  10173. algorithm?: string;
  10174. arrowLine?: string;
  10175. arrowRay?: string;
  10176. arrowSegment?: string;
  10177. average?: string;
  10178. background?: string;
  10179. backgroundColor?: string;
  10180. backgroundColors?: string;
  10181. borderColor?: string;
  10182. borderRadius?: string;
  10183. borderWidth?: string;
  10184. bottomBand?: string;
  10185. circle?: string;
  10186. color?: string;
  10187. connector?: string;
  10188. crooked3?: string;
  10189. crooked5?: string;
  10190. crosshairX?: string;
  10191. crosshairY?: string;
  10192. decimals?: string;
  10193. deviation?: string;
  10194. editButton?: string;
  10195. elliott3?: string;
  10196. elliott5?: string;
  10197. factor?: string;
  10198. fastAvgPeriod?: string;
  10199. fibonacci?: string;
  10200. fill?: string;
  10201. flags?: string;
  10202. fontSize?: string;
  10203. format?: string;
  10204. height?: string;
  10205. highIndex?: string;
  10206. horizontalLine?: string;
  10207. increment?: string;
  10208. index?: string;
  10209. infinityLine?: string;
  10210. initialAccelerationFactor?: string;
  10211. innerBackground?: string;
  10212. label?: string;
  10213. labelOptions?: string;
  10214. labels?: string;
  10215. line?: string;
  10216. lines?: string;
  10217. longPeriod?: string;
  10218. lowIndex?: string;
  10219. maxAccelerationFactor?: string;
  10220. measure?: string;
  10221. measureX?: string;
  10222. measureXY?: string;
  10223. measureY?: string;
  10224. multiplier?: string;
  10225. multiplierATR?: string;
  10226. name?: string;
  10227. outerBackground?: string;
  10228. padding?: string;
  10229. parallelChannel?: string;
  10230. period?: string;
  10231. periodATR?: string;
  10232. periodSenkouSpanB?: string;
  10233. periodTenkan?: string;
  10234. pitchfork?: string;
  10235. ranges?: string;
  10236. ray?: string;
  10237. rectangle?: string;
  10238. removeButton?: string;
  10239. saveButton?: string;
  10240. segment?: string;
  10241. series?: string;
  10242. shapeOptions?: string;
  10243. shapes?: string;
  10244. shortPeriod?: string;
  10245. signalPeriod?: string;
  10246. simpleShapes?: string;
  10247. slowAvgPeriod?: string;
  10248. standardDeviation?: string;
  10249. stroke?: string;
  10250. strokeWidth?: string;
  10251. style?: string;
  10252. title?: string;
  10253. topBand?: string;
  10254. tunnel?: string;
  10255. typeOptions?: string;
  10256. verticalArrow?: string;
  10257. verticalCounter?: string;
  10258. verticalLabel?: string;
  10259. verticalLine?: string;
  10260. volume?: string;
  10261. xAxisUnit?: string;
  10262. }
  10263. /**
  10264. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language object
  10265. * is global and it can't be set on each chart initialization. Instead, use
  10266. * `Highcharts.setOptions` to set it before any chart is initialized. (see
  10267. * online documentation for example)
  10268. */
  10269. export interface LangOptions {
  10270. /**
  10271. * (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility
  10272. * strings in the chart. Requires the accessibility module to be loaded. For
  10273. * a description of the module and information on its features, see
  10274. * Highcharts Accessibility.
  10275. *
  10276. * For more dynamic control over the accessibility functionality, see
  10277. * accessibility.point.descriptionFormatter,
  10278. * accessibility.series.descriptionFormatter, and
  10279. * accessibility.screenReaderSection.beforeChartFormatter.
  10280. */
  10281. accessibility?: LangAccessibilityOptions;
  10282. /**
  10283. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module menu. The
  10284. * tooltip title for the context menu holding print and export menu items.
  10285. */
  10286. contextButtonTitle?: string;
  10287. /**
  10288. * (Highcharts, Highstock, Highmaps, Gantt) The default decimal point used
  10289. * in the `Highcharts.numberFormat` method unless otherwise specified in the
  10290. * function arguments.
  10291. */
  10292. decimalPoint?: string;
  10293. /**
  10294. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10295. */
  10296. downloadCSV?: string;
  10297. /**
  10298. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10299. * for the JPEG download menu item.
  10300. */
  10301. downloadJPEG?: string;
  10302. /**
  10303. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10304. * for the PDF download menu item.
  10305. */
  10306. downloadPDF?: string;
  10307. /**
  10308. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10309. * for the PNG download menu item.
  10310. */
  10311. downloadPNG?: string;
  10312. /**
  10313. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10314. * for the SVG download menu item.
  10315. */
  10316. downloadSVG?: string;
  10317. /**
  10318. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10319. */
  10320. downloadXLS?: string;
  10321. /**
  10322. * (Highcharts, Highmaps) The text for the button that appears when drilling
  10323. * down, linking back to the parent series. The parent series' name is
  10324. * inserted for `{series.name}`.
  10325. */
  10326. drillUpText?: string;
  10327. /**
  10328. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10329. * for the menu item to exit the chart from full screen.
  10330. */
  10331. exitFullscreen?: string;
  10332. /**
  10333. * (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
  10334. */
  10335. exportData?: LangExportDataOptions;
  10336. /**
  10337. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10338. */
  10339. hideData?: string;
  10340. /**
  10341. * (Highcharts, Highstock) What to show in a date field for invalid dates.
  10342. * Defaults to an empty string.
  10343. */
  10344. invalidDate?: string;
  10345. /**
  10346. * (Highcharts, Highstock, Highmaps, Gantt) The loading text that appears
  10347. * when the chart is set into the loading state following a call to
  10348. * `chart.showLoading`.
  10349. */
  10350. loading?: string;
  10351. /**
  10352. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10353. * names. Corresponds to the `%B` format in `Highcharts.dateFormat()`.
  10354. */
  10355. months?: Array<string>;
  10356. /**
  10357. * (Highcharts, Highstock) Configure the Popup strings in the chart.
  10358. * Requires the `annotations.js` or `annotations-advanced.src.js` module to
  10359. * be loaded.
  10360. */
  10361. navigation?: LangNavigationOptions;
  10362. /**
  10363. * (Highcharts, Highstock) The text to display when the chart contains no
  10364. * data.
  10365. */
  10366. noData?: string;
  10367. /**
  10368. * (Highcharts, Highstock, Highmaps, Gantt) The magnitude of numericSymbols
  10369. * replacements. Use 10000 for Japanese, Korean and various Chinese locales,
  10370. * which use symbols for 10^4, 10^8 and 10^12.
  10371. */
  10372. numericSymbolMagnitude?: number;
  10373. /**
  10374. * (Highcharts, Highstock, Highmaps, Gantt) Metric prefixes used to shorten
  10375. * high numbers in axis labels. Replacing any of the positions with `null`
  10376. * causes the full number to be written. Setting `numericSymbols` to `null`
  10377. * disables shortening altogether.
  10378. */
  10379. numericSymbols?: Array<string>;
  10380. /**
  10381. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10382. * for the menu item to print the chart.
  10383. */
  10384. printChart?: string;
  10385. /**
  10386. * (Highstock, Gantt) The text for the label for the "from" input box in the
  10387. * range selector. Since v9.0, this string is empty as the label is not
  10388. * rendered by default.
  10389. */
  10390. rangeSelectorFrom?: string;
  10391. /**
  10392. * (Highstock, Gantt) The text for the label for the "to" input box in the
  10393. * range selector.
  10394. */
  10395. rangeSelectorTo?: string;
  10396. /**
  10397. * (Highstock, Gantt) The text for the label for the range selector buttons.
  10398. */
  10399. rangeSelectorZoom?: string;
  10400. /**
  10401. * (Highcharts, Highstock, Highmaps, Gantt) The text for the label appearing
  10402. * when a chart is zoomed.
  10403. */
  10404. resetZoom?: string;
  10405. /**
  10406. * (Highcharts, Highstock, Highmaps, Gantt) The tooltip title for the label
  10407. * appearing when a chart is zoomed.
  10408. */
  10409. resetZoomTitle?: string;
  10410. /**
  10411. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
  10412. * names in abbreviated form. Corresponds to the `%b` format in
  10413. * `Highcharts.dateFormat()`.
  10414. */
  10415. shortMonths?: Array<string>;
  10416. /**
  10417. * (Highcharts, Highstock, Highmaps, Gantt) Short week days, starting
  10418. * Sunday. If not specified, Highcharts uses the first three letters of the
  10419. * `lang.weekdays` option.
  10420. */
  10421. shortWeekdays?: Array<string>;
  10422. /**
  10423. * (Highstock) Configure the stockTools GUI titles(hints) in the chart.
  10424. * Requires the `stock-tools.js` module to be loaded.
  10425. */
  10426. stockTools?: LangStockToolsOptions;
  10427. /**
  10428. * (Highcharts, Highstock, Highmaps, Gantt) The default thousands separator
  10429. * used in the `Highcharts.numberFormat` method unless otherwise specified
  10430. * in the function arguments. Defaults to a single space character, which is
  10431. * recommended in ISO 31-0 and works across Anglo-American and continental
  10432. * European languages.
  10433. */
  10434. thousandsSep?: string;
  10435. /**
  10436. * (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
  10437. */
  10438. viewData?: string;
  10439. /**
  10440. * (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
  10441. * for the menu item to view the chart in full screen.
  10442. */
  10443. viewFullscreen?: string;
  10444. /**
  10445. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the weekday
  10446. * names.
  10447. */
  10448. weekdays?: Array<string>;
  10449. /**
  10450. * (Highmaps) The title appearing on hovering the zoom in button. The text
  10451. * itself defaults to "+" and can be changed in the button options.
  10452. */
  10453. zoomIn?: string;
  10454. /**
  10455. * (Highmaps) The title appearing on hovering the zoom out button. The text
  10456. * itself defaults to "-" and can be changed in the button options.
  10457. */
  10458. zoomOut?: string;
  10459. }
  10460. export interface LangStockToolsGuiOptions {
  10461. advanced?: string;
  10462. arrowLine?: string;
  10463. arrowRay?: string;
  10464. arrowSegment?: string;
  10465. circle?: string;
  10466. crooked3?: string;
  10467. crooked5?: string;
  10468. crookedLines?: string;
  10469. currentPriceIndicator?: string;
  10470. elliott3?: string;
  10471. elliott5?: string;
  10472. fibonacci?: string;
  10473. flagCirclepin?: string;
  10474. flagDiamondpin?: string;
  10475. flags?: string;
  10476. flagSimplepin?: string;
  10477. flagSquarepin?: string;
  10478. fullScreen?: string;
  10479. horizontalLine?: string;
  10480. indicators?: string;
  10481. infinityLine?: string;
  10482. label?: string;
  10483. line?: string;
  10484. lines?: string;
  10485. measure?: string;
  10486. measureX?: string;
  10487. measureXY?: string;
  10488. measureY?: string;
  10489. parallelChannel?: string;
  10490. pitchfork?: string;
  10491. ray?: string;
  10492. rectangle?: string;
  10493. saveChart?: string;
  10494. segment?: string;
  10495. simpleShapes?: string;
  10496. toggleAnnotations?: string;
  10497. typeCandlestick?: string;
  10498. typeChange?: string;
  10499. typeLine?: string;
  10500. typeOHLC?: string;
  10501. verticalArrow?: string;
  10502. verticalCounter?: string;
  10503. verticalLabel?: string;
  10504. verticalLabels?: string;
  10505. verticalLine?: string;
  10506. zoomChange?: string;
  10507. zoomX?: string;
  10508. zoomXY?: string;
  10509. zoomY?: string;
  10510. }
  10511. /**
  10512. * (Highstock) Configure the stockTools GUI titles(hints) in the chart. Requires
  10513. * the `stock-tools.js` module to be loaded.
  10514. */
  10515. export interface LangStockToolsOptions {
  10516. gui?: LangStockToolsGuiOptions;
  10517. }
  10518. /**
  10519. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation for
  10520. * the legend.
  10521. */
  10522. export interface LegendAccessibilityKeyboardNavigationOptions {
  10523. /**
  10524. * (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
  10525. * the legend.
  10526. */
  10527. enabled?: boolean;
  10528. }
  10529. /**
  10530. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10531. * legend. Requires the Accessibility module.
  10532. */
  10533. export interface LegendAccessibilityOptions {
  10534. /**
  10535. * (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
  10536. * the legend.
  10537. */
  10538. enabled?: boolean;
  10539. /**
  10540. * (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation
  10541. * for the legend.
  10542. */
  10543. keyboardNavigation?: LegendAccessibilityKeyboardNavigationOptions;
  10544. }
  10545. /**
  10546. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10547. */
  10548. export interface LegendBubbleLegendLabelsOptions {
  10549. /**
  10550. * (Highcharts, Highstock, Highmaps) The alignment of the labels compared to
  10551. * the bubble legend. Can be one of `left`, `center` or `right`.
  10552. */
  10553. align?: AlignValue;
  10554. /**
  10555. * (Highcharts, Highstock, Highmaps) Whether to allow data labels to
  10556. * overlap.
  10557. */
  10558. allowOverlap?: boolean;
  10559. /**
  10560. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10561. * the bubble legend label graphical elements. This option does not replace
  10562. * default class names of the graphical element.
  10563. */
  10564. className?: string;
  10565. /**
  10566. * (Highcharts, Highstock, Highmaps) A format string for the bubble legend
  10567. * labels. Available variables are the same as for `formatter`.
  10568. */
  10569. format?: string;
  10570. /**
  10571. * (Highcharts, Highstock, Highmaps) Available `this` properties are:
  10572. *
  10573. * - `this.value`: The bubble value.
  10574. *
  10575. * - `this.radius`: The radius of the bubble range.
  10576. *
  10577. * - `this.center`: The center y position of the range.
  10578. */
  10579. formatter?: FormatterCallbackFunction<BubbleLegendFormatterContextObject>;
  10580. /**
  10581. * (Highcharts, Highstock, Highmaps) CSS styles for the labels.
  10582. */
  10583. style?: CSSObject;
  10584. /**
  10585. * (Highcharts, Highstock, Highmaps) The x position offset of the label
  10586. * relative to the connector.
  10587. */
  10588. x?: number;
  10589. /**
  10590. * (Highcharts, Highstock, Highmaps) The y position offset of the label
  10591. * relative to the connector.
  10592. */
  10593. y?: number;
  10594. }
  10595. /**
  10596. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional element
  10597. * in legend which presents the scale of the bubble series. Individual bubble
  10598. * ranges can be defined by user or calculated from series. In the case of
  10599. * automatically calculated ranges, a 1px margin of error is permitted.
  10600. */
  10601. export interface LegendBubbleLegendOptions {
  10602. /**
  10603. * (Highcharts, Highstock, Highmaps) The color of the ranges borders, can be
  10604. * also defined for an individual range.
  10605. */
  10606. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10607. /**
  10608. * (Highcharts, Highstock, Highmaps) The width of the ranges borders in
  10609. * pixels, can be also defined for an individual range.
  10610. */
  10611. borderWidth?: number;
  10612. /**
  10613. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10614. * the bubble legend' circle graphical elements. This option does not
  10615. * replace default class names of the graphical element.
  10616. */
  10617. className?: string;
  10618. /**
  10619. * (Highcharts, Highstock, Highmaps) The main color of the bubble legend.
  10620. * Applies to ranges, if individual color is not defined.
  10621. */
  10622. color?: (ColorString|GradientColorObject|PatternObject);
  10623. /**
  10624. * (Highcharts, Highstock, Highmaps) An additional class name to apply to
  10625. * the bubble legend's connector graphical elements. This option does not
  10626. * replace default class names of the graphical element.
  10627. */
  10628. connectorClassName?: string;
  10629. /**
  10630. * (Highcharts, Highstock, Highmaps) The color of the connector, can be also
  10631. * defined for an individual range.
  10632. */
  10633. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10634. /**
  10635. * (Highcharts, Highstock, Highmaps) The length of the connectors in pixels.
  10636. * If labels are centered, the distance is reduced to 0.
  10637. */
  10638. connectorDistance?: number;
  10639. /**
  10640. * (Highcharts, Highstock, Highmaps) The width of the connectors in pixels.
  10641. */
  10642. connectorWidth?: number;
  10643. /**
  10644. * (Highcharts, Highstock, Highmaps) Enable or disable the bubble legend.
  10645. */
  10646. enabled?: boolean;
  10647. /**
  10648. * (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
  10649. */
  10650. labels?: LegendBubbleLegendLabelsOptions;
  10651. /**
  10652. * (Highcharts, Highstock, Highmaps) The position of the bubble legend in
  10653. * the legend.
  10654. */
  10655. legendIndex?: number;
  10656. /**
  10657. * (Highcharts, Highstock, Highmaps) Miximum bubble legend range size. If
  10658. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10659. * calculated from bubble series.
  10660. */
  10661. maxSize?: number;
  10662. /**
  10663. * (Highcharts, Highstock, Highmaps) Minimum bubble legend range size. If
  10664. * values for ranges are not specified, the `minSize` and the `maxSize` are
  10665. * calculated from bubble series.
  10666. */
  10667. minSize?: number;
  10668. /**
  10669. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10670. * consists of bubble, label and connector.
  10671. */
  10672. ranges?: Array<LegendBubbleLegendRangesOptions>;
  10673. /**
  10674. * (Highcharts, Highstock, Highmaps) Whether the bubble legend range value
  10675. * should be represented by the area or the width of the bubble. The
  10676. * default, area, corresponds best to the human perception of the size of
  10677. * each bubble.
  10678. */
  10679. sizeBy?: BubbleSizeByValue;
  10680. /**
  10681. * (Highcharts, Highstock, Highmaps) When this is true, the absolute value
  10682. * of z determines the size of the bubble. This means that with the default
  10683. * zThreshold of 0, a bubble of value -1 will have the same size as a bubble
  10684. * of value 1, while a bubble of value 0 will have a smaller size according
  10685. * to minSize.
  10686. */
  10687. sizeByAbsoluteValue?: boolean;
  10688. /**
  10689. * (Highcharts, Highstock, Highmaps) Define the visual z index of the bubble
  10690. * legend.
  10691. */
  10692. zIndex?: number;
  10693. /**
  10694. * (Highcharts, Highstock, Highmaps) Ranges with with lower value than
  10695. * zThreshold, are skipped.
  10696. */
  10697. zThreshold?: number;
  10698. }
  10699. /**
  10700. * (Highcharts, Highstock, Highmaps) Options for specific range. One range
  10701. * consists of bubble, label and connector.
  10702. */
  10703. export interface LegendBubbleLegendRangesOptions {
  10704. /**
  10705. * (Highcharts, Highstock, Highmaps) The color of the border for individual
  10706. * range.
  10707. */
  10708. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10709. /**
  10710. * (Highcharts, Highstock, Highmaps) The color of the bubble for individual
  10711. * range.
  10712. */
  10713. color?: (ColorString|GradientColorObject|PatternObject);
  10714. /**
  10715. * (Highcharts, Highstock, Highmaps) The color of the connector for
  10716. * individual range.
  10717. */
  10718. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  10719. /**
  10720. * (Highcharts, Highstock, Highmaps) Range size value, similar to bubble Z
  10721. * data.
  10722. */
  10723. value?: number;
  10724. }
  10725. /**
  10726. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or navigation
  10727. * appearing when the legend is overflown. Navigation works well on screen, but
  10728. * not in static exported images. One way of working around that is to increase
  10729. * the chart height in export.
  10730. */
  10731. export interface LegendNavigationOptions {
  10732. /**
  10733. * (Highcharts, Highstock, Highmaps, Gantt) The color for the active up or
  10734. * down arrow in the legend page navigation.
  10735. */
  10736. activeColor?: (ColorString|GradientColorObject|PatternObject);
  10737. /**
  10738. * (Highcharts, Highstock, Highmaps, Gantt) How to animate the pages when
  10739. * navigating up or down. A value of `true` applies the default navigation
  10740. * given in the `chart.animation` option. Additional options can be given as
  10741. * an object containing values for easing and duration.
  10742. */
  10743. animation?: (boolean|Partial<AnimationOptionsObject>);
  10744. /**
  10745. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the up and
  10746. * down arrows in the legend paging navigation.
  10747. */
  10748. arrowSize?: number;
  10749. /**
  10750. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the legend
  10751. * navigation. In most cases, disabling the navigation results in an
  10752. * unwanted overflow.
  10753. *
  10754. * See also the adapt chart to legend plugin for a solution to extend the
  10755. * chart height to make room for the legend, optionally in exported charts
  10756. * only.
  10757. */
  10758. enabled?: boolean;
  10759. /**
  10760. * (Highcharts, Highstock, Highmaps, Gantt) The color of the inactive up or
  10761. * down arrow in the legend page navigation. .
  10762. */
  10763. inactiveColor?: (ColorString|GradientColorObject|PatternObject);
  10764. /**
  10765. * (Highcharts, Highstock, Highmaps, Gantt) Text styles for the legend page
  10766. * navigation.
  10767. */
  10768. style?: CSSObject;
  10769. }
  10770. /**
  10771. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  10772. * symbol and name for each series item or point item in the chart. Each series
  10773. * (or points in case of pie charts) is represented by a symbol and its name in
  10774. * the legend.
  10775. *
  10776. * It is possible to override the symbol creator function and create custom
  10777. * legend symbols.
  10778. */
  10779. export interface LegendOptions {
  10780. /**
  10781. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
  10782. * legend. Requires the Accessibility module.
  10783. */
  10784. accessibility?: LegendAccessibilityOptions;
  10785. /**
  10786. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  10787. * legend box within the chart area. Valid values are `left`, `center` and
  10788. * `right`.
  10789. *
  10790. * In the case that the legend is aligned in a corner position, the `layout`
  10791. * option will determine whether to place it above/below or on the side of
  10792. * the plot area.
  10793. */
  10794. align?: AlignValue;
  10795. /**
  10796. * (Highcharts, Highstock, Highmaps, Gantt) If the layout is `horizontal`
  10797. * and the legend items span over two lines or more, whether to align the
  10798. * items into vertical columns. Setting this to `false` makes room for more
  10799. * items, but will look more messy.
  10800. */
  10801. alignColumns?: boolean;
  10802. /**
  10803. * (Highcharts, Highstock, Highmaps, Gantt) The background color of the
  10804. * legend.
  10805. */
  10806. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  10807. /**
  10808. * (Highcharts, Highstock, Highmaps, Gantt) The color of the drawn border
  10809. * around the legend.
  10810. */
  10811. borderColor?: (ColorString|GradientColorObject|PatternObject);
  10812. /**
  10813. * (Highcharts, Highstock, Highmaps, Gantt) The border corner radius of the
  10814. * legend.
  10815. */
  10816. borderRadius?: number;
  10817. /**
  10818. * (Highcharts, Highstock, Highmaps, Gantt) The width of the drawn border
  10819. * around the legend.
  10820. */
  10821. borderWidth?: number;
  10822. /**
  10823. * (Highcharts, Highstock, Highmaps) The bubble legend is an additional
  10824. * element in legend which presents the scale of the bubble series.
  10825. * Individual bubble ranges can be defined by user or calculated from
  10826. * series. In the case of automatically calculated ranges, a 1px margin of
  10827. * error is permitted.
  10828. */
  10829. bubbleLegend?: LegendBubbleLegendOptions;
  10830. /**
  10831. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  10832. * legend group.
  10833. */
  10834. className?: string;
  10835. /**
  10836. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the legend.
  10837. * There is also a series-specific option, showInLegend, that can hide the
  10838. * series from the legend. In some series types this is `false` by default,
  10839. * so it must set to `true` in order to show the legend for the series.
  10840. */
  10841. enabled?: boolean;
  10842. /**
  10843. * (Highcharts, Highstock, Highmaps, Gantt) When the legend is floating, the
  10844. * plot area ignores it and is allowed to be placed below it.
  10845. */
  10846. floating?: boolean;
  10847. /**
  10848. * (Highcharts, Highstock, Highmaps, Gantt) Default styling for the checkbox
  10849. * next to a legend item when `showCheckbox` is true.
  10850. */
  10851. itemCheckboxStyle?: CSSObject;
  10852. /**
  10853. * (Highcharts, Highstock, Highmaps, Gantt) In a legend with horizontal
  10854. * layout, the itemDistance defines the pixel distance between each item.
  10855. */
  10856. itemDistance?: number;
  10857. /**
  10858. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10859. * when the corresponding series or point is hidden. Only a subset of CSS is
  10860. * supported, notably those options related to text. Properties are
  10861. * inherited from `style` unless overridden here.
  10862. */
  10863. itemHiddenStyle?: CSSObject;
  10864. /**
  10865. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
  10866. * in hover mode. Only a subset of CSS is supported, notably those options
  10867. * related to text. Properties are inherited from `style` unless overridden
  10868. * here.
  10869. */
  10870. itemHoverStyle?: CSSObject;
  10871. /**
  10872. * (Highcharts, Highstock, Highmaps, Gantt) The pixel bottom margin for each
  10873. * legend item.
  10874. */
  10875. itemMarginBottom?: number;
  10876. /**
  10877. * (Highcharts, Highstock, Highmaps, Gantt) The pixel top margin for each
  10878. * legend item.
  10879. */
  10880. itemMarginTop?: number;
  10881. /**
  10882. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item.
  10883. * Only a subset of CSS is supported, notably those options related to text.
  10884. * The default `textOverflow` property makes long texts truncate. Set it to
  10885. * `undefined` to wrap text instead. A `width` property can be added to
  10886. * control the text width.
  10887. */
  10888. itemStyle?: CSSObject;
  10889. /**
  10890. * (Highcharts, Highstock, Highmaps, Gantt) The width for each legend item.
  10891. * By default the items are laid out successively. In a horizontal layout,
  10892. * if the items are laid out across two rows or more, they will be
  10893. * vertically aligned depending on the legend.alignColumns option.
  10894. */
  10895. itemWidth?: number;
  10896. /**
  10897. * (Highcharts, Highstock, Highmaps, Gantt) A format string for each legend
  10898. * label. Available variables relates to properties on the series, or the
  10899. * point in case of pies.
  10900. */
  10901. labelFormat?: string;
  10902. /**
  10903. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format each
  10904. * of the series' labels. The `this` keyword refers to the series object, or
  10905. * the point object in case of pie charts. By default the series or point
  10906. * name is printed.
  10907. */
  10908. labelFormatter?: FormatterCallbackFunction<(Point|Series)>;
  10909. /**
  10910. * (Highcharts, Highstock, Highmaps, Gantt) The layout of the legend items.
  10911. * Can be one of `horizontal` or `vertical` or `proximate`. When
  10912. * `proximate`, the legend items will be placed as close as possible to the
  10913. * graphs they're representing, except in inverted charts or when the legend
  10914. * position doesn't allow it.
  10915. */
  10916. layout?: OptionsLayoutValue;
  10917. /**
  10918. * (Highcharts, Highstock, Highmaps, Gantt) If the plot area sized is
  10919. * calculated automatically and the legend is not floating, the legend
  10920. * margin is the space between the legend and the axis labels or plot area.
  10921. */
  10922. margin?: number;
  10923. /**
  10924. * (Highcharts, Highstock, Highmaps, Gantt) Maximum pixel height for the
  10925. * legend. When the maximum height is extended, navigation will show.
  10926. */
  10927. maxHeight?: number;
  10928. /**
  10929. * (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or
  10930. * navigation appearing when the legend is overflown. Navigation works well
  10931. * on screen, but not in static exported images. One way of working around
  10932. * that is to increase the chart height in export.
  10933. */
  10934. navigation?: LegendNavigationOptions;
  10935. /**
  10936. * (Highcharts, Highstock, Highmaps, Gantt) The inner padding of the legend
  10937. * box.
  10938. */
  10939. padding?: number;
  10940. /**
  10941. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the order of
  10942. * the legend items compared to the order of the series or points as defined
  10943. * in the configuration object.
  10944. */
  10945. reversed?: boolean;
  10946. /**
  10947. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the symbol on
  10948. * the right side of the text rather than the left side. This is common in
  10949. * Arabic and Hebrew.
  10950. */
  10951. rtl?: boolean;
  10952. /**
  10953. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  10954. * to the legend. A `backgroundColor` also needs to be applied for this to
  10955. * take effect. The shadow can be an object configuration containing
  10956. * `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  10957. */
  10958. shadow?: (boolean|CSSObject);
  10959. /**
  10960. * (Highcharts, Highstock, Highmaps, Gantt) When this is true, the legend
  10961. * symbol width will be the same as the symbol height, which in turn
  10962. * defaults to the font size of the legend items.
  10963. */
  10964. squareSymbol?: boolean;
  10965. /**
  10966. * (Highcharts, Highstock, Highmaps, Gantt) The pixel height of the symbol
  10967. * for series types that use a rectangle in the legend. Defaults to the font
  10968. * size of legend items.
  10969. */
  10970. symbolHeight?: number;
  10971. /**
  10972. * (Highcharts, Highstock, Highmaps, Gantt) The pixel padding between the
  10973. * legend item symbol and the legend item text.
  10974. */
  10975. symbolPadding?: number;
  10976. /**
  10977. * (Highcharts, Highstock, Highmaps, Gantt) The border radius of the symbol
  10978. * for series types that use a rectangle in the legend. Defaults to half the
  10979. * `symbolHeight`.
  10980. */
  10981. symbolRadius?: number;
  10982. /**
  10983. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the legend
  10984. * item symbol. When the `squareSymbol` option is set, this defaults to the
  10985. * `symbolHeight`, otherwise 16.
  10986. */
  10987. symbolWidth?: number;
  10988. /**
  10989. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of
  10990. * the legend.
  10991. */
  10992. title?: LegendTitleOptions;
  10993. /**
  10994. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  10995. * the legend item texts.
  10996. *
  10997. * Prior to 4.1.7, when using HTML, legend.navigation was disabled.
  10998. */
  10999. useHTML?: boolean;
  11000. /**
  11001. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11002. * legend box. Can be one of `top`, `middle` or `bottom`. Vertical position
  11003. * can be further determined by the `y` option.
  11004. *
  11005. * In the case that the legend is aligned in a corner position, the `layout`
  11006. * option will determine whether to place it above/below or on the side of
  11007. * the plot area.
  11008. *
  11009. * When the layout option is `proximate`, the `verticalAlign` option doesn't
  11010. * apply.
  11011. */
  11012. verticalAlign?: VerticalAlignValue;
  11013. /**
  11014. * (Highcharts, Highstock, Highmaps, Gantt) The width of the legend box. If
  11015. * a number is set, it translates to pixels. Since v7.0.2 it allows setting
  11016. * a percent string of the full chart width, for example `40%`.
  11017. *
  11018. * Defaults to the full chart width for legends below or above the chart,
  11019. * half the chart width for legends to the left and right.
  11020. */
  11021. width?: (number|string);
  11022. /**
  11023. * (Highcharts, Highstock, Highmaps, Gantt) The x offset of the legend
  11024. * relative to its horizontal alignment `align` within chart.spacingLeft and
  11025. * chart.spacingRight. Negative x moves it to the left, positive x moves it
  11026. * to the right.
  11027. */
  11028. x?: number;
  11029. /**
  11030. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  11031. * legend relative to it's vertical alignment `verticalAlign` within
  11032. * chart.spacingTop and chart.spacingBottom. Negative y moves it up,
  11033. * positive y moves it down.
  11034. */
  11035. y?: number;
  11036. }
  11037. /**
  11038. * (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of the
  11039. * legend.
  11040. */
  11041. export interface LegendTitleOptions {
  11042. /**
  11043. * (Highcharts, Highstock, Highmaps, Gantt) Generic CSS styles for the
  11044. * legend title.
  11045. */
  11046. style?: CSSObject;
  11047. /**
  11048. * (Highcharts, Highstock, Highmaps, Gantt) A text or HTML string for the
  11049. * title.
  11050. */
  11051. text?: string;
  11052. }
  11053. /**
  11054. * Defines the start position and the end position for a gradient relative to
  11055. * the shape. Start position (x1, y1) and end position (x2, y2) are relative to
  11056. * the shape, where 0 means top/left and 1 is bottom/right.
  11057. */
  11058. export interface LinearGradientColorObject {
  11059. /**
  11060. * Start horizontal position of the gradient. Float ranges 0-1.
  11061. */
  11062. x1: number;
  11063. /**
  11064. * End horizontal position of the gradient. Float ranges 0-1.
  11065. */
  11066. x2: number;
  11067. /**
  11068. * Start vertical position of the gradient. Float ranges 0-1.
  11069. */
  11070. y1: number;
  11071. /**
  11072. * End vertical position of the gradient. Float ranges 0-1.
  11073. */
  11074. y2: number;
  11075. }
  11076. /**
  11077. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  11078. * appearance of the loading screen that covers the plot area on chart
  11079. * operations. This screen only appears after an explicit call to
  11080. * `chart.showLoading()`. It is a utility for developers to communicate to the
  11081. * end user that something is going on, for example while retrieving new data
  11082. * via an XHR connection. The "Loading..." text itself is not part of this
  11083. * configuration object, but part of the `lang` object.
  11084. */
  11085. export interface LoadingOptions {
  11086. /**
  11087. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  11088. * the fade out effect.
  11089. */
  11090. hideDuration?: number;
  11091. /**
  11092. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading label
  11093. * `span`.
  11094. */
  11095. labelStyle?: CSSObject;
  11096. /**
  11097. * (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
  11098. * the fade in effect.
  11099. */
  11100. showDuration?: number;
  11101. /**
  11102. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading
  11103. * screen that covers the plot area.
  11104. *
  11105. * In styled mode, the loading label is styled with the
  11106. * `.highcharts-loading` class.
  11107. */
  11108. style?: CSSObject;
  11109. }
  11110. /**
  11111. * (Highmaps) General options for the map navigation buttons. Individual options
  11112. * can be given from the mapNavigation.buttons option set.
  11113. */
  11114. export interface MapNavigationButtonOptions {
  11115. /**
  11116. * (Highmaps) The alignment of the navigation buttons.
  11117. */
  11118. align?: AlignValue;
  11119. /**
  11120. * (Highmaps) What box to align the buttons to. Possible values are
  11121. * `plotBox` and `spacingBox`.
  11122. */
  11123. alignTo?: ButtonRelativeToValue;
  11124. /**
  11125. * (Highmaps) The pixel height of the map navigation buttons.
  11126. */
  11127. height?: number;
  11128. /**
  11129. * (Highmaps) Padding for the navigation buttons.
  11130. */
  11131. padding?: number;
  11132. /**
  11133. * (Highmaps) Text styles for the map navigation buttons.
  11134. */
  11135. style?: CSSObject;
  11136. /**
  11137. * (Highmaps) A configuration object for the button theme. The object
  11138. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11139. * Tri-state button styles are supported by the `states.hover` and
  11140. * `states.select` objects.
  11141. */
  11142. theme?: SVGAttributes;
  11143. /**
  11144. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11145. * can be adjusted by each button's `y` offset.
  11146. */
  11147. verticalAlign?: VerticalAlignValue;
  11148. /**
  11149. * (Highmaps) The width of the map navigation buttons.
  11150. */
  11151. width?: number;
  11152. /**
  11153. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11154. */
  11155. x?: number;
  11156. }
  11157. /**
  11158. * (Highmaps) The individual buttons for the map navigation. This usually
  11159. * includes the zoom in and zoom out buttons. Properties for each button is
  11160. * inherited from mapNavigation.buttonOptions, while individual options can be
  11161. * overridden. But default, the `onclick`, `text` and `y` options are
  11162. * individual.
  11163. */
  11164. export interface MapNavigationButtonsOptions {
  11165. /**
  11166. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  11167. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11168. * individual options can be overridden. By default, the `onclick`, `text`
  11169. * and `y` options are individual.
  11170. */
  11171. zoomIn?: MapNavigationButtonsZoomInOptions;
  11172. /**
  11173. * (Highmaps) Options for the zoom out button. Properties for the zoom in
  11174. * and zoom out buttons are inherited from mapNavigation.buttonOptions,
  11175. * while individual options can be overridden. By default, the `onclick`,
  11176. * `text` and `y` options are individual.
  11177. */
  11178. zoomOut?: MapNavigationButtonsZoomOutOptions;
  11179. }
  11180. /**
  11181. * (Highmaps) Options for the zoom in button. Properties for the zoom in and
  11182. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11183. * individual options can be overridden. By default, the `onclick`, `text` and
  11184. * `y` options are individual.
  11185. */
  11186. export interface MapNavigationButtonsZoomInOptions {
  11187. /**
  11188. * (Highmaps) The alignment of the navigation buttons.
  11189. */
  11190. align?: AlignValue;
  11191. /**
  11192. * (Highmaps) What box to align the buttons to. Possible values are
  11193. * `plotBox` and `spacingBox`.
  11194. */
  11195. alignTo?: ButtonRelativeToValue;
  11196. /**
  11197. * (Highmaps) The pixel height of the map navigation buttons.
  11198. */
  11199. height?: number;
  11200. /**
  11201. * (Highmaps) Click handler for the button.
  11202. */
  11203. onclick?: Function;
  11204. /**
  11205. * (Highmaps) Padding for the navigation buttons.
  11206. */
  11207. padding?: number;
  11208. /**
  11209. * (Highmaps) Text styles for the map navigation buttons.
  11210. */
  11211. style?: CSSObject;
  11212. /**
  11213. * (Highmaps) The text for the button. The tooltip (title) is a language
  11214. * option given by lang.zoomIn.
  11215. */
  11216. text?: string;
  11217. /**
  11218. * (Highmaps) A configuration object for the button theme. The object
  11219. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11220. * Tri-state button styles are supported by the `states.hover` and
  11221. * `states.select` objects.
  11222. */
  11223. theme?: SVGAttributes;
  11224. /**
  11225. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11226. * can be adjusted by each button's `y` offset.
  11227. */
  11228. verticalAlign?: VerticalAlignValue;
  11229. /**
  11230. * (Highmaps) The width of the map navigation buttons.
  11231. */
  11232. width?: number;
  11233. /**
  11234. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11235. */
  11236. x?: number;
  11237. /**
  11238. * (Highmaps) The position of the zoomIn button relative to the vertical
  11239. * alignment.
  11240. */
  11241. y?: number;
  11242. }
  11243. /**
  11244. * (Highmaps) Options for the zoom out button. Properties for the zoom in and
  11245. * zoom out buttons are inherited from mapNavigation.buttonOptions, while
  11246. * individual options can be overridden. By default, the `onclick`, `text` and
  11247. * `y` options are individual.
  11248. */
  11249. export interface MapNavigationButtonsZoomOutOptions {
  11250. /**
  11251. * (Highmaps) The alignment of the navigation buttons.
  11252. */
  11253. align?: AlignValue;
  11254. /**
  11255. * (Highmaps) What box to align the buttons to. Possible values are
  11256. * `plotBox` and `spacingBox`.
  11257. */
  11258. alignTo?: ButtonRelativeToValue;
  11259. /**
  11260. * (Highmaps) The pixel height of the map navigation buttons.
  11261. */
  11262. height?: number;
  11263. /**
  11264. * (Highmaps) Click handler for the button.
  11265. */
  11266. onclick?: Function;
  11267. /**
  11268. * (Highmaps) Padding for the navigation buttons.
  11269. */
  11270. padding?: number;
  11271. /**
  11272. * (Highmaps) Text styles for the map navigation buttons.
  11273. */
  11274. style?: CSSObject;
  11275. /**
  11276. * (Highmaps) The text for the button. The tooltip (title) is a language
  11277. * option given by lang.zoomOut.
  11278. */
  11279. text?: string;
  11280. /**
  11281. * (Highmaps) A configuration object for the button theme. The object
  11282. * accepts SVG properties like `stroke-width`, `stroke` and `fill`.
  11283. * Tri-state button styles are supported by the `states.hover` and
  11284. * `states.select` objects.
  11285. */
  11286. theme?: SVGAttributes;
  11287. /**
  11288. * (Highmaps) The vertical alignment of the buttons. Individual alignment
  11289. * can be adjusted by each button's `y` offset.
  11290. */
  11291. verticalAlign?: VerticalAlignValue;
  11292. /**
  11293. * (Highmaps) The width of the map navigation buttons.
  11294. */
  11295. width?: number;
  11296. /**
  11297. * (Highmaps) The X offset of the buttons relative to its `align` setting.
  11298. */
  11299. x?: number;
  11300. /**
  11301. * (Highmaps) The position of the zoomOut button relative to the vertical
  11302. * alignment.
  11303. */
  11304. y?: number;
  11305. }
  11306. export interface MapNavigationOptions {
  11307. /**
  11308. * (Highmaps) General options for the map navigation buttons. Individual
  11309. * options can be given from the mapNavigation.buttons option set.
  11310. */
  11311. buttonOptions?: MapNavigationButtonOptions;
  11312. /**
  11313. * (Highmaps) The individual buttons for the map navigation. This usually
  11314. * includes the zoom in and zoom out buttons. Properties for each button is
  11315. * inherited from mapNavigation.buttonOptions, while individual options can
  11316. * be overridden. But default, the `onclick`, `text` and `y` options are
  11317. * individual.
  11318. */
  11319. buttons?: MapNavigationButtonsOptions;
  11320. /**
  11321. * (Highmaps) Whether to enable navigation buttons. By default it inherits
  11322. * the enabled setting.
  11323. */
  11324. enableButtons?: boolean;
  11325. /**
  11326. * (Highmaps) Whether to enable map navigation. The default is not to enable
  11327. * navigation, as many choropleth maps are simple and don't need it.
  11328. * Additionally, when touch zoom and mousewheel zoom is enabled, it breaks
  11329. * the default behaviour of these interactions in the website, and the
  11330. * implementer should be aware of this.
  11331. *
  11332. * Individual interactions can be enabled separately, namely buttons,
  11333. * multitouch zoom, double click zoom, double click zoom to element and
  11334. * mousewheel zoom.
  11335. */
  11336. enabled?: boolean;
  11337. /**
  11338. * (Highmaps) Enables zooming in on an area on double clicking in the map.
  11339. * By default it inherits the enabled setting.
  11340. */
  11341. enableDoubleClickZoom?: boolean;
  11342. /**
  11343. * (Highmaps) Whether to zoom in on an area when that area is double
  11344. * clicked.
  11345. */
  11346. enableDoubleClickZoomTo?: boolean;
  11347. /**
  11348. * (Highmaps) Enables zooming by mouse wheel. By default it inherits the
  11349. * enabled setting.
  11350. */
  11351. enableMouseWheelZoom?: boolean;
  11352. /**
  11353. * (Highmaps) Whether to enable multitouch zooming. Note that if the chart
  11354. * covers the viewport, this prevents the user from using multitouch and
  11355. * touchdrag on the web page, so you should make sure the user is not
  11356. * trapped inside the chart. By default it inherits the enabled setting.
  11357. */
  11358. enableTouchZoom?: boolean;
  11359. /**
  11360. * (Highmaps) Sensitivity of mouse wheel or trackpad scrolling. 1 is no
  11361. * sensitivity, while with 2, one mousewheel delta will zoom in 50%.
  11362. */
  11363. mouseWheelSensitivity?: number;
  11364. }
  11365. /**
  11366. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11367. * animation when a series is displayed for the `annotation`. The animation can
  11368. * also be set as a configuration object. Please note that this option only
  11369. * applies to the initial animation. For other animations, see chart.animation
  11370. * and the animation parameter under the API methods. The following properties
  11371. * are supported:
  11372. *
  11373. * - `defer`: The animation delay time in milliseconds.
  11374. */
  11375. export interface NavigationAnnotationsAnimationOptions {
  11376. /**
  11377. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  11378. * milliseconds. Set to `0` renders annotation immediately. As `undefined`
  11379. * inherits defer time from the series.animation.defer.
  11380. */
  11381. defer?: number;
  11382. }
  11383. /**
  11384. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11385. */
  11386. export interface NavigationAnnotationsEventsOptions {
  11387. /**
  11388. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11389. * is added to the chart.
  11390. */
  11391. add?: EventCallbackFunction<Annotation>;
  11392. /**
  11393. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11394. * is updated (e.g. drag and droppped or resized by control points).
  11395. */
  11396. afterUpdate?: EventCallbackFunction<Annotation>;
  11397. /**
  11398. * (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
  11399. * is removed from the chart.
  11400. */
  11401. remove?: EventCallbackFunction<Annotation>;
  11402. }
  11403. /**
  11404. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11405. * Each label inherits options from the labelOptions object. An option from the
  11406. * labelOptions can be overwritten by config for a specific label.
  11407. */
  11408. export interface NavigationAnnotationsLabelOptions {
  11409. /**
  11410. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11411. * annotation label.
  11412. */
  11413. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11414. /**
  11415. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11416. * annotation's label. If right, the right side of the label should be
  11417. * touching the point.
  11418. */
  11419. align?: AlignValue;
  11420. /**
  11421. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11422. * annotation's labels to overlap. To make the labels less sensitive for
  11423. * overlapping, the can be set to 0.
  11424. */
  11425. allowOverlap?: boolean;
  11426. /**
  11427. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11428. * for the annotation's label.
  11429. */
  11430. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11431. /**
  11432. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11433. * annotation's label.
  11434. */
  11435. borderColor?: ColorString;
  11436. /**
  11437. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11438. * the annotaiton's label.
  11439. */
  11440. borderRadius?: number;
  11441. /**
  11442. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11443. * the annotation's label
  11444. */
  11445. borderWidth?: number;
  11446. /**
  11447. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11448. */
  11449. className?: string;
  11450. /**
  11451. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11452. * label that is outside the plot area.
  11453. */
  11454. crop?: boolean;
  11455. /**
  11456. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11457. * the point.
  11458. */
  11459. distance?: number;
  11460. /**
  11461. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11462. * label.
  11463. */
  11464. format?: string;
  11465. /**
  11466. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11467. * format the annotation's label. Note that if a `format` or `text` are
  11468. * defined, the format or text take precedence and the formatter is ignored.
  11469. * `This` refers to a point object.
  11470. */
  11471. formatter?: FormatterCallbackFunction<Point>;
  11472. /**
  11473. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11474. * visible in the exported data table.
  11475. */
  11476. includeInDataExport?: boolean;
  11477. /**
  11478. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11479. * label that flow outside the plot area. The justify option aligns the
  11480. * label inside the plot area.
  11481. */
  11482. overflow?: OptionsOverflowValue;
  11483. /**
  11484. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11485. * the backgroundColor is set, this is the padding within the box.
  11486. */
  11487. padding?: number;
  11488. /**
  11489. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11490. * shadow can be an object configuration containing `color`, `offsetX`,
  11491. * `offsetY`, `opacity` and `width`.
  11492. */
  11493. shadow?: (boolean|ShadowOptionsObject);
  11494. /**
  11495. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11496. * the border around the label. Symbols are predefined functions on the
  11497. * Renderer object.
  11498. */
  11499. shape?: string;
  11500. /**
  11501. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11502. * label.
  11503. */
  11504. style?: CSSObject;
  11505. /**
  11506. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11507. */
  11508. text?: string;
  11509. /**
  11510. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11511. * the annotation's label.
  11512. */
  11513. useHTML?: boolean;
  11514. /**
  11515. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11516. * annotation's label.
  11517. */
  11518. verticalAlign?: VerticalAlignValue;
  11519. /**
  11520. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11521. * label relative to the point. Note that if a `distance` is defined, the
  11522. * distance takes precedence over `x` and `y` options.
  11523. */
  11524. x?: number;
  11525. /**
  11526. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11527. * label relative to the point. Note that if a `distance` is defined, the
  11528. * distance takes precedence over `x` and `y` options.
  11529. */
  11530. y?: number;
  11531. }
  11532. /**
  11533. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11534. * annotation. For options that apply to multiple labels, they can be added to
  11535. * the labelOptions.
  11536. */
  11537. export interface NavigationAnnotationsLabelsOptions {
  11538. /**
  11539. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  11540. * annotation label.
  11541. */
  11542. accessibility?: AnnotationLabelAccessibilityOptionsObject;
  11543. /**
  11544. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
  11545. * annotation's label. If right, the right side of the label should be
  11546. * touching the point.
  11547. */
  11548. align?: AlignValue;
  11549. /**
  11550. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
  11551. * annotation's labels to overlap. To make the labels less sensitive for
  11552. * overlapping, the can be set to 0.
  11553. */
  11554. allowOverlap?: boolean;
  11555. /**
  11556. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  11557. * for the annotation's label.
  11558. */
  11559. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  11560. /**
  11561. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the
  11562. * annotation's label.
  11563. */
  11564. borderColor?: ColorString;
  11565. /**
  11566. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  11567. * the annotaiton's label.
  11568. */
  11569. borderRadius?: number;
  11570. /**
  11571. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  11572. * the annotation's label
  11573. */
  11574. borderWidth?: number;
  11575. /**
  11576. * (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
  11577. */
  11578. className?: string;
  11579. /**
  11580. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
  11581. * label that is outside the plot area.
  11582. */
  11583. crop?: boolean;
  11584. /**
  11585. * (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
  11586. * the point.
  11587. */
  11588. distance?: number;
  11589. /**
  11590. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  11591. * label.
  11592. */
  11593. format?: string;
  11594. /**
  11595. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  11596. * format the annotation's label. Note that if a `format` or `text` are
  11597. * defined, the format or text take precedence and the formatter is ignored.
  11598. * `This` refers to a point object.
  11599. */
  11600. formatter?: FormatterCallbackFunction<Point>;
  11601. /**
  11602. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11603. * visible in the exported data table.
  11604. */
  11605. includeInDataExport?: boolean;
  11606. /**
  11607. * (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
  11608. * label that flow outside the plot area. The justify option aligns the
  11609. * label inside the plot area.
  11610. */
  11611. overflow?: OptionsOverflowValue;
  11612. /**
  11613. * (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
  11614. * the backgroundColor is set, this is the padding within the box.
  11615. */
  11616. padding?: number;
  11617. /**
  11618. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11619. * which the label will be connected. It can be either the point which
  11620. * exists in the series - it is referenced by the point's id - or a new
  11621. * point with defined x, y properties and optionally axes.
  11622. */
  11623. point?: (string|AnnotationMockPointOptionsObject);
  11624. /**
  11625. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
  11626. * shadow can be an object configuration containing `color`, `offsetX`,
  11627. * `offsetY`, `opacity` and `width`.
  11628. */
  11629. shadow?: (boolean|ShadowOptionsObject);
  11630. /**
  11631. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  11632. * the border around the label. Symbols are predefined functions on the
  11633. * Renderer object.
  11634. */
  11635. shape?: string;
  11636. /**
  11637. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
  11638. * label.
  11639. */
  11640. style?: CSSObject;
  11641. /**
  11642. * (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
  11643. */
  11644. text?: string;
  11645. /**
  11646. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  11647. * the annotation's label.
  11648. */
  11649. useHTML?: boolean;
  11650. /**
  11651. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  11652. * annotation's label.
  11653. */
  11654. verticalAlign?: VerticalAlignValue;
  11655. /**
  11656. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  11657. * label relative to the point. Note that if a `distance` is defined, the
  11658. * distance takes precedence over `x` and `y` options.
  11659. */
  11660. x?: number;
  11661. /**
  11662. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  11663. * label relative to the point. Note that if a `distance` is defined, the
  11664. * distance takes precedence over `x` and `y` options.
  11665. */
  11666. y?: number;
  11667. }
  11668. /**
  11669. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged into
  11670. * all annotations.
  11671. */
  11672. export interface NavigationAnnotationsOptions {
  11673. /**
  11674. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  11675. * animation when a series is displayed for the `annotation`. The animation
  11676. * can also be set as a configuration object. Please note that this option
  11677. * only applies to the initial animation. For other animations, see
  11678. * chart.animation and the animation parameter under the API methods. The
  11679. * following properties are supported:
  11680. *
  11681. * - `defer`: The animation delay time in milliseconds.
  11682. */
  11683. animation?: (boolean|NavigationAnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
  11684. /**
  11685. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
  11686. * points. Each control point inherits options from controlPointOptions
  11687. * object. Options from the controlPointOptions can be overwritten by
  11688. * options in a specific control point.
  11689. */
  11690. controlPointOptions?: AnnotationControlPointOptionsObject;
  11691. /**
  11692. * (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
  11693. * draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
  11694. * (disabled).
  11695. */
  11696. draggable?: AnnotationDraggableValue;
  11697. /**
  11698. * (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
  11699. */
  11700. events?: NavigationAnnotationsEventsOptions;
  11701. /**
  11702. * (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
  11703. * Can be user later when removing an annotation in
  11704. * Chart.removeAnnotation(id) method.
  11705. */
  11706. id?: (number|string);
  11707. /**
  11708. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
  11709. * Each label inherits options from the labelOptions object. An option from
  11710. * the labelOptions can be overwritten by config for a specific label.
  11711. */
  11712. labelOptions?: NavigationAnnotationsLabelOptions;
  11713. /**
  11714. * (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
  11715. * annotation. For options that apply to multiple labels, they can be added
  11716. * to the labelOptions.
  11717. */
  11718. labels?: Array<NavigationAnnotationsLabelsOptions>;
  11719. /**
  11720. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11721. * Each shape inherits options from the shapeOptions object. An option from
  11722. * the shapeOptions can be overwritten by config for a specific shape.
  11723. */
  11724. shapeOptions?: NavigationAnnotationsShapeOptions;
  11725. /**
  11726. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11727. * annotation. For options that apply to multiple shapes, then can be added
  11728. * to the shapeOptions.
  11729. */
  11730. shapes?: Array<NavigationAnnotationsShapesOptions>;
  11731. /**
  11732. * (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
  11733. * visible.
  11734. */
  11735. visible?: boolean;
  11736. /**
  11737. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
  11738. */
  11739. zIndex?: number;
  11740. }
  11741. /**
  11742. * (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
  11743. * Each shape inherits options from the shapeOptions object. An option from the
  11744. * shapeOptions can be overwritten by config for a specific shape.
  11745. */
  11746. export interface NavigationAnnotationsShapeOptions {
  11747. /**
  11748. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11749. * for the shape's stroke.
  11750. */
  11751. dashStyle?: DashStyleValue;
  11752. /**
  11753. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11754. */
  11755. fill?: (ColorString|GradientColorObject|PatternObject);
  11756. /**
  11757. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11758. */
  11759. height?: number;
  11760. /**
  11761. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11762. */
  11763. r?: number;
  11764. /**
  11765. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11766. * around an annotation making this annotation to focus. Defined in pixels.
  11767. */
  11768. snap?: number;
  11769. /**
  11770. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11771. * the annotation shape. Note, type has to be set to `'image'`.
  11772. */
  11773. src?: string;
  11774. /**
  11775. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11776. */
  11777. stroke?: ColorString;
  11778. /**
  11779. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11780. * shape.
  11781. */
  11782. strokeWidth?: number;
  11783. /**
  11784. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11785. * circle or rectangle.
  11786. */
  11787. type?: string;
  11788. /**
  11789. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11790. */
  11791. width?: number;
  11792. }
  11793. /**
  11794. * (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
  11795. * annotation. For options that apply to multiple shapes, then can be added to
  11796. * the shapeOptions.
  11797. */
  11798. export interface NavigationAnnotationsShapesOptions {
  11799. /**
  11800. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  11801. * for the shape's stroke.
  11802. */
  11803. dashStyle?: DashStyleValue;
  11804. /**
  11805. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
  11806. */
  11807. fill?: (ColorString|GradientColorObject|PatternObject);
  11808. /**
  11809. * (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
  11810. */
  11811. height?: number;
  11812. /**
  11813. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11814. * drawn at the final vertex of the path. Custom markers can be defined in
  11815. * defs property.
  11816. */
  11817. markerEnd?: string;
  11818. /**
  11819. * (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
  11820. * drawn at the first vertex of the path. Custom markers can be defined in
  11821. * defs property.
  11822. */
  11823. markerStart?: string;
  11824. /**
  11825. * (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
  11826. * which the shape will be connected. It can be either the point which
  11827. * exists in the series - it is referenced by the point's id - or a new
  11828. * point with defined x, y properties and optionally axes.
  11829. */
  11830. point?: (string|AnnotationMockPointOptionsObject);
  11831. /**
  11832. * (Highcharts, Highstock, Highmaps, Gantt) An array of points for the
  11833. * shape. This option is available for shapes which can use multiple points
  11834. * such as path. A point can be either a point object or a point's id.
  11835. */
  11836. points?: Array<(string|AnnotationMockPointOptionsObject)>;
  11837. /**
  11838. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
  11839. */
  11840. r?: number;
  11841. /**
  11842. * (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
  11843. * around an annotation making this annotation to focus. Defined in pixels.
  11844. */
  11845. snap?: number;
  11846. /**
  11847. * (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
  11848. * the annotation shape. Note, type has to be set to `'image'`.
  11849. */
  11850. src?: string;
  11851. /**
  11852. * (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
  11853. */
  11854. stroke?: ColorString;
  11855. /**
  11856. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  11857. * shape.
  11858. */
  11859. strokeWidth?: number;
  11860. /**
  11861. * (Highcharts, Highstock, Highmaps, Gantt) The type of the shape, e.g.
  11862. * circle or rectangle.
  11863. */
  11864. type?: string;
  11865. /**
  11866. * (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
  11867. */
  11868. width?: number;
  11869. }
  11870. /**
  11871. * (Highstock) Displays chart in fullscreen.
  11872. *
  11873. * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
  11874. */
  11875. export interface NavigationBindingsFullScreenOptions {
  11876. noDataState?: string;
  11877. }
  11878. /**
  11879. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons. Each
  11880. * binding implements simple event-driven interface:
  11881. *
  11882. * - `className`: classname used to bind event to
  11883. *
  11884. * - `init`: initial event, fired on button click
  11885. *
  11886. * - `start`: fired on first click on a chart
  11887. *
  11888. * - `steps`: array of sequential events fired one after another on each of
  11889. * users clicks
  11890. *
  11891. * - `end`: last event to be called after last step event
  11892. */
  11893. export interface NavigationBindingsOptions {
  11894. /**
  11895. * (Highstock) A line with arrow annotation. Includes `start` and one event
  11896. * in `steps` array.
  11897. */
  11898. arrowInfinityLine?: NavigationBindingsOptionsObject;
  11899. /**
  11900. * (Highstock) A ray with an arrow annotation bindings. Includes `start` and
  11901. * one event in `steps` array.
  11902. */
  11903. arrowRay?: NavigationBindingsOptionsObject;
  11904. /**
  11905. * (Highstock) A segment with an arrow annotation bindings. Includes `start`
  11906. * and one event in `steps` array.
  11907. */
  11908. arrowSegment?: NavigationBindingsOptionsObject;
  11909. /**
  11910. * (Highcharts, Highstock) A circle annotation bindings. Includes `start`
  11911. * and one event in `steps` array.
  11912. */
  11913. circleAnnotation?: NavigationBindingsOptionsObject;
  11914. /**
  11915. * (Highstock) Crooked line (three points) annotation bindings. Includes
  11916. * `start` and two events in `steps` (for second and third points in crooked
  11917. * line) array.
  11918. */
  11919. crooked3?: NavigationBindingsOptionsObject;
  11920. /**
  11921. * (Highstock) Crooked line (five points) annotation bindings. Includes
  11922. * `start` and four events in `steps` (for all consequent points in crooked
  11923. * line) array.
  11924. */
  11925. crooked5?: NavigationBindingsOptionsObject;
  11926. /**
  11927. * (Highstock) Hides/shows two price indicators:
  11928. *
  11929. * - last price in the dataset
  11930. *
  11931. * - last price in the selected range
  11932. */
  11933. currentPriceIndicator?: NavigationBindingsOptionsObject;
  11934. /**
  11935. * (Highstock) Elliott wave (three points) annotation bindings. Includes
  11936. * `start` and two events in `steps` (for second and third points) array.
  11937. */
  11938. elliott3?: NavigationBindingsOptionsObject;
  11939. /**
  11940. * (Highstock) Elliott wave (five points) annotation bindings. Includes
  11941. * `start` and four event in `steps` (for all consequent points in Elliott
  11942. * wave) array.
  11943. */
  11944. elliott5?: NavigationBindingsOptionsObject;
  11945. /**
  11946. * (Highstock) A fibonacci annotation bindings. Includes `start` and two
  11947. * events in `steps` array (updates second point, then height).
  11948. */
  11949. fibonacci?: NavigationBindingsOptionsObject;
  11950. /**
  11951. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11952. * finds the closest point and marks it with a flag with `'circlepin'`
  11953. * shape.
  11954. */
  11955. flagCirclepin?: NavigationBindingsOptionsObject;
  11956. /**
  11957. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11958. * finds the closest point and marks it with a flag with `'diamondpin'`
  11959. * shape.
  11960. */
  11961. flagDiamondpin?: NavigationBindingsOptionsObject;
  11962. /**
  11963. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11964. * finds the closest point and marks it with a flag without pin shape.
  11965. */
  11966. flagSimplepin?: NavigationBindingsOptionsObject;
  11967. /**
  11968. * (Highstock) A flag series bindings. Includes `start` event. On click,
  11969. * finds the closest point and marks it with a flag with `'squarepin'`
  11970. * shape.
  11971. */
  11972. flagSquarepin?: NavigationBindingsOptionsObject;
  11973. /**
  11974. * (Highstock) Displays chart in fullscreen.
  11975. *
  11976. * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
  11977. */
  11978. fullScreen?: (NavigationBindingsFullScreenOptions|NavigationBindingsOptionsObject);
  11979. /**
  11980. * (Highstock) A horizontal line annotation. Includes `start` event.
  11981. */
  11982. horizontalLine?: NavigationBindingsOptionsObject;
  11983. /**
  11984. * (Highstock) Indicators bindings. Includes `init` event to show a popup.
  11985. *
  11986. * Note: In order to show base series from the chart in the popup's dropdown
  11987. * each series requires series.id to be defined.
  11988. */
  11989. indicators?: NavigationBindingsOptionsObject;
  11990. /**
  11991. * (Highstock) A line annotation. Includes `start` and one event in `steps`
  11992. * array.
  11993. */
  11994. infinityLine?: NavigationBindingsOptionsObject;
  11995. /**
  11996. * (Highcharts, Highstock) A label annotation bindings. Includes `start`
  11997. * event only.
  11998. */
  11999. labelAnnotation?: NavigationBindingsOptionsObject;
  12000. /**
  12001. * (Highstock) A measure (x-dimension) annotation bindings. Includes `start`
  12002. * and one event in `steps` array.
  12003. */
  12004. measureX?: NavigationBindingsOptionsObject;
  12005. /**
  12006. * (Highstock) A measure (xy-dimension) annotation bindings. Includes
  12007. * `start` and one event in `steps` array.
  12008. */
  12009. measureXY?: NavigationBindingsOptionsObject;
  12010. /**
  12011. * (Highstock) A measure (y-dimension) annotation bindings. Includes `start`
  12012. * and one event in `steps` array.
  12013. */
  12014. measureY?: NavigationBindingsOptionsObject;
  12015. /**
  12016. * (Highstock) A parallel channel (tunnel) annotation bindings. Includes
  12017. * `start` and two events in `steps` array (updates second point, then
  12018. * height).
  12019. */
  12020. parallelChannel?: NavigationBindingsOptionsObject;
  12021. /**
  12022. * (Highstock) An Andrew's pitchfork annotation bindings. Includes `start`
  12023. * and two events in `steps` array (sets second and third control points).
  12024. */
  12025. pitchfork?: NavigationBindingsOptionsObject;
  12026. /**
  12027. * (Highstock) A ray annotation bindings. Includes `start` and one event in
  12028. * `steps` array.
  12029. */
  12030. ray?: NavigationBindingsOptionsObject;
  12031. /**
  12032. * (Highcharts, Highstock) A rectangle annotation bindings. Includes `start`
  12033. * and one event in `steps` array.
  12034. */
  12035. rectangleAnnotation?: NavigationBindingsOptionsObject;
  12036. /**
  12037. * (Highstock) Save a chart in localStorage under `highcharts-chart` key.
  12038. * Stored items:
  12039. *
  12040. * - annotations
  12041. *
  12042. * - indicators (with yAxes)
  12043. *
  12044. * - flags
  12045. */
  12046. saveChart?: (NavigationBindingsOptionsObject|NavigationBindingsSaveChartOptions);
  12047. /**
  12048. * (Highstock) A segment annotation bindings. Includes `start` and one event
  12049. * in `steps` array.
  12050. */
  12051. segment?: NavigationBindingsOptionsObject;
  12052. /**
  12053. * (Highstock) Changes main series to `'candlestick'` type.
  12054. */
  12055. seriesTypeCandlestick?: NavigationBindingsOptionsObject;
  12056. /**
  12057. * (Highstock) Changes main series to `'line'` type.
  12058. */
  12059. seriesTypeLine?: NavigationBindingsOptionsObject;
  12060. /**
  12061. * (Highstock) Changes main series to `'ohlc'` type.
  12062. */
  12063. seriesTypeOhlc?: NavigationBindingsOptionsObject;
  12064. /**
  12065. * (Highstock) Hides/shows all annotations on a chart.
  12066. */
  12067. toggleAnnotations?: NavigationBindingsOptionsObject;
  12068. /**
  12069. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  12070. * On click, finds the closest point and marks it with an arrow. `#06b535`
  12071. * is the color of the arrow when pointing from above and `#f21313` when
  12072. * pointing from below the point.
  12073. */
  12074. verticalArrow?: NavigationBindingsOptionsObject;
  12075. /**
  12076. * (Highstock) A vertical counter annotation bindings. Includes `start`
  12077. * event. On click, finds the closest point and marks it with a numeric
  12078. * annotation - incrementing counter on each add.
  12079. */
  12080. verticalCounter?: NavigationBindingsOptionsObject;
  12081. /**
  12082. * (Highstock) A vertical arrow annotation bindings. Includes `start` event.
  12083. * On click, finds the closest point and marks it with an arrow and a label
  12084. * with value.
  12085. */
  12086. verticalLabel?: NavigationBindingsOptionsObject;
  12087. /**
  12088. * (Highstock) A vertical line annotation. Includes `start` event.
  12089. */
  12090. verticalLine?: NavigationBindingsOptionsObject;
  12091. /**
  12092. * (Highstock) Enables zooming in xAxis on a chart. Includes `start` event
  12093. * which changes chart.zoomType.
  12094. */
  12095. zoomX?: NavigationBindingsOptionsObject;
  12096. /**
  12097. * (Highstock) Enables zooming in xAxis and yAxis on a chart. Includes
  12098. * `start` event which changes chart.zoomType.
  12099. */
  12100. zoomXY?: NavigationBindingsOptionsObject;
  12101. /**
  12102. * (Highstock) Enables zooming in yAxis on a chart. Includes `start` event
  12103. * which changes chart.zoomType.
  12104. */
  12105. zoomY?: NavigationBindingsOptionsObject;
  12106. }
  12107. /**
  12108. * A config object for navigation bindings in annotations.
  12109. */
  12110. export interface NavigationBindingsOptionsObject {
  12111. /**
  12112. * ClassName of the element for a binding.
  12113. */
  12114. className?: string;
  12115. /**
  12116. * Last event to be fired after last step event.
  12117. */
  12118. end?: Function;
  12119. /**
  12120. * Initial event, fired on a button click.
  12121. */
  12122. init?: Function;
  12123. /**
  12124. * Event fired on first click on a chart.
  12125. */
  12126. start?: Function;
  12127. /**
  12128. * Last event to be fired after last step event. Array of step events to be
  12129. * called sequentially after each user click.
  12130. */
  12131. steps?: Array<Function>;
  12132. }
  12133. /**
  12134. * (Highstock) Save a chart in localStorage under `highcharts-chart` key. Stored
  12135. * items:
  12136. *
  12137. * - annotations
  12138. *
  12139. * - indicators (with yAxes)
  12140. *
  12141. * - flags
  12142. */
  12143. export interface NavigationBindingsSaveChartOptions {
  12144. noDataState?: string;
  12145. }
  12146. /**
  12147. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  12148. * appearing in the exporting module.
  12149. *
  12150. * In styled mode, the buttons are styled with the `.highcharts-contextbutton`
  12151. * and `.highcharts-button-symbol` classes.
  12152. */
  12153. export interface NavigationButtonOptions {
  12154. /**
  12155. * (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
  12156. */
  12157. align?: AlignValue;
  12158. /**
  12159. * (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
  12160. * buttons.
  12161. */
  12162. buttonSpacing?: number;
  12163. /**
  12164. * (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
  12165. */
  12166. enabled?: boolean;
  12167. /**
  12168. * (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
  12169. */
  12170. height?: number;
  12171. /**
  12172. * (Highcharts, Highstock, Highmaps, Gantt) Fill color for the symbol within
  12173. * the button.
  12174. */
  12175. symbolFill?: (ColorString|GradientColorObject|PatternObject);
  12176. /**
  12177. * (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
  12178. * the button.
  12179. */
  12180. symbolSize?: number;
  12181. /**
  12182. * (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
  12183. * or line.
  12184. */
  12185. symbolStroke?: ColorString;
  12186. /**
  12187. * (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
  12188. * symbol on the button.
  12189. */
  12190. symbolStrokeWidth?: number;
  12191. /**
  12192. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
  12193. * the symbol inside the button.
  12194. */
  12195. symbolX?: number;
  12196. /**
  12197. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
  12198. * the symbol inside the button.
  12199. */
  12200. symbolY?: number;
  12201. /**
  12202. * (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
  12203. * individual button.
  12204. */
  12205. text?: string;
  12206. /**
  12207. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  12208. * button theme. The object accepts SVG properties like `stroke-width`,
  12209. * `stroke` and `fill`. Tri-state button styles are supported by the
  12210. * `states.hover` and `states.select` objects.
  12211. */
  12212. theme?: NavigationButtonThemeOptions;
  12213. /**
  12214. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  12215. * buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
  12216. */
  12217. verticalAlign?: VerticalAlignValue;
  12218. /**
  12219. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
  12220. */
  12221. width?: number;
  12222. /**
  12223. * (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
  12224. * button's position relative to its `verticalAlign`.
  12225. */
  12226. y?: number;
  12227. }
  12228. /**
  12229. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  12230. * button theme. The object accepts SVG properties like `stroke-width`, `stroke`
  12231. * and `fill`. Tri-state button styles are supported by the `states.hover` and
  12232. * `states.select` objects.
  12233. */
  12234. export interface NavigationButtonThemeOptions {
  12235. /**
  12236. * (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
  12237. * capture hover events.
  12238. */
  12239. fill?: (ColorString|GradientColorObject|PatternObject);
  12240. /**
  12241. * (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
  12242. */
  12243. padding?: number;
  12244. /**
  12245. * (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
  12246. */
  12247. stroke?: ColorString;
  12248. }
  12249. /**
  12250. * (Highcharts, Highstock) Events to communicate between Stock Tools and custom
  12251. * GUI.
  12252. */
  12253. export interface NavigationEventsOptions {
  12254. /**
  12255. * (Highcharts, Highstock) A `closePopup` event. Fired when Popup should be
  12256. * hidden, for example when clicking on an annotation again.
  12257. */
  12258. closePopup?: Function;
  12259. /**
  12260. * (Highcharts, Highstock) Event fired when button state should change, for
  12261. * example after adding an annotation.
  12262. */
  12263. deselectButton?: Function;
  12264. /**
  12265. * (Highcharts, Highstock) Event fired on a button click.
  12266. */
  12267. selectButton?: Function;
  12268. /**
  12269. * (Highcharts, Highstock) A `showPopup` event. Fired when selecting for
  12270. * example an annotation.
  12271. */
  12272. showPopup?: Function;
  12273. }
  12274. /**
  12275. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
  12276. * and menus appearing in the exporting module.
  12277. */
  12278. export interface NavigationOptions {
  12279. /**
  12280. * (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged
  12281. * into all annotations.
  12282. */
  12283. annotationsOptions?: (AnnotationsOptions|NavigationAnnotationsOptions);
  12284. /**
  12285. * (Highcharts, Highstock) Bindings definitions for custom HTML buttons.
  12286. * Each binding implements simple event-driven interface:
  12287. *
  12288. * - `className`: classname used to bind event to
  12289. *
  12290. * - `init`: initial event, fired on button click
  12291. *
  12292. * - `start`: fired on first click on a chart
  12293. *
  12294. * - `steps`: array of sequential events fired one after another on each of
  12295. * users clicks
  12296. *
  12297. * - `end`: last event to be called after last step event
  12298. */
  12299. bindings?: (NavigationBindingsOptions|Dictionary<NavigationBindingsOptionsObject>);
  12300. /**
  12301. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name where all
  12302. * bindings will be attached to. Multiple charts on the same page should
  12303. * have separate class names to prevent duplicating events.
  12304. *
  12305. * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
  12306. */
  12307. bindingsClassName?: string;
  12308. /**
  12309. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  12310. * buttons appearing in the exporting module.
  12311. *
  12312. * In styled mode, the buttons are styled with the
  12313. * `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.
  12314. */
  12315. buttonOptions?: NavigationButtonOptions;
  12316. /**
  12317. * (Highcharts, Highstock) Events to communicate between Stock Tools and
  12318. * custom GUI.
  12319. */
  12320. events?: NavigationEventsOptions;
  12321. /**
  12322. * (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
  12323. * for icons. Change this to use icons from a different server.
  12324. */
  12325. iconsURL?: string;
  12326. /**
  12327. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the hover state
  12328. * of the individual items within the popup menu appearing by default when
  12329. * the export icon is clicked. The menu items are rendered in HTML.
  12330. */
  12331. menuItemHoverStyle?: CSSObject;
  12332. /**
  12333. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the individual
  12334. * items within the popup menu appearing by default when the export icon is
  12335. * clicked. The menu items are rendered in HTML. Font size defaults to
  12336. * `11px` on desktop and `14px` on touch devices.
  12337. */
  12338. menuItemStyle?: CSSObject;
  12339. /**
  12340. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the popup menu
  12341. * appearing by default when the export icon is clicked. This menu is
  12342. * rendered in HTML.
  12343. */
  12344. menuStyle?: CSSObject;
  12345. }
  12346. /**
  12347. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12348. */
  12349. export interface NavigatorHandlesOptions {
  12350. /**
  12351. * (Highstock, Gantt) The fill for the handle.
  12352. */
  12353. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12354. /**
  12355. * (Highstock, Gantt) The stroke for the handle border and the stripes
  12356. * inside.
  12357. */
  12358. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12359. /**
  12360. * (Highstock, Gantt) Allows to enable/disable handles.
  12361. */
  12362. enabled?: boolean;
  12363. /**
  12364. * (Highstock, Gantt) Height for handles.
  12365. */
  12366. height?: number;
  12367. /**
  12368. * (Highstock, Gantt) The width for the handle border and the stripes
  12369. * inside.
  12370. */
  12371. lineWidth?: object;
  12372. /**
  12373. * (Highstock, Gantt) Array to define shapes of handles. 0-index for left,
  12374. * 1-index for right.
  12375. *
  12376. * Additionally, the URL to a graphic can be given on this form:
  12377. * `url(graphic.png)`. Note that for the image to be applied to exported
  12378. * charts, its URL needs to be accessible by the export server.
  12379. *
  12380. * Custom callbacks for symbol path generation can also be added to
  12381. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  12382. * its method name, as shown in the demo.
  12383. */
  12384. symbols?: Array<string>;
  12385. /**
  12386. * (Highstock, Gantt) Width for handles.
  12387. */
  12388. width?: number;
  12389. }
  12390. /**
  12391. * (Highstock, Gantt) The navigator is a small series below the main series,
  12392. * displaying a view of the entire data set. It provides tools to zoom in and
  12393. * out on parts of the data as well as panning across the dataset.
  12394. */
  12395. export interface NavigatorOptions {
  12396. /**
  12397. * (Highstock, Gantt) Whether the navigator and scrollbar should adapt to
  12398. * updated data in the base X axis. When loading data async, as in the demo
  12399. * below, this should be `false`. Otherwise new data will trigger navigator
  12400. * redraw, which will cause unwanted looping. In the demo below, the data in
  12401. * the navigator is set only once. On navigating, only the main chart
  12402. * content is updated.
  12403. */
  12404. adaptToUpdatedData?: boolean;
  12405. /**
  12406. * (Highstock, Gantt) Enable or disable the navigator.
  12407. */
  12408. enabled?: boolean;
  12409. /**
  12410. * (Highstock, Gantt) Options for the handles for dragging the zoomed area.
  12411. */
  12412. handles?: NavigatorHandlesOptions;
  12413. /**
  12414. * (Highstock, Gantt) The height of the navigator.
  12415. */
  12416. height?: number;
  12417. /**
  12418. * (Highstock, Gantt) The distance from the nearest element, the X axis or X
  12419. * axis labels.
  12420. */
  12421. margin?: number;
  12422. /**
  12423. * (Highstock, Gantt) The color of the mask covering the areas of the
  12424. * navigator series that are currently not visible in the main series. The
  12425. * default color is bluish with an opacity of 0.3 to see the series below.
  12426. */
  12427. maskFill?: (ColorString|GradientColorObject|PatternObject);
  12428. /**
  12429. * (Highstock, Gantt) Whether the mask should be inside the range marking
  12430. * the zoomed range, or outside. In Highcharts Stock 1.x it was always
  12431. * `false`.
  12432. */
  12433. maskInside?: boolean;
  12434. /**
  12435. * (Highstock, Gantt) When the chart is inverted, whether to draw the
  12436. * navigator on the opposite side.
  12437. */
  12438. opposite?: boolean;
  12439. /**
  12440. * (Highstock, Gantt) The color of the line marking the currently zoomed
  12441. * area in the navigator.
  12442. */
  12443. outlineColor?: (ColorString|GradientColorObject|PatternObject);
  12444. /**
  12445. * (Highstock, Gantt) The width of the line marking the currently zoomed
  12446. * area in the navigator.
  12447. */
  12448. outlineWidth?: number;
  12449. /**
  12450. * (Highstock, Gantt) Options for the navigator series. Available options
  12451. * are the same as any series, documented at plotOptions and series.
  12452. *
  12453. * Unless data is explicitly defined on navigator.series, the data is
  12454. * borrowed from the first series in the chart.
  12455. *
  12456. * Default series options for the navigator series are: (see online
  12457. * documentation for example)
  12458. */
  12459. series?: (NavigatorSeriesOptions|SeriesOptionsType|Array<NavigatorSeriesOptions>|Array<SeriesOptionsType>);
  12460. /**
  12461. * (Highstock, Gantt) Options for the navigator X axis. Default series
  12462. * options for the navigator xAxis are: (see online documentation for
  12463. * example)
  12464. */
  12465. xAxis?: (NavigatorXAxisOptions|Array<NavigatorXAxisOptions>);
  12466. /**
  12467. * (Highstock, Gantt) Options for the navigator Y axis. Default series
  12468. * options for the navigator yAxis are: (see online documentation for
  12469. * example)
  12470. */
  12471. yAxis?: (NavigatorYAxisOptions|Array<NavigatorYAxisOptions>);
  12472. }
  12473. /**
  12474. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12475. * animation when a series is displayed for the `dataLabels`. The animation can
  12476. * also be set as a configuration object. Please note that this option only
  12477. * applies to the initial animation. For other animations, see chart.animation
  12478. * and the animation parameter under the API methods. The following properties
  12479. * are supported:
  12480. *
  12481. * - `defer`: The animation delay time in milliseconds.
  12482. */
  12483. export interface NavigatorSeriesDataLabelsAnimationOptions {
  12484. /**
  12485. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  12486. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  12487. * inherits defer time from the series.animation.defer.
  12488. */
  12489. defer?: number;
  12490. }
  12491. /**
  12492. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the navigator
  12493. * series. Data labels are disabled by default on the navigator series.
  12494. */
  12495. export interface NavigatorSeriesDataLabelsOptions {
  12496. /**
  12497. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  12498. * compared to the point. If `right`, the right side of the label should be
  12499. * touching the point. For points with an extent, like columns, the
  12500. * alignments also dictates how to align it inside the box, as given with
  12501. * the inside option. Can be one of `left`, `center` or `right`.
  12502. */
  12503. align?: (AlignValue|null);
  12504. /**
  12505. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  12506. * overlap. To make the labels less sensitive for overlapping, the
  12507. * dataLabels.padding can be set to 0.
  12508. */
  12509. allowOverlap?: boolean;
  12510. /**
  12511. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  12512. * animation when a series is displayed for the `dataLabels`. The animation
  12513. * can also be set as a configuration object. Please note that this option
  12514. * only applies to the initial animation. For other animations, see
  12515. * chart.animation and the animation parameter under the API methods. The
  12516. * following properties are supported:
  12517. *
  12518. * - `defer`: The animation delay time in milliseconds.
  12519. */
  12520. animation?: (boolean|NavigatorSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  12521. /**
  12522. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  12523. * for the data label.
  12524. */
  12525. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  12526. /**
  12527. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  12528. * label. Defaults to `undefined`.
  12529. */
  12530. borderColor?: (ColorString|GradientColorObject|PatternObject);
  12531. /**
  12532. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  12533. * the data label.
  12534. */
  12535. borderRadius?: number;
  12536. /**
  12537. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  12538. * the data label.
  12539. */
  12540. borderWidth?: number;
  12541. /**
  12542. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  12543. * Particularly in styled mode, this can be used to give each series' or
  12544. * point's data label unique styling. In addition to this option, a default
  12545. * color class name is added so that we can give the labels a contrast text
  12546. * shadow.
  12547. */
  12548. className?: string;
  12549. /**
  12550. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  12551. * labels. Defaults to `undefined`. For certain series types, like column or
  12552. * map, the data labels can be drawn inside the points. In this case the
  12553. * data label will be drawn with maximum contrast by default. Additionally,
  12554. * it will be given a `text-outline` style with the opposite color, to
  12555. * further increase the contrast. This can be overridden by setting the
  12556. * `text-outline` style to `none` in the `dataLabels.style` option.
  12557. */
  12558. color?: (ColorString|GradientColorObject|PatternObject);
  12559. /**
  12560. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  12561. * are outside the plot area. By default, the data label is moved inside the
  12562. * plot area according to the overflow option.
  12563. */
  12564. crop?: boolean;
  12565. /**
  12566. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  12567. * labels until the initial series animation has finished. Setting to
  12568. * `false` renders the data label immediately. If set to `true` inherits the
  12569. * defer time set in plotOptions.series.animation. If set to a number, a
  12570. * defer time is specified in milliseconds.
  12571. */
  12572. defer?: (boolean|number);
  12573. /**
  12574. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  12575. * labels.
  12576. */
  12577. enabled?: boolean;
  12578. /**
  12579. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  12580. * of which data labels to display. The declarative filter is designed for
  12581. * use when callback functions are not available, like when the chart
  12582. * options require a pure JSON structure or for use with graphical editors.
  12583. * For programmatic control, use the `formatter` instead, and return
  12584. * `undefined` to disable a single data label.
  12585. */
  12586. filter?: DataLabelsFilterOptionsObject;
  12587. /**
  12588. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  12589. * label. Available variables are the same as for `formatter`.
  12590. */
  12591. format?: string;
  12592. /**
  12593. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  12594. * format the data label. Note that if a `format` is defined, the format
  12595. * takes precedence and the formatter is ignored.
  12596. */
  12597. formatter?: DataLabelsFormatterCallbackFunction;
  12598. /**
  12599. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  12600. * columns or map areas, whether to align the data label inside the box or
  12601. * to the actual value point. Defaults to `false` in most cases, `true` in
  12602. * stacked columns.
  12603. */
  12604. inside?: boolean;
  12605. /**
  12606. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  12607. * of null. Works analogously to format. `nullFormat` can be applied only to
  12608. * series which support displaying null points.
  12609. */
  12610. nullFormat?: (boolean|string);
  12611. /**
  12612. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  12613. * that defines formatting for points with the value of null. Works
  12614. * analogously to formatter. `nullPointFormatter` can be applied only to
  12615. * series which support displaying null points.
  12616. */
  12617. nullFormatter?: DataLabelsFormatterCallbackFunction;
  12618. /**
  12619. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  12620. * flow outside the plot area. The default is `"justify"`, which aligns them
  12621. * inside the plot area. For columns and bars, this means it will be moved
  12622. * inside the bar. To display data labels outside the plot area, set `crop`
  12623. * to `false` and `overflow` to `"allow"`.
  12624. */
  12625. overflow?: DataLabelsOverflowValue;
  12626. /**
  12627. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  12628. * the `backgroundColor` is set, this is the padding within the box.
  12629. */
  12630. padding?: number;
  12631. /**
  12632. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  12633. * points. If `center` alignment is not possible, it defaults to `right`.
  12634. */
  12635. position?: AlignValue;
  12636. /**
  12637. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  12638. * that due to a more complex structure, backgrounds, borders and padding
  12639. * will be lost on a rotated data label.
  12640. */
  12641. rotation?: number;
  12642. /**
  12643. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  12644. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  12645. * an object configuration containing `color`, `offsetX`, `offsetY`,
  12646. * `opacity` and `width`.
  12647. */
  12648. shadow?: (boolean|ShadowOptionsObject);
  12649. /**
  12650. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  12651. * the border around the label. Symbols are predefined functions on the
  12652. * Renderer object.
  12653. */
  12654. shape?: string;
  12655. /**
  12656. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  12657. * default `color` setting is `"contrast"`, which is a pseudo color that
  12658. * Highcharts picks up and applies the maximum contrast to the underlying
  12659. * point item, for example the bar in a bar chart.
  12660. *
  12661. * The `textOutline` is a pseudo property that applies an outline of the
  12662. * given width with the given color, which by default is the maximum
  12663. * contrast to the text. So a bright text color will result in a black text
  12664. * outline for maximum readability on a mixed background. In some cases,
  12665. * especially with grayscale text, the text outline doesn't work well, in
  12666. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  12667. * is true, the `textOutline` will not be picked up. In this, case, the same
  12668. * effect can be acheived through the `text-shadow` CSS property.
  12669. *
  12670. * For some series types, where each point has an extent, like for example
  12671. * tree maps, the data label may overflow the point. There are two
  12672. * strategies for handling overflow. By default, the text will wrap to
  12673. * multiple lines. The other strategy is to set `style.textOverflow` to
  12674. * `ellipsis`, which will keep the text on one line plus it will break
  12675. * inside long words.
  12676. */
  12677. style?: CSSObject;
  12678. /**
  12679. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  12680. * should follow marker's shape. Border and background are disabled for a
  12681. * label that follows a path.
  12682. *
  12683. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  12684. * to true will disable this option.
  12685. */
  12686. textPath?: DataLabelsTextPathOptionsObject;
  12687. /**
  12688. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  12689. * the labels.
  12690. */
  12691. useHTML?: boolean;
  12692. /**
  12693. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  12694. * label. Can be one of `top`, `middle` or `bottom`. The default value
  12695. * depends on the data, for instance in a column chart, the label is above
  12696. * positive values and below negative values.
  12697. */
  12698. verticalAlign?: (VerticalAlignValue|null);
  12699. /**
  12700. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  12701. * label relative to the point in pixels.
  12702. */
  12703. x?: number;
  12704. /**
  12705. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  12706. * label relative to the point in pixels.
  12707. */
  12708. y?: number;
  12709. /**
  12710. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  12711. * The default Z index puts it above the series. Use a Z index of 2 to
  12712. * display it behind the series.
  12713. */
  12714. z?: number;
  12715. zIndex?: number;
  12716. }
  12717. export interface NavigatorSeriesMarkerOptions {
  12718. enabled?: boolean;
  12719. }
  12720. /**
  12721. * (Highstock, Gantt) Options for the navigator series. Available options are
  12722. * the same as any series, documented at plotOptions and series.
  12723. *
  12724. * Unless data is explicitly defined on navigator.series, the data is borrowed
  12725. * from the first series in the chart.
  12726. *
  12727. * Default series options for the navigator series are: (see online
  12728. * documentation for example)
  12729. */
  12730. export interface NavigatorSeriesOptions {
  12731. className?: string;
  12732. /**
  12733. * (Highstock, Gantt) Sets the fill color of the navigator series.
  12734. */
  12735. color?: (ColorString|GradientColorObject|PatternObject);
  12736. /**
  12737. * (Highstock) Unless data is explicitly defined, the data is borrowed from
  12738. * the first series in the chart.
  12739. */
  12740. data?: Array<(number|Array<(number|string|null)>|object|null)>;
  12741. /**
  12742. * (Highstock) Data grouping options for the navigator series.
  12743. */
  12744. dataGrouping?: DataGroupingOptionsObject;
  12745. /**
  12746. * (Highcharts, Highstock, Highmaps, Gantt) Data label options for the
  12747. * navigator series. Data labels are disabled by default on the navigator
  12748. * series.
  12749. */
  12750. dataLabels?: (NavigatorSeriesDataLabelsOptions|Array<NavigatorSeriesDataLabelsOptions>);
  12751. /**
  12752. * (Highstock, Gantt) The fill opacity of the navigator series.
  12753. */
  12754. fillOpacity?: number;
  12755. id?: string;
  12756. /**
  12757. * (Highstock, Gantt) Line color for the navigator series. Allows setting
  12758. * the color while disallowing the default candlestick setting.
  12759. */
  12760. lineColor?: (ColorString|null);
  12761. /**
  12762. * (Highstock, Gantt) The pixel line width of the navigator series.
  12763. */
  12764. lineWidth?: number;
  12765. marker?: NavigatorSeriesMarkerOptions;
  12766. /**
  12767. * (Highstock) Since Highcharts Stock v8, default value is the same as
  12768. * default `pointRange` defined for a specific type (e.g. `null` for column
  12769. * type).
  12770. *
  12771. * In Highcharts Stock version < 8, defaults to 0.
  12772. */
  12773. pointRange?: (number|null);
  12774. /**
  12775. * (Highstock, Gantt) The threshold option. Setting it to 0 will make the
  12776. * default navigator area series draw its area from the 0 value and up.
  12777. */
  12778. threshold?: (number|null);
  12779. /**
  12780. * (Highstock, Gantt) The type of the navigator series.
  12781. *
  12782. * Heads up: In column-type navigator, zooming is limited to at least one
  12783. * point with its `pointRange`.
  12784. */
  12785. type?: string;
  12786. }
  12787. /**
  12788. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  12789. * sections defined will be left out and all the points shifted closer to each
  12790. * other.
  12791. */
  12792. export interface NavigatorXAxisBreaksOptions {
  12793. /**
  12794. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  12795. * be left between the start and the end of the break. The break size is
  12796. * given in axis units, so for instance on a `datetime` axis, a break size
  12797. * of 3600000 would indicate the equivalent of an hour.
  12798. */
  12799. breakSize?: number;
  12800. /**
  12801. * (Highcharts, Highstock, Gantt) The point where the break starts.
  12802. */
  12803. from?: number;
  12804. /**
  12805. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  12806. * appears again. By default the breaks do not repeat.
  12807. */
  12808. repeat?: number;
  12809. /**
  12810. * (Highcharts, Highstock, Gantt) The point where the break ends.
  12811. */
  12812. to?: number;
  12813. }
  12814. /**
  12815. * (Gantt) An object defining mouse events for the plot line. Supported
  12816. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  12817. */
  12818. export interface NavigatorXAxisCurrentDateIndicatorEventsOptions {
  12819. /**
  12820. * (Gantt) Click event on a plot band.
  12821. */
  12822. click?: EventCallbackFunction<PlotLineOrBand>;
  12823. /**
  12824. * (Gantt) Mouse move event on a plot band.
  12825. */
  12826. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  12827. /**
  12828. * (Gantt) Mouse out event on the corner of a plot band.
  12829. */
  12830. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  12831. /**
  12832. * (Gantt) Mouse over event on a plot band.
  12833. */
  12834. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  12835. }
  12836. /**
  12837. * (Gantt) Text labels for the plot bands
  12838. */
  12839. export interface NavigatorXAxisCurrentDateIndicatorLabelOptions {
  12840. /**
  12841. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  12842. * or "right".
  12843. */
  12844. align?: AlignValue;
  12845. /**
  12846. * (Gantt) Format of the label. This options is passed as the fist argument
  12847. * to dateFormat function.
  12848. */
  12849. format?: string;
  12850. /**
  12851. * (Gantt) Callback JavaScript function to format the label. Useful
  12852. * properties like the value of plot line or the range of plot band (`from`
  12853. * & `to` properties) can be found in `this.options` object.
  12854. */
  12855. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  12856. /**
  12857. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  12858. * horizontal plot lines and 90 for vertical lines.
  12859. */
  12860. rotation?: number;
  12861. /**
  12862. * (Gantt) CSS styles for the text label.
  12863. *
  12864. * In styled mode, the labels are styled by the
  12865. * `.highcharts-plot-line-label` class.
  12866. */
  12867. style?: CSSObject;
  12868. /**
  12869. * (Gantt) The text itself. A subset of HTML is supported.
  12870. */
  12871. text?: string;
  12872. /**
  12873. * (Gantt) The text alignment for the label. While `align` determines where
  12874. * the texts anchor point is placed within the plot band, `textAlign`
  12875. * determines how the text is aligned against its anchor point. Possible
  12876. * values are "left", "center" and "right". Defaults to the same as the
  12877. * `align` option.
  12878. */
  12879. textAlign?: AlignValue;
  12880. /**
  12881. * (Gantt) Whether to use HTML to render the labels.
  12882. */
  12883. useHTML?: boolean;
  12884. /**
  12885. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  12886. * one of "top", "middle" or "bottom".
  12887. */
  12888. verticalAlign?: VerticalAlignValue;
  12889. /**
  12890. * (Gantt) Horizontal position relative the alignment. Default varies by
  12891. * orientation.
  12892. */
  12893. x?: number;
  12894. /**
  12895. * (Gantt) Vertical position of the text baseline relative to the alignment.
  12896. * Default varies by orientation.
  12897. */
  12898. y?: number;
  12899. }
  12900. /**
  12901. * (Highstock, Gantt) Event handlers for the axis.
  12902. */
  12903. export interface NavigatorXAxisEventsOptions {
  12904. /**
  12905. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  12906. */
  12907. afterBreaks?: AxisEventCallbackFunction;
  12908. /**
  12909. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  12910. * fires after the final min and max values are computed and corrected for
  12911. * `minRange`.
  12912. *
  12913. * Fires when the minimum and maximum is set for the axis, either by calling
  12914. * the `.setExtremes()` method or by selecting an area in the chart. One
  12915. * parameter, `event`, is passed to the function, containing common event
  12916. * information.
  12917. *
  12918. * The new user set minimum and maximum values can be found by `event.min`
  12919. * and `event.max`. These reflect the axis minimum and maximum in axis
  12920. * values. The actual data extremes are found in `event.dataMin` and
  12921. * `event.dataMax`.
  12922. */
  12923. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  12924. /**
  12925. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  12926. * a point.
  12927. */
  12928. pointBreak?: AxisPointBreakEventCallbackFunction;
  12929. /**
  12930. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  12931. * break from this axis.
  12932. */
  12933. pointInBreak?: AxisPointBreakEventCallbackFunction;
  12934. /**
  12935. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  12936. * axis, either by calling the `.setExtremes()` method or by selecting an
  12937. * area in the chart. One parameter, `event`, is passed to the function,
  12938. * containing common event information.
  12939. *
  12940. * The new user set minimum and maximum values can be found by `event.min`
  12941. * and `event.max`. These reflect the axis minimum and maximum in data
  12942. * values. When an axis is zoomed all the way out from the "Reset zoom"
  12943. * button, `event.min` and `event.max` are null, and the new extremes are
  12944. * set based on `this.dataMin` and `this.dataMax`.
  12945. */
  12946. setExtremes?: AxisSetExtremesEventCallbackFunction;
  12947. }
  12948. /**
  12949. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  12950. */
  12951. export interface NavigatorXAxisGridOptions {
  12952. /**
  12953. * (Gantt) Set border color for the label grid lines.
  12954. */
  12955. borderColor?: ColorString;
  12956. /**
  12957. * (Gantt) Set border width of the label grid lines.
  12958. */
  12959. borderWidth?: number;
  12960. /**
  12961. * (Gantt) Set cell height for grid axis labels. By default this is
  12962. * calculated from font size. This option only applies to horizontal axes.
  12963. */
  12964. cellHeight?: number;
  12965. /**
  12966. * (Gantt) Set specific options for each column (or row for horizontal axes)
  12967. * in the grid. Each extra column/row is its own axis, and the axis options
  12968. * can be set here.
  12969. */
  12970. columns?: Array<XAxisOptions>;
  12971. /**
  12972. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  12973. * charts.
  12974. */
  12975. enabled?: boolean;
  12976. }
  12977. /**
  12978. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  12979. *
  12980. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  12981. * `tickInterval` and `step` is set to 1.
  12982. */
  12983. export interface NavigatorXAxisLabelsOptions {
  12984. /**
  12985. * (Highstock, Gantt) What part of the string the given position is anchored
  12986. * to. If `left`, the left side of the string is at the axis position. Can
  12987. * be one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  12988. * guess based on which side of the chart the axis is on and the rotation of
  12989. * the label.
  12990. */
  12991. align?: string;
  12992. /**
  12993. * (Highstock, Gantt) Whether to allow the axis labels to overlap. When
  12994. * false, overlapping labels are hidden.
  12995. */
  12996. allowOverlap?: boolean;
  12997. /**
  12998. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  12999. * of label rotation to prevent overlapping labels. If there is enough
  13000. * space, labels are not rotated. As the chart gets narrower, it will start
  13001. * rotating the labels -45 degrees, then remove every second label and try
  13002. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  13003. * rotation, which will cause the labels to word-wrap if possible. Defaults
  13004. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  13005. */
  13006. autoRotation?: Array<number>;
  13007. /**
  13008. * (Highcharts, Gantt) When each category width is more than this many
  13009. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  13010. * with word wrap. A lower limit makes sense when the label contains
  13011. * multiple short words that don't extend the available horizontal space for
  13012. * each label.
  13013. */
  13014. autoRotationLimit?: number;
  13015. /**
  13016. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  13017. * the perimeter of the plot area.
  13018. */
  13019. distance?: number;
  13020. /**
  13021. * (Highstock, Gantt) Enable or disable the axis labels.
  13022. */
  13023. enabled?: boolean;
  13024. /**
  13025. * (Highstock, Gantt) A format string for the axis label. The context is
  13026. * available as format string variables. For example, you can use `{text}`
  13027. * to insert the default formatted text. The recommended way of adding units
  13028. * for the label is using `text`, for example `{text} km`.
  13029. *
  13030. * To add custom numeric or datetime formatting, use `{value}` with
  13031. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  13032. *
  13033. * See format string for more examples of formatting.
  13034. *
  13035. * The default value is not specified due to the dynamic nature of the
  13036. * default implementation.
  13037. */
  13038. format?: string;
  13039. /**
  13040. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  13041. * value is given by `this.value`. Additional properties for `this` are
  13042. * `axis`, `chart`, `isFirst`, `isLast` and `text` which holds the value of
  13043. * the default formatter.
  13044. *
  13045. * Defaults to a built in function returning a formatted string depending on
  13046. * whether the axis is `category`, `datetime`, `numeric` or other.
  13047. */
  13048. formatter?: AxisLabelsFormatterCallbackFunction;
  13049. /**
  13050. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  13051. * axis.
  13052. */
  13053. indentation?: number;
  13054. /**
  13055. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  13056. * If set to `"allow"`, it will not be aligned at all. By default it
  13057. * `"justify"` labels inside the chart area. If there is room to move it, it
  13058. * will be aligned to the edge, else it will be removed.
  13059. */
  13060. overflow?: OptionsOverflowValue;
  13061. /**
  13062. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  13063. * space between them.
  13064. */
  13065. padding?: number;
  13066. /**
  13067. * (Highcharts) Defines how the labels are be repositioned according to the
  13068. * 3D chart orientation.
  13069. *
  13070. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  13071. * marks, despite the chart orientation. This is the backwards compatible
  13072. * behavior, and causes skewing of X and Z axes.
  13073. *
  13074. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  13075. * but hard to read if the text isn't forward-facing.
  13076. *
  13077. * - `'flap'`: Rotated text along the axis to compensate for the chart
  13078. * orientation. This tries to maintain text as legible as possible on all
  13079. * orientations.
  13080. *
  13081. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  13082. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  13083. * skewing the labels (X and Y scaling are still present).
  13084. */
  13085. position3d?: OptionsPosition3dValue;
  13086. /**
  13087. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  13088. * space is reserved for the labels in these cases:
  13089. *
  13090. * * On all horizontal axes.
  13091. *
  13092. * * On vertical axes if `label.align` is `right` on a left-side axis or
  13093. * `left` on a right-side axis.
  13094. *
  13095. * * On vertical axes if `label.align` is `center`.
  13096. *
  13097. * This can be turned off when for example the labels are rendered inside
  13098. * the plot area instead of outside.
  13099. */
  13100. reserveSpace?: boolean;
  13101. /**
  13102. * (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
  13103. * the `autoRotation` option takes precedence.
  13104. */
  13105. rotation?: number;
  13106. /**
  13107. * (Highcharts) If enabled, the axis labels will skewed to follow the
  13108. * perspective.
  13109. *
  13110. * This will fix overlapping labels and titles, but texts become less
  13111. * legible due to the distortion.
  13112. *
  13113. * The final appearance depends heavily on `labels.position3d`.
  13114. */
  13115. skew3d?: boolean;
  13116. /**
  13117. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  13118. * the labels over to make room or tighter labels. 0 disables staggering.
  13119. */
  13120. staggerLines?: object;
  13121. /**
  13122. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  13123. * step to _n_. Setting the step to 2 shows every other label.
  13124. *
  13125. * By default, when 0, the step is calculated automatically to avoid
  13126. * overlap. To prevent this, set it to 1\. This usually only happens on a
  13127. * category axis, and is often a sign that you have chosen the wrong axis
  13128. * type.
  13129. *
  13130. * Read more at Axis docs => What axis should I use?
  13131. */
  13132. step?: number;
  13133. /**
  13134. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  13135. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  13136. * prevent ellipsis (dots).
  13137. *
  13138. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  13139. * class.
  13140. */
  13141. style?: CSSObject;
  13142. /**
  13143. * (Highstock, Gantt) Whether to use HTML to render the labels.
  13144. */
  13145. useHTML?: boolean;
  13146. /**
  13147. * (Highstock, Gantt) The x position offset of all labels relative to the
  13148. * tick positions on the axis.
  13149. */
  13150. x?: number;
  13151. /**
  13152. * (Highstock, Gantt) The y position offset of all labels relative to the
  13153. * tick positions on the axis. The default makes it adapt to the font size
  13154. * of the bottom axis.
  13155. */
  13156. y?: number;
  13157. /**
  13158. * (Highstock, Gantt) The Z index for the axis labels.
  13159. */
  13160. zIndex?: number;
  13161. }
  13162. /**
  13163. * (Highstock, Gantt) Options for the navigator X axis. Default series options
  13164. * for the navigator xAxis are: (see online documentation for example)
  13165. */
  13166. export interface NavigatorXAxisOptions {
  13167. /**
  13168. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  13169. * accessibility module.
  13170. */
  13171. accessibility?: AxisAccessibilityOptionsObject;
  13172. /**
  13173. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  13174. * or more opposite axes will automatically be aligned by adding ticks to
  13175. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  13176. *
  13177. * This can be prevented by setting `alignTicks` to false. If the grid lines
  13178. * look messy, it's a good idea to hide them for the secondary axis by
  13179. * setting `gridLineWidth` to 0.
  13180. *
  13181. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  13182. * the `alignTicks ` will be disabled for the Axis.
  13183. *
  13184. * Disabled for logarithmic axes.
  13185. */
  13186. alignTicks?: boolean;
  13187. /**
  13188. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  13189. * counting integers, like persons or hits on a web page, decimals should be
  13190. * avoided in the labels. By default, decimals are allowed on small scale
  13191. * axes.
  13192. */
  13193. allowDecimals?: (boolean|undefined);
  13194. /**
  13195. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  13196. * across the plot area between every other grid line.
  13197. */
  13198. alternateGridColor?: ColorType;
  13199. /**
  13200. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  13201. * degrees, where 0 is up and 90 is right. The angle determines the position
  13202. * of the axis line and the labels, though the coordinate system is
  13203. * unaffected. Since v8.0.0 this option is also applicable for X axis
  13204. * (inverted polar).
  13205. */
  13206. angle?: number;
  13207. /**
  13208. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  13209. * sections defined will be left out and all the points shifted closer to
  13210. * each other.
  13211. */
  13212. breaks?: Array<NavigatorXAxisBreaksOptions>;
  13213. /**
  13214. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  13215. * used instead of numbers for that axis.
  13216. *
  13217. * Since Highcharts 3.0, categories can also be extracted by giving each
  13218. * point a name and setting axis type to `category`. However, if you have
  13219. * multiple series, best practice remains defining the `categories` array.
  13220. *
  13221. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  13222. */
  13223. categories?: Array<string>;
  13224. /**
  13225. * (Highcharts, Highstock, Gantt) The highest allowed value for
  13226. * automatically computed axis extremes.
  13227. */
  13228. ceiling?: number;
  13229. /**
  13230. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  13231. * especially in Highcharts styled mode. The class name is applied to group
  13232. * elements for the grid, axis elements and labels.
  13233. */
  13234. className?: string;
  13235. /**
  13236. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  13237. * pointer or the hovered point.
  13238. *
  13239. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  13240. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  13241. */
  13242. crosshair?: (boolean|AxisCrosshairOptions);
  13243. /**
  13244. * (Gantt) Show an indicator on the axis for the current date and time. Can
  13245. * be a boolean or a configuration object similar to xAxis.plotLines.
  13246. */
  13247. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  13248. /**
  13249. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  13250. * automatically adjust to the appropriate unit. This member gives the
  13251. * default string representations used for each unit. For intermediate
  13252. * values, different units may be used, for example the `day` unit can be
  13253. * used on midnight and `hour` unit be used for intermediate values on the
  13254. * same axis.
  13255. *
  13256. * For an overview of the replacement codes, see dateFormat.
  13257. *
  13258. * Defaults to: (see online documentation for example)
  13259. */
  13260. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  13261. /**
  13262. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  13263. * option with the `maxPadding` option to control the axis end.
  13264. */
  13265. endOnTick?: boolean;
  13266. /**
  13267. * (Highstock, Gantt) Event handlers for the axis.
  13268. */
  13269. events?: NavigatorXAxisEventsOptions;
  13270. /**
  13271. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  13272. * computed axis extremes.
  13273. */
  13274. floor?: number;
  13275. /**
  13276. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  13277. */
  13278. grid?: NavigatorXAxisGridOptions;
  13279. /**
  13280. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  13281. * plot area.
  13282. *
  13283. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  13284. */
  13285. gridLineColor?: ColorType;
  13286. /**
  13287. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  13288. * values, see this demonstration.
  13289. */
  13290. gridLineDashStyle?: DashStyleValue;
  13291. /**
  13292. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  13293. * polygon with straight lines between categories, or as circles. Can be
  13294. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  13295. * for X axis (inverted polar).
  13296. */
  13297. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  13298. /**
  13299. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  13300. * the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
  13301. * for 3d charts.
  13302. *
  13303. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13304. * class.
  13305. */
  13306. gridLineWidth?: number;
  13307. /**
  13308. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  13309. */
  13310. gridZIndex?: number;
  13311. /**
  13312. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  13313. * number, it is interpreted as pixels.
  13314. *
  13315. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13316. * percentages of the total plot height.
  13317. */
  13318. height?: (number|string);
  13319. /**
  13320. * (Highstock, Gantt) An id for the axis. This can be used after render time
  13321. * to get a pointer to the axis object through `chart.get()`.
  13322. */
  13323. id?: string;
  13324. /**
  13325. * (Highstock, Gantt) The axis labels show the number or category for each
  13326. * tick.
  13327. *
  13328. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  13329. * data if `tickInterval` and `step` is set to 1.
  13330. */
  13331. labels?: NavigatorXAxisLabelsOptions;
  13332. /**
  13333. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  13334. * a number, it is interpreted as pixel position relative to the chart.
  13335. *
  13336. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13337. * as percentages of the plot width, offset from plot area left.
  13338. */
  13339. left?: (number|string);
  13340. /**
  13341. * (Highstock, Gantt) The color of the line marking the axis itself.
  13342. *
  13343. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  13344. * or `.highcharts-xaxis-line` class.
  13345. */
  13346. lineColor?: ColorType;
  13347. /**
  13348. * (Highstock, Gantt) The width of the line marking the axis itself.
  13349. *
  13350. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  13351. * or `.highcharts-xaxis-line` class.
  13352. */
  13353. lineWidth?: number;
  13354. /**
  13355. * (Highstock, Gantt) If there are multiple axes on the same side of the
  13356. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  13357. * 15 on horizontal axes.
  13358. */
  13359. margin?: number;
  13360. /**
  13361. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  13362. * value is automatically calculated.
  13363. *
  13364. * If the endOnTick option is true, the `max` value might be rounded up.
  13365. *
  13366. * If a tickAmount is set, the axis may be extended beyond the set max in
  13367. * order to reach the given number of ticks. The same may happen in a chart
  13368. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  13369. * is applied internally.
  13370. */
  13371. max?: (number|null);
  13372. /**
  13373. * (Highstock, Gantt) Padding of the max value relative to the length of the
  13374. * axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful
  13375. * when you don't want the highest data value to appear on the edge of the
  13376. * plot area. When the axis' `max` option is set or a max extreme is set
  13377. * using `axis.setExtremes()`, the maxPadding will be ignored.
  13378. */
  13379. maxPadding?: number;
  13380. /**
  13381. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  13382. * is automatically calculated.
  13383. *
  13384. * If the startOnTick option is true (default), the `min` value might be
  13385. * rounded down.
  13386. *
  13387. * The automatically calculated minimum value is also affected by floor,
  13388. * softMin, minPadding, minRange as well as series.threshold and
  13389. * series.softThreshold.
  13390. */
  13391. min?: (number|null);
  13392. /**
  13393. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  13394. *
  13395. * In styled mode, the stroke width is given in the
  13396. * `.highcharts-minor-grid-line` class.
  13397. */
  13398. minorGridLineColor?: ColorType;
  13399. /**
  13400. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  13401. * possible values, see this demonstration.
  13402. */
  13403. minorGridLineDashStyle?: DashStyleValue;
  13404. /**
  13405. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  13406. *
  13407. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  13408. * class.
  13409. */
  13410. minorGridLineWidth?: number;
  13411. /**
  13412. * (Highstock, Gantt) Color for the minor tick marks.
  13413. */
  13414. minorTickColor?: ColorType;
  13415. /**
  13416. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  13417. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  13418. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  13419. * minor ticks are not shown.
  13420. *
  13421. * On logarithmic axes, the unit is the power of the value. For example,
  13422. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  13423. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  13424. * and 10, 10 and 100 etc.
  13425. *
  13426. * If user settings dictate minor ticks to become too dense, they don't make
  13427. * sense, and will be ignored to prevent performance problems.
  13428. */
  13429. minorTickInterval?: (number|string|null);
  13430. /**
  13431. * (Highstock, Gantt) The pixel length of the minor tick marks.
  13432. */
  13433. minorTickLength?: number;
  13434. /**
  13435. * (Highstock, Gantt) The position of the minor tick marks relative to the
  13436. * axis line. Can be one of `inside` and `outside`.
  13437. */
  13438. minorTickPosition?: OptionsMinorTickPositionValue;
  13439. /**
  13440. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  13441. * minorTickInterval is set, the tick interval is calculated as a fifth of
  13442. * the `tickInterval`.
  13443. *
  13444. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  13445. * attempting to enter approximately 5 minor ticks between each major tick.
  13446. *
  13447. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  13448. * `minorTickInterval` to `"auto"`.
  13449. */
  13450. minorTicks?: boolean;
  13451. /**
  13452. * (Highstock, Gantt) The pixel width of the minor tick mark.
  13453. */
  13454. minorTickWidth?: number;
  13455. /**
  13456. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  13457. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  13458. * This is useful when you don't want the lowest data value to appear on the
  13459. * edge of the plot area. When the axis' `min` option is set or a min
  13460. * extreme is set using `axis.setExtremes()`, the minPadding will be
  13461. * ignored.
  13462. */
  13463. minPadding?: number;
  13464. /**
  13465. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  13466. * example on zooming in on an axis with daily data, this can be used to
  13467. * prevent the axis from showing hours. Defaults to the closest distance
  13468. * between two points on the axis.
  13469. */
  13470. minTickInterval?: number;
  13471. /**
  13472. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  13473. * line. A positive offset moves the axis with it's line, labels and ticks
  13474. * away from the plot area. This is typically used when two or more axes are
  13475. * displayed on the same side of the plot. With multiple axes the offset is
  13476. * dynamically adjusted to avoid collision, this can be overridden by
  13477. * setting offset explicitly.
  13478. */
  13479. offset?: number;
  13480. /**
  13481. * (Highstock) In an ordinal axis, the points are equally spaced in the
  13482. * chart regardless of the actual time or x distance between them. This
  13483. * means that missing data periods (e.g. nights or weekends for a stock
  13484. * chart) will not take up space in the chart. Having `ordinal: false` will
  13485. * show any gaps created by the `gapSize` setting proportionate to their
  13486. * duration.
  13487. *
  13488. * In stock charts the X axis is ordinal by default, unless the boost module
  13489. * is used and at least one of the series' data length exceeds the
  13490. * boostThreshold.
  13491. *
  13492. * For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
  13493. * overscroll instead.
  13494. */
  13495. ordinal?: boolean;
  13496. /**
  13497. * (Highstock) Additional range on the right side of the xAxis. Works
  13498. * similar to xAxis.maxPadding, but value is set in milliseconds. Can be set
  13499. * for both, main xAxis and navigator's xAxis.
  13500. */
  13501. overscroll?: number;
  13502. /**
  13503. * (Highcharts) Refers to the index in the panes array. Used for circular
  13504. * gauges and polar charts. When the option is not set then first pane will
  13505. * be used.
  13506. */
  13507. pane?: number;
  13508. /**
  13509. * (Highstock, Gantt) Whether to pan axis. If `chart.panning` is enabled,
  13510. * the option allows to disable panning on an individual axis.
  13511. */
  13512. panningEnabled?: boolean;
  13513. /**
  13514. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  13515. * across the plot area marking an interval on the axis.
  13516. *
  13517. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13518. * class in addition to the `className` option.
  13519. */
  13520. plotBands?: Array<NavigatorXAxisPlotBandsOptions>;
  13521. /**
  13522. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  13523. * plot area, marking a specific value on one of the axes.
  13524. *
  13525. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13526. * class in addition to the `className` option.
  13527. */
  13528. plotLines?: Array<NavigatorXAxisPlotLinesOptions>;
  13529. /**
  13530. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  13531. * is closest to the origin. If the chart is inverted, the x axis is
  13532. * reversed by default.
  13533. */
  13534. reversed?: boolean;
  13535. /**
  13536. * (Highcharts, Highstock) This option determines how stacks should be
  13537. * ordered within a group. For example reversed xAxis also reverses stacks,
  13538. * so first series comes last in a group. To keep order like for
  13539. * non-reversed xAxis enable this option.
  13540. */
  13541. reversedStacks?: boolean;
  13542. /**
  13543. * (Highstock, Gantt) Whether to show the first tick label.
  13544. */
  13545. showFirstLabel?: boolean;
  13546. /**
  13547. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  13548. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  13549. */
  13550. showLastLabel?: boolean;
  13551. /**
  13552. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  13553. * data maximum is less than this, the axis will stay at this maximum, but
  13554. * if the series data maximum is higher, the axis will flex to show all
  13555. * data.
  13556. */
  13557. softMax?: number;
  13558. /**
  13559. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  13560. * data minimum is greater than this, the axis will stay at this minimum,
  13561. * but if the series data minimum is lower, the axis will flex to show all
  13562. * data.
  13563. */
  13564. softMin?: number;
  13565. /**
  13566. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  13567. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  13568. */
  13569. startOfWeek?: number;
  13570. /**
  13571. * (Highstock, Gantt) Whether to force the axis to start on a tick. Use this
  13572. * option with the `minPadding` option to control the axis start.
  13573. */
  13574. startOnTick?: boolean;
  13575. /**
  13576. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  13577. * This opens up for aligning the ticks of multiple charts or panes within a
  13578. * chart. This option overrides the `tickPixelInterval` option.
  13579. *
  13580. * This option only has an effect on linear axes. Datetime, logarithmic or
  13581. * category axes are not affected.
  13582. */
  13583. tickAmount?: number;
  13584. /**
  13585. * (Highstock, Gantt) Color for the main tick marks.
  13586. *
  13587. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  13588. */
  13589. tickColor?: ColorType;
  13590. /**
  13591. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  13592. * `undefined`, the tick interval is computed to approximately follow the
  13593. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  13594. * `undefined` tickInterval will default to 1, one category. Note that
  13595. * datetime axes are based on milliseconds, so for example an interval of
  13596. * one day is expressed as `24 * 3600 * 1000`.
  13597. *
  13598. * On logarithmic axes, the tickInterval is based on powers, so a
  13599. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  13600. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  13601. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  13602. * etc.
  13603. *
  13604. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  13605. * remove ticks.
  13606. *
  13607. * If the chart has multiple axes, the alignTicks option may interfere with
  13608. * the `tickInterval` setting.
  13609. */
  13610. tickInterval?: number;
  13611. /**
  13612. * (Highstock, Gantt) The pixel length of the main tick marks.
  13613. */
  13614. tickLength?: number;
  13615. /**
  13616. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  13617. * placed in the center of the category, if `between` the tick mark is
  13618. * placed between categories. The default is `between` if the `tickInterval`
  13619. * is 1, else `on`.
  13620. */
  13621. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  13622. /**
  13623. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  13624. * approximate pixel interval of the tick marks. Not applicable to
  13625. * categorized axis.
  13626. *
  13627. * The tick interval is also influenced by the minTickInterval option, that,
  13628. * by default prevents ticks from being denser than the data points.
  13629. */
  13630. tickPixelInterval?: number;
  13631. /**
  13632. * (Highstock, Gantt) The position of the major tick marks relative to the
  13633. * axis line. Can be one of `inside` and `outside`.
  13634. */
  13635. tickPosition?: OptionsTickPositionValue;
  13636. /**
  13637. * (Highstock, Gantt) A callback function returning array defining where the
  13638. * ticks are laid out on the axis. This overrides the default behaviour of
  13639. * tickPixelInterval and tickInterval. The automatic tick positions are
  13640. * accessible through `this.tickPositions` and can be modified by the
  13641. * callback.
  13642. */
  13643. tickPositioner?: AxisTickPositionerCallbackFunction;
  13644. /**
  13645. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  13646. * axis. This overrides the default behaviour of tickPixelInterval and
  13647. * tickInterval.
  13648. */
  13649. tickPositions?: Array<number>;
  13650. /**
  13651. * (Highstock, Gantt) The pixel width of the major tick marks. Defaults to 0
  13652. * on category axes, otherwise 1.
  13653. *
  13654. * In styled mode, the stroke width is given in the `.highcharts-tick`
  13655. * class, but in order for the element to be generated on category axes, the
  13656. * option must be explicitly set to 1.
  13657. */
  13658. tickWidth?: (number|undefined);
  13659. /**
  13660. * (Highstock, Gantt) The axis title, showing next to the axis line.
  13661. */
  13662. title?: NavigatorXAxisTitleOptions;
  13663. /**
  13664. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  13665. * number, it is interpreted as pixel position relative to the chart.
  13666. *
  13667. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  13668. * percentages of the plot height, offset from plot area top.
  13669. */
  13670. top?: (number|string);
  13671. /**
  13672. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  13673. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  13674. * are given in milliseconds, and tick marks are placed on appropriate
  13675. * values like full hours or days. In a category axis, the point names of
  13676. * the chart's series are used for categories, if not a categories array is
  13677. * defined.
  13678. */
  13679. type?: AxisTypeValue;
  13680. /**
  13681. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  13682. * `uniqueNames` is true, points are placed on the X axis according to their
  13683. * names. If the same point name is repeated in the same or another series,
  13684. * the point is placed on the same X position as other points of the same
  13685. * name. When `uniqueNames` is false, the points are laid out in increasing
  13686. * X positions regardless of their names, and the X axis category will take
  13687. * the name of the last point in each position.
  13688. */
  13689. uniqueNames?: boolean;
  13690. /**
  13691. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  13692. * what time intervals the ticks are allowed to fall on. Each array item is
  13693. * an array where the first value is the time unit and the second value
  13694. * another array of allowed multiples.
  13695. *
  13696. * Defaults to: (see online documentation for example)
  13697. */
  13698. units?: Array<[string, (Array<number>|null)]>;
  13699. /**
  13700. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  13701. * ticks and labels, should be visible.
  13702. */
  13703. visible?: boolean;
  13704. /**
  13705. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  13706. * number, it is interpreted as pixels.
  13707. *
  13708. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  13709. * as percentages of the total plot width.
  13710. */
  13711. width?: (number|string);
  13712. /**
  13713. * (Highstock, Gantt) The Z index for the axis group.
  13714. */
  13715. zIndex?: number;
  13716. /**
  13717. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  13718. * option allows to disable zooming on an individual axis.
  13719. */
  13720. zoomEnabled?: boolean;
  13721. }
  13722. /**
  13723. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13724. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13725. */
  13726. export interface NavigatorXAxisPlotBandsEventsOptions {
  13727. /**
  13728. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13729. */
  13730. click?: EventCallbackFunction<PlotLineOrBand>;
  13731. /**
  13732. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13733. */
  13734. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13735. /**
  13736. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13737. * band.
  13738. */
  13739. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13740. /**
  13741. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13742. */
  13743. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13744. }
  13745. /**
  13746. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13747. */
  13748. export interface NavigatorXAxisPlotBandsLabelOptions {
  13749. /**
  13750. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13751. * one of "left", "center" or "right".
  13752. */
  13753. align?: AlignValue;
  13754. /**
  13755. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  13756. */
  13757. rotation?: number;
  13758. /**
  13759. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13760. *
  13761. * In styled mode, the labels are styled by the
  13762. * `.highcharts-plot-band-label` class.
  13763. */
  13764. style?: CSSObject;
  13765. /**
  13766. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  13767. * is supported.
  13768. */
  13769. text?: string;
  13770. /**
  13771. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13772. * `align` determines where the texts anchor point is placed within the plot
  13773. * band, `textAlign` determines how the text is aligned against its anchor
  13774. * point. Possible values are "left", "center" and "right". Defaults to the
  13775. * same as the `align` option.
  13776. */
  13777. textAlign?: AlignValue;
  13778. /**
  13779. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13780. */
  13781. useHTML?: boolean;
  13782. /**
  13783. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13784. * to the plot band. Can be one of "top", "middle" or "bottom".
  13785. */
  13786. verticalAlign?: VerticalAlignValue;
  13787. /**
  13788. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13789. * alignment. Default varies by orientation.
  13790. */
  13791. x?: number;
  13792. /**
  13793. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13794. * relative to the alignment. Default varies by orientation.
  13795. */
  13796. y?: number;
  13797. }
  13798. /**
  13799. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  13800. * the plot area marking an interval on the axis.
  13801. *
  13802. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  13803. * class in addition to the `className` option.
  13804. */
  13805. export interface NavigatorXAxisPlotBandsOptions {
  13806. /**
  13807. * (Highstock) Flag to decide if plotBand should be rendered across all
  13808. * panes.
  13809. */
  13810. acrossPanes?: boolean;
  13811. /**
  13812. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  13813. * requires `borderWidth` to be set.
  13814. */
  13815. borderColor?: ColorString;
  13816. /**
  13817. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  13818. * requires `borderColor` to be set.
  13819. */
  13820. borderWidth?: number;
  13821. /**
  13822. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13823. * default `highcharts-plot-band`, to apply to each individual band.
  13824. */
  13825. className?: string;
  13826. /**
  13827. * (Highcharts, Highstock, Gantt) The color of the plot band.
  13828. */
  13829. color?: (ColorString|GradientColorObject|PatternObject);
  13830. /**
  13831. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13832. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  13833. * `mousemove`.
  13834. */
  13835. events?: NavigatorXAxisPlotBandsEventsOptions;
  13836. /**
  13837. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  13838. * axis units.
  13839. */
  13840. from?: number;
  13841. /**
  13842. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  13843. * in Axis.removePlotBand.
  13844. */
  13845. id?: string;
  13846. /**
  13847. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13848. */
  13849. label?: NavigatorXAxisPlotBandsLabelOptions;
  13850. /**
  13851. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  13852. * units.
  13853. */
  13854. to?: number;
  13855. /**
  13856. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  13857. * chart, relative to other elements. Using the same z index as another
  13858. * element may give unpredictable results, as the last rendered element will
  13859. * be on top. Values from 0 to 20 make sense.
  13860. */
  13861. zIndex?: number;
  13862. }
  13863. /**
  13864. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  13865. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  13866. */
  13867. export interface NavigatorXAxisPlotLinesEventsOptions {
  13868. /**
  13869. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  13870. */
  13871. click?: EventCallbackFunction<PlotLineOrBand>;
  13872. /**
  13873. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  13874. */
  13875. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  13876. /**
  13877. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  13878. * band.
  13879. */
  13880. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  13881. /**
  13882. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  13883. */
  13884. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  13885. }
  13886. /**
  13887. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13888. */
  13889. export interface NavigatorXAxisPlotLinesLabelOptions {
  13890. /**
  13891. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  13892. * one of "left", "center" or "right".
  13893. */
  13894. align?: AlignValue;
  13895. /**
  13896. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  13897. * label. Useful properties like the value of plot line or the range of plot
  13898. * band (`from` & `to` properties) can be found in `this.options` object.
  13899. */
  13900. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  13901. /**
  13902. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  13903. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  13904. */
  13905. rotation?: number;
  13906. /**
  13907. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  13908. *
  13909. * In styled mode, the labels are styled by the
  13910. * `.highcharts-plot-line-label` class.
  13911. */
  13912. style?: CSSObject;
  13913. /**
  13914. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  13915. * supported.
  13916. */
  13917. text?: string;
  13918. /**
  13919. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  13920. * `align` determines where the texts anchor point is placed within the plot
  13921. * band, `textAlign` determines how the text is aligned against its anchor
  13922. * point. Possible values are "left", "center" and "right". Defaults to the
  13923. * same as the `align` option.
  13924. */
  13925. textAlign?: AlignValue;
  13926. /**
  13927. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  13928. */
  13929. useHTML?: boolean;
  13930. /**
  13931. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  13932. * to the plot line. Can be one of "top", "middle" or "bottom".
  13933. */
  13934. verticalAlign?: VerticalAlignValue;
  13935. /**
  13936. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  13937. * alignment. Default varies by orientation.
  13938. */
  13939. x?: number;
  13940. /**
  13941. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  13942. * relative to the alignment. Default varies by orientation.
  13943. */
  13944. y?: number;
  13945. }
  13946. /**
  13947. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  13948. * area, marking a specific value on one of the axes.
  13949. *
  13950. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  13951. * class in addition to the `className` option.
  13952. */
  13953. export interface NavigatorXAxisPlotLinesOptions {
  13954. /**
  13955. * (Highstock) Flag to decide if plotLine should be rendered across all
  13956. * panes.
  13957. */
  13958. acrossPanes?: boolean;
  13959. /**
  13960. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  13961. * default `highcharts-plot-line`, to apply to each individual line.
  13962. */
  13963. className?: string;
  13964. /**
  13965. * (Highcharts, Highstock, Gantt) The color of the line.
  13966. */
  13967. color?: ColorString;
  13968. /**
  13969. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  13970. * line. For possible values see this overview.
  13971. */
  13972. dashStyle?: DashStyleValue;
  13973. /**
  13974. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  13975. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  13976. * `mousemove`.
  13977. */
  13978. events?: NavigatorXAxisPlotLinesEventsOptions;
  13979. /**
  13980. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  13981. * in Axis.removePlotLine.
  13982. */
  13983. id?: string;
  13984. /**
  13985. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  13986. */
  13987. label?: NavigatorXAxisPlotLinesLabelOptions;
  13988. /**
  13989. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  13990. */
  13991. value?: number;
  13992. /**
  13993. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  13994. */
  13995. width?: number;
  13996. /**
  13997. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  13998. * chart.
  13999. */
  14000. zIndex?: number;
  14001. }
  14002. /**
  14003. * (Highstock, Gantt) The axis title, showing next to the axis line.
  14004. */
  14005. export interface NavigatorXAxisTitleOptions {
  14006. /**
  14007. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  14008. * Possible values are "low", "middle" or "high".
  14009. */
  14010. align?: AxisTitleAlignValue;
  14011. /**
  14012. * (Highstock, Gantt) The pixel distance between the axis labels or line and
  14013. * the title. Defaults to 0 for horizontal axes, 10 for vertical
  14014. */
  14015. margin?: number;
  14016. /**
  14017. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  14018. * default, this distance is computed from the offset width of the labels,
  14019. * the labels' distance from the axis and the title's margin. However when
  14020. * the offset option is set, it overrides all this.
  14021. */
  14022. offset?: number;
  14023. /**
  14024. * (Highcharts) Defines how the title is repositioned according to the 3D
  14025. * chart orientation.
  14026. *
  14027. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  14028. * marks, despite the chart orientation. This is the backwards compatible
  14029. * behavior, and causes skewing of X and Z axes.
  14030. *
  14031. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  14032. * but hard to read if the text isn't forward-facing.
  14033. *
  14034. * - `'flap'`: Rotated text along the axis to compensate for the chart
  14035. * orientation. This tries to maintain text as legible as possible on all
  14036. * orientations.
  14037. *
  14038. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  14039. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  14040. * skewing the labels (X and Y scaling are still present).
  14041. *
  14042. * - `undefined`: Will use the config from `labels.position3d`
  14043. */
  14044. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  14045. /**
  14046. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  14047. * when laying out the axis.
  14048. */
  14049. reserveSpace?: boolean;
  14050. /**
  14051. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  14052. * 270 is vertical reading from bottom to top.
  14053. */
  14054. rotation?: number;
  14055. /**
  14056. * (Highcharts) If enabled, the axis title will skewed to follow the
  14057. * perspective.
  14058. *
  14059. * This will fix overlapping labels and titles, but texts become less
  14060. * legible due to the distortion.
  14061. *
  14062. * The final appearance depends heavily on `title.position3d`.
  14063. *
  14064. * A `null` value will use the config from `labels.skew3d`.
  14065. */
  14066. skew3d?: (boolean|null);
  14067. /**
  14068. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  14069. * than the axis length, it will wrap to multiple lines by default. This can
  14070. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  14071. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  14072. *
  14073. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  14074. * class.
  14075. */
  14076. style?: CSSObject;
  14077. /**
  14078. * (Highstock, Gantt) The actual text of the axis title. It can contain
  14079. * basic HTML tags like `b`, `i` and `span` with style.
  14080. */
  14081. text?: (string|null);
  14082. /**
  14083. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  14084. * `"center"`. Default alignment depends on the title.align:
  14085. *
  14086. * Horizontal axes:
  14087. *
  14088. * - for `align` = `"low"`, `textAlign` is set to `left`
  14089. *
  14090. * - for `align` = `"middle"`, `textAlign` is set to `center`
  14091. *
  14092. * - for `align` = `"high"`, `textAlign` is set to `right`
  14093. *
  14094. * Vertical axes:
  14095. *
  14096. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  14097. * `right`
  14098. *
  14099. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  14100. * `left`
  14101. *
  14102. * - for `align` = `"middle"`, `textAlign` is set to `center`
  14103. *
  14104. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  14105. * `left`
  14106. *
  14107. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  14108. * `right`
  14109. */
  14110. textAlign?: AlignValue;
  14111. /**
  14112. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  14113. * title.
  14114. */
  14115. useHTML?: boolean;
  14116. /**
  14117. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  14118. * position.
  14119. */
  14120. x?: number;
  14121. /**
  14122. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  14123. * position.
  14124. */
  14125. y?: number;
  14126. }
  14127. /**
  14128. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  14129. * sections defined will be left out and all the points shifted closer to each
  14130. * other.
  14131. */
  14132. export interface NavigatorYAxisBreaksOptions {
  14133. /**
  14134. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  14135. * be left between the start and the end of the break. The break size is
  14136. * given in axis units, so for instance on a `datetime` axis, a break size
  14137. * of 3600000 would indicate the equivalent of an hour.
  14138. */
  14139. breakSize?: number;
  14140. /**
  14141. * (Highcharts, Highstock, Gantt) The point where the break starts.
  14142. */
  14143. from?: number;
  14144. /**
  14145. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  14146. * appears again. By default the breaks do not repeat.
  14147. */
  14148. repeat?: number;
  14149. /**
  14150. * (Highcharts, Highstock, Gantt) The point where the break ends.
  14151. */
  14152. to?: number;
  14153. }
  14154. /**
  14155. * (Highstock, Gantt) Event handlers for the axis.
  14156. */
  14157. export interface NavigatorYAxisEventsOptions {
  14158. /**
  14159. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  14160. */
  14161. afterBreaks?: AxisEventCallbackFunction;
  14162. /**
  14163. * (Highstock, Gantt) As opposed to the `setExtremes` event, this event
  14164. * fires after the final min and max values are computed and corrected for
  14165. * `minRange`.
  14166. *
  14167. * Fires when the minimum and maximum is set for the axis, either by calling
  14168. * the `.setExtremes()` method or by selecting an area in the chart. One
  14169. * parameter, `event`, is passed to the function, containing common event
  14170. * information.
  14171. *
  14172. * The new user set minimum and maximum values can be found by `event.min`
  14173. * and `event.max`. These reflect the axis minimum and maximum in axis
  14174. * values. The actual data extremes are found in `event.dataMin` and
  14175. * `event.dataMax`.
  14176. */
  14177. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  14178. /**
  14179. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  14180. * a point.
  14181. */
  14182. pointBreak?: AxisPointBreakEventCallbackFunction;
  14183. /**
  14184. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  14185. * break from this axis.
  14186. */
  14187. pointInBreak?: AxisPointBreakEventCallbackFunction;
  14188. /**
  14189. * (Highstock, Gantt) Fires when the minimum and maximum is set for the
  14190. * axis, either by calling the `.setExtremes()` method or by selecting an
  14191. * area in the chart. One parameter, `event`, is passed to the function,
  14192. * containing common event information.
  14193. *
  14194. * The new user set minimum and maximum values can be found by `event.min`
  14195. * and `event.max`. These reflect the axis minimum and maximum in data
  14196. * values. When an axis is zoomed all the way out from the "Reset zoom"
  14197. * button, `event.min` and `event.max` are null, and the new extremes are
  14198. * set based on `this.dataMin` and `this.dataMax`.
  14199. */
  14200. setExtremes?: AxisSetExtremesEventCallbackFunction;
  14201. }
  14202. /**
  14203. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  14204. */
  14205. export interface NavigatorYAxisGridOptions {
  14206. /**
  14207. * (Gantt) Set border color for the label grid lines.
  14208. */
  14209. borderColor?: ColorString;
  14210. /**
  14211. * (Gantt) Set border width of the label grid lines.
  14212. */
  14213. borderWidth?: number;
  14214. /**
  14215. * (Gantt) Set cell height for grid axis labels. By default this is
  14216. * calculated from font size. This option only applies to horizontal axes.
  14217. */
  14218. cellHeight?: number;
  14219. /**
  14220. * (Gantt) Set specific options for each column (or row for horizontal axes)
  14221. * in the grid. Each extra column/row is its own axis, and the axis options
  14222. * can be set here.
  14223. */
  14224. columns?: Array<XAxisOptions>;
  14225. /**
  14226. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  14227. * charts.
  14228. */
  14229. enabled?: boolean;
  14230. }
  14231. /**
  14232. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  14233. * over labels options.
  14234. */
  14235. export interface NavigatorYAxisLabelsLevelsOptions {
  14236. /**
  14237. * (Gantt) Specify the level which the options within this object applies
  14238. * to.
  14239. */
  14240. level?: number;
  14241. style?: CSSObject;
  14242. }
  14243. /**
  14244. * (Highstock, Gantt) The axis labels show the number or category for each tick.
  14245. *
  14246. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  14247. * `tickInterval` and `step` is set to 1.
  14248. */
  14249. export interface NavigatorYAxisLabelsOptions {
  14250. /**
  14251. * (Highstock, Gantt) What part of the string the given position is anchored
  14252. * to. Can be one of `"left"`, `"center"` or `"right"`. The exact position
  14253. * also depends on the `labels.x` setting.
  14254. *
  14255. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  14256. * two labels have additional option `"auto"` for automatic horizontal and
  14257. * vertical alignment.
  14258. */
  14259. align?: AlignValue;
  14260. /**
  14261. * (Highstock, Gantt) Whether to allow the axis labels to overlap. When
  14262. * false, overlapping labels are hidden.
  14263. */
  14264. allowOverlap?: boolean;
  14265. /**
  14266. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  14267. * of label rotation to prevent overlapping labels. If there is enough
  14268. * space, labels are not rotated. As the chart gets narrower, it will start
  14269. * rotating the labels -45 degrees, then remove every second label and try
  14270. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  14271. * rotation, which will cause the labels to word-wrap if possible. Defaults
  14272. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  14273. */
  14274. autoRotation?: Array<number>;
  14275. /**
  14276. * (Highcharts, Gantt) When each category width is more than this many
  14277. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  14278. * with word wrap. A lower limit makes sense when the label contains
  14279. * multiple short words that don't extend the available horizontal space for
  14280. * each label.
  14281. */
  14282. autoRotationLimit?: number;
  14283. /**
  14284. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  14285. * distance from the perimeter of the plot area.
  14286. *
  14287. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  14288. * series.radius, so label can be aligned under the gauge's shape.
  14289. */
  14290. distance?: (number|string);
  14291. /**
  14292. * (Highstock, Gantt) Enable or disable the axis labels.
  14293. */
  14294. enabled?: boolean;
  14295. /**
  14296. * (Highstock, Gantt) A format string for the axis label. The context is
  14297. * available as format string variables. For example, you can use `{text}`
  14298. * to insert the default formatted text. The recommended way of adding units
  14299. * for the label is using `text`, for example `{text} km`.
  14300. *
  14301. * To add custom numeric or datetime formatting, use `{value}` with
  14302. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  14303. *
  14304. * See format string for more examples of formatting.
  14305. *
  14306. * The default value is not specified due to the dynamic nature of the
  14307. * default implementation.
  14308. */
  14309. format?: string;
  14310. /**
  14311. * (Highstock, Gantt) Callback JavaScript function to format the label. The
  14312. * value is given by `this.value`. Additional properties for `this` are
  14313. * `axis`, `chart`, `isFirst`, `isLast` and `text` which holds the value of
  14314. * the default formatter.
  14315. *
  14316. * Defaults to a built in function returning a formatted string depending on
  14317. * whether the axis is `category`, `datetime`, `numeric` or other.
  14318. */
  14319. formatter?: AxisLabelsFormatterCallbackFunction;
  14320. /**
  14321. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  14322. * axis.
  14323. */
  14324. indentation?: number;
  14325. /**
  14326. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  14327. * precedence over labels options.
  14328. */
  14329. levels?: Array<NavigatorYAxisLabelsLevelsOptions>;
  14330. /**
  14331. * (Highstock, Gantt) How to handle overflowing labels on horizontal axis.
  14332. * If set to `"allow"`, it will not be aligned at all. By default it
  14333. * `"justify"` labels inside the chart area. If there is room to move it, it
  14334. * will be aligned to the edge, else it will be removed.
  14335. */
  14336. overflow?: OptionsOverflowValue;
  14337. /**
  14338. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  14339. * space between them.
  14340. */
  14341. padding?: number;
  14342. /**
  14343. * (Highcharts) Defines how the labels are be repositioned according to the
  14344. * 3D chart orientation.
  14345. *
  14346. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  14347. * marks, despite the chart orientation. This is the backwards compatible
  14348. * behavior, and causes skewing of X and Z axes.
  14349. *
  14350. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  14351. * but hard to read if the text isn't forward-facing.
  14352. *
  14353. * - `'flap'`: Rotated text along the axis to compensate for the chart
  14354. * orientation. This tries to maintain text as legible as possible on all
  14355. * orientations.
  14356. *
  14357. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  14358. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  14359. * skewing the labels (X and Y scaling are still present).
  14360. */
  14361. position3d?: OptionsPosition3dValue;
  14362. /**
  14363. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  14364. * space is reserved for the labels in these cases:
  14365. *
  14366. * * On all horizontal axes.
  14367. *
  14368. * * On vertical axes if `label.align` is `right` on a left-side axis or
  14369. * `left` on a right-side axis.
  14370. *
  14371. * * On vertical axes if `label.align` is `center`.
  14372. *
  14373. * This can be turned off when for example the labels are rendered inside
  14374. * the plot area instead of outside.
  14375. */
  14376. reserveSpace?: boolean;
  14377. /**
  14378. * (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
  14379. * the `autoRotation` option takes precedence.
  14380. */
  14381. rotation?: number;
  14382. /**
  14383. * (Highcharts) If enabled, the axis labels will skewed to follow the
  14384. * perspective.
  14385. *
  14386. * This will fix overlapping labels and titles, but texts become less
  14387. * legible due to the distortion.
  14388. *
  14389. * The final appearance depends heavily on `labels.position3d`.
  14390. */
  14391. skew3d?: boolean;
  14392. /**
  14393. * (Highstock, Gantt) Horizontal axes only. The number of lines to spread
  14394. * the labels over to make room or tighter labels. 0 disables staggering.
  14395. */
  14396. staggerLines?: object;
  14397. /**
  14398. * (Highstock, Gantt) To show only every _n_'th label on the axis, set the
  14399. * step to _n_. Setting the step to 2 shows every other label.
  14400. *
  14401. * By default, when 0, the step is calculated automatically to avoid
  14402. * overlap. To prevent this, set it to 1\. This usually only happens on a
  14403. * category axis, and is often a sign that you have chosen the wrong axis
  14404. * type.
  14405. *
  14406. * Read more at Axis docs => What axis should I use?
  14407. */
  14408. step?: number;
  14409. /**
  14410. * (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
  14411. * to prevent wrapping of category labels. Use `textOverflow: 'none'` to
  14412. * prevent ellipsis (dots).
  14413. *
  14414. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  14415. * class.
  14416. */
  14417. style?: CSSObject;
  14418. /**
  14419. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14420. */
  14421. symbol?: NavigatorYAxisLabelsSymbolOptions;
  14422. /**
  14423. * (Highstock, Gantt) Whether to use HTML to render the labels.
  14424. */
  14425. useHTML?: boolean;
  14426. /**
  14427. * (Highstock, Gantt) The x position offset of all labels relative to the
  14428. * tick positions on the axis. Defaults to -15 for left axis, 15 for right
  14429. * axis.
  14430. */
  14431. x?: number;
  14432. /**
  14433. * (Highstock, Gantt) The y position offset of all labels relative to the
  14434. * tick positions on the axis. For polar and radial axis consider the use of
  14435. * the distance option.
  14436. */
  14437. y?: number;
  14438. /**
  14439. * (Highstock, Gantt) The Z index for the axis labels.
  14440. */
  14441. zIndex?: number;
  14442. }
  14443. /**
  14444. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  14445. */
  14446. export interface NavigatorYAxisLabelsSymbolOptions {
  14447. height?: number;
  14448. padding?: number;
  14449. /**
  14450. * (Gantt) The symbol type. Points to a definition function in the
  14451. * `Highcharts.Renderer.symbols` collection.
  14452. */
  14453. type?: SymbolKeyValue;
  14454. width?: number;
  14455. x?: number;
  14456. y?: number;
  14457. }
  14458. /**
  14459. * (Highstock, Gantt) Options for the navigator Y axis. Default series options
  14460. * for the navigator yAxis are: (see online documentation for example)
  14461. */
  14462. export interface NavigatorYAxisOptions {
  14463. /**
  14464. * (Highstock, Gantt) Accessibility options for an axis. Requires the
  14465. * accessibility module.
  14466. */
  14467. accessibility?: AxisAccessibilityOptionsObject;
  14468. /**
  14469. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  14470. * or more opposite axes will automatically be aligned by adding ticks to
  14471. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  14472. *
  14473. * This can be prevented by setting `alignTicks` to false. If the grid lines
  14474. * look messy, it's a good idea to hide them for the secondary axis by
  14475. * setting `gridLineWidth` to 0.
  14476. *
  14477. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  14478. * the `alignTicks ` will be disabled for the Axis.
  14479. *
  14480. * Disabled for logarithmic axes.
  14481. */
  14482. alignTicks?: boolean;
  14483. /**
  14484. * (Highstock, Gantt) Whether to allow decimals in this axis' ticks. When
  14485. * counting integers, like persons or hits on a web page, decimals should be
  14486. * avoided in the labels. By default, decimals are allowed on small scale
  14487. * axes.
  14488. */
  14489. allowDecimals?: (boolean|undefined);
  14490. /**
  14491. * (Highstock, Gantt) When using an alternate grid color, a band is painted
  14492. * across the plot area between every other grid line.
  14493. */
  14494. alternateGridColor?: ColorType;
  14495. /**
  14496. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  14497. * degrees, where 0 is up and 90 is right. The angle determines the position
  14498. * of the axis line and the labels, though the coordinate system is
  14499. * unaffected. Since v8.0.0 this option is also applicable for X axis
  14500. * (inverted polar).
  14501. */
  14502. angle?: number;
  14503. /**
  14504. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  14505. * sections defined will be left out and all the points shifted closer to
  14506. * each other.
  14507. */
  14508. breaks?: Array<NavigatorYAxisBreaksOptions>;
  14509. /**
  14510. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  14511. * used instead of numbers for that axis.
  14512. *
  14513. * Since Highcharts 3.0, categories can also be extracted by giving each
  14514. * point a name and setting axis type to `category`. However, if you have
  14515. * multiple series, best practice remains defining the `categories` array.
  14516. *
  14517. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  14518. */
  14519. categories?: Array<string>;
  14520. /**
  14521. * (Highcharts, Highstock, Gantt) The highest allowed value for
  14522. * automatically computed axis extremes.
  14523. */
  14524. ceiling?: number;
  14525. /**
  14526. * (Highstock, Gantt) A class name that opens for styling the axis by CSS,
  14527. * especially in Highcharts styled mode. The class name is applied to group
  14528. * elements for the grid, axis elements and labels.
  14529. */
  14530. className?: string;
  14531. /**
  14532. * (Highstock, Gantt) Configure a crosshair that follows either the mouse
  14533. * pointer or the hovered point.
  14534. *
  14535. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  14536. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  14537. */
  14538. crosshair?: (boolean|AxisCrosshairOptions);
  14539. /**
  14540. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  14541. * automatically adjust to the appropriate unit. This member gives the
  14542. * default string representations used for each unit. For intermediate
  14543. * values, different units may be used, for example the `day` unit can be
  14544. * used on midnight and `hour` unit be used for intermediate values on the
  14545. * same axis.
  14546. *
  14547. * For an overview of the replacement codes, see dateFormat.
  14548. *
  14549. * Defaults to: (see online documentation for example)
  14550. */
  14551. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  14552. /**
  14553. * (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
  14554. * option with the `maxPadding` option to control the axis end.
  14555. *
  14556. * This option is always disabled, when panning type is either `y` or `xy`.
  14557. */
  14558. endOnTick?: boolean;
  14559. /**
  14560. * (Highstock, Gantt) Event handlers for the axis.
  14561. */
  14562. events?: NavigatorYAxisEventsOptions;
  14563. /**
  14564. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  14565. * computed axis extremes.
  14566. */
  14567. floor?: number;
  14568. /**
  14569. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  14570. */
  14571. grid?: NavigatorYAxisGridOptions;
  14572. /**
  14573. * (Highstock, Gantt) Color of the grid lines extending the ticks across the
  14574. * plot area.
  14575. *
  14576. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  14577. */
  14578. gridLineColor?: ColorType;
  14579. /**
  14580. * (Highstock, Gantt) The dash or dot style of the grid lines. For possible
  14581. * values, see this demonstration.
  14582. */
  14583. gridLineDashStyle?: DashStyleValue;
  14584. /**
  14585. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  14586. * polygon with straight lines between categories, or as circles. Can be
  14587. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  14588. * for X axis (inverted polar).
  14589. */
  14590. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  14591. /**
  14592. * (Highstock, Gantt) The width of the grid lines extending the ticks across
  14593. * the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
  14594. * for 3d charts.
  14595. *
  14596. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14597. * class.
  14598. */
  14599. gridLineWidth?: number;
  14600. /**
  14601. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  14602. */
  14603. gridZIndex?: number;
  14604. /**
  14605. * (Highstock, Gantt) An id for the axis. This can be used after render time
  14606. * to get a pointer to the axis object through `chart.get()`.
  14607. */
  14608. id?: string;
  14609. /**
  14610. * (Highstock, Gantt) The axis labels show the number or category for each
  14611. * tick.
  14612. *
  14613. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  14614. * data if `tickInterval` and `step` is set to 1.
  14615. */
  14616. labels?: NavigatorYAxisLabelsOptions;
  14617. /**
  14618. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  14619. * a number, it is interpreted as pixel position relative to the chart.
  14620. *
  14621. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  14622. * as percentages of the plot width, offset from plot area left.
  14623. */
  14624. left?: (number|string);
  14625. /**
  14626. * (Highstock, Gantt) The color of the line marking the axis itself.
  14627. *
  14628. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  14629. * or `.highcharts-xaxis-line` class.
  14630. */
  14631. lineColor?: ColorType;
  14632. /**
  14633. * (Highstock, Gantt) The width of the line marking the axis itself.
  14634. *
  14635. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  14636. * or `.highcharts-xaxis-line` class.
  14637. */
  14638. lineWidth?: number;
  14639. /**
  14640. * (Highstock, Gantt) If there are multiple axes on the same side of the
  14641. * chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
  14642. * 15 on horizontal axes.
  14643. */
  14644. margin?: number;
  14645. /**
  14646. * (Highstock, Gantt) The maximum value of the axis. If `null`, the max
  14647. * value is automatically calculated.
  14648. *
  14649. * If the endOnTick option is true, the `max` value might be rounded up.
  14650. *
  14651. * If a tickAmount is set, the axis may be extended beyond the set max in
  14652. * order to reach the given number of ticks. The same may happen in a chart
  14653. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  14654. * is applied internally.
  14655. */
  14656. max?: (number|null);
  14657. /**
  14658. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14659. * represent the maximum value of the Y axis.
  14660. */
  14661. maxColor?: ColorType;
  14662. /**
  14663. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  14664. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14665. * This is useful when you don't want the highest data value to appear on
  14666. * the edge of the plot area. When the axis' `max` option is set or a max
  14667. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14668. * ignored.
  14669. *
  14670. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  14671. * the data is tangent to the threshold, `maxPadding` may not apply unless
  14672. * `softThreshold` is set to false.
  14673. */
  14674. maxPadding?: number;
  14675. /**
  14676. * (Highstock, Gantt) The minimum value of the axis. If `null` the min value
  14677. * is automatically calculated.
  14678. *
  14679. * If the startOnTick option is true (default), the `min` value might be
  14680. * rounded down.
  14681. *
  14682. * The automatically calculated minimum value is also affected by floor,
  14683. * softMin, minPadding, minRange as well as series.threshold and
  14684. * series.softThreshold.
  14685. */
  14686. min?: (number|null);
  14687. /**
  14688. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  14689. * represent the minimum value of the Y axis.
  14690. */
  14691. minColor?: ColorType;
  14692. /**
  14693. * (Highstock, Gantt) Color of the minor, secondary grid lines.
  14694. *
  14695. * In styled mode, the stroke width is given in the
  14696. * `.highcharts-minor-grid-line` class.
  14697. */
  14698. minorGridLineColor?: ColorType;
  14699. /**
  14700. * (Highstock, Gantt) The dash or dot style of the minor grid lines. For
  14701. * possible values, see this demonstration.
  14702. */
  14703. minorGridLineDashStyle?: DashStyleValue;
  14704. /**
  14705. * (Highstock, Gantt) Width of the minor, secondary grid lines.
  14706. *
  14707. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  14708. * class.
  14709. */
  14710. minorGridLineWidth?: number;
  14711. /**
  14712. * (Highstock, Gantt) Color for the minor tick marks.
  14713. */
  14714. minorTickColor?: ColorType;
  14715. /**
  14716. * (Highstock, Gantt) Specific tick interval in axis units for the minor
  14717. * ticks. On a linear axis, if `"auto"`, the minor tick interval is
  14718. * calculated as a fifth of the tickInterval. If `null` or `undefined`,
  14719. * minor ticks are not shown.
  14720. *
  14721. * On logarithmic axes, the unit is the power of the value. For example,
  14722. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  14723. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  14724. * and 10, 10 and 100 etc.
  14725. *
  14726. * If user settings dictate minor ticks to become too dense, they don't make
  14727. * sense, and will be ignored to prevent performance problems.
  14728. */
  14729. minorTickInterval?: (number|string|null);
  14730. /**
  14731. * (Highstock, Gantt) The pixel length of the minor tick marks.
  14732. */
  14733. minorTickLength?: number;
  14734. /**
  14735. * (Highstock, Gantt) The position of the minor tick marks relative to the
  14736. * axis line. Can be one of `inside` and `outside`.
  14737. */
  14738. minorTickPosition?: OptionsMinorTickPositionValue;
  14739. /**
  14740. * (Highstock, Gantt) Enable or disable minor ticks. Unless
  14741. * minorTickInterval is set, the tick interval is calculated as a fifth of
  14742. * the `tickInterval`.
  14743. *
  14744. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  14745. * attempting to enter approximately 5 minor ticks between each major tick.
  14746. *
  14747. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  14748. * `minorTickInterval` to `"auto"`.
  14749. */
  14750. minorTicks?: boolean;
  14751. /**
  14752. * (Highstock, Gantt) The pixel width of the minor tick mark.
  14753. */
  14754. minorTickWidth?: number;
  14755. /**
  14756. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  14757. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  14758. * This is useful when you don't want the lowest data value to appear on the
  14759. * edge of the plot area. When the axis' `min` option is set or a max
  14760. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  14761. * ignored.
  14762. *
  14763. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  14764. * the data is tangent to the threshold, `minPadding` may not apply unless
  14765. * `softThreshold` is set to false.
  14766. */
  14767. minPadding?: number;
  14768. /**
  14769. * (Highstock, Gantt) The minimum tick interval allowed in axis values. For
  14770. * example on zooming in on an axis with daily data, this can be used to
  14771. * prevent the axis from showing hours. Defaults to the closest distance
  14772. * between two points on the axis.
  14773. */
  14774. minTickInterval?: number;
  14775. /**
  14776. * (Highstock, Gantt) The distance in pixels from the plot area to the axis
  14777. * line. A positive offset moves the axis with it's line, labels and ticks
  14778. * away from the plot area. This is typically used when two or more axes are
  14779. * displayed on the same side of the plot. With multiple axes the offset is
  14780. * dynamically adjusted to avoid collision, this can be overridden by
  14781. * setting offset explicitly.
  14782. */
  14783. offset?: number;
  14784. /**
  14785. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  14786. * opposite side of the normal. The normal is on the left side for vertical
  14787. * axes and bottom for horizontal, so the opposite sides will be right and
  14788. * top respectively. This is typically used with dual or multiple axes.
  14789. */
  14790. opposite?: boolean;
  14791. /**
  14792. * (Highcharts) Refers to the index in the panes array. Used for circular
  14793. * gauges and polar charts. When the option is not set then first pane will
  14794. * be used.
  14795. */
  14796. pane?: number;
  14797. /**
  14798. * (Highstock, Gantt) Whether to pan axis. If `chart.panning` is enabled,
  14799. * the option allows to disable panning on an individual axis.
  14800. */
  14801. panningEnabled?: boolean;
  14802. /**
  14803. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  14804. * across the plot area marking an interval on the axis.
  14805. *
  14806. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  14807. * class in addition to the `className` option.
  14808. */
  14809. plotBands?: Array<NavigatorYAxisPlotBandsOptions>;
  14810. /**
  14811. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  14812. * plot area, marking a specific value on one of the axes.
  14813. *
  14814. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  14815. * class in addition to the `className` option.
  14816. */
  14817. plotLines?: Array<NavigatorYAxisPlotLinesOptions>;
  14818. /**
  14819. * (Highstock, Gantt) Whether to reverse the axis so that the highest number
  14820. * is closest to the origin.
  14821. */
  14822. reversed?: boolean;
  14823. /**
  14824. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  14825. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  14826. * series is in the base of the stack.
  14827. */
  14828. reversedStacks?: boolean;
  14829. /**
  14830. * (Highstock, Gantt) Whether to show the first tick label.
  14831. */
  14832. showFirstLabel?: boolean;
  14833. /**
  14834. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  14835. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  14836. */
  14837. showLastLabel?: boolean;
  14838. /**
  14839. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  14840. * data maximum is less than this, the axis will stay at this maximum, but
  14841. * if the series data maximum is higher, the axis will flex to show all
  14842. * data.
  14843. *
  14844. * **Note**: The series.softThreshold option takes precedence over this
  14845. * option.
  14846. */
  14847. softMax?: number;
  14848. /**
  14849. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  14850. * data minimum is greater than this, the axis will stay at this minimum,
  14851. * but if the series data minimum is lower, the axis will flex to show all
  14852. * data.
  14853. *
  14854. * **Note**: The series.softThreshold option takes precedence over this
  14855. * option.
  14856. */
  14857. softMin?: number;
  14858. /**
  14859. * (Highcharts) The stack labels show the total value for each bar in a
  14860. * stacked column or bar chart. The label will be placed on top of positive
  14861. * columns and below negative columns. In case of an inverted column chart
  14862. * or a bar chart the label is placed to the right of positive bars and to
  14863. * the left of negative bars.
  14864. */
  14865. stackLabels?: NavigatorYAxisStackLabelsOptions;
  14866. /**
  14867. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  14868. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  14869. */
  14870. startOfWeek?: number;
  14871. /**
  14872. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  14873. * tick. Use this option with the `maxPadding` option to control the axis
  14874. * start.
  14875. *
  14876. * This option is always disabled, when panning type is either `y` or `xy`.
  14877. */
  14878. startOnTick?: boolean;
  14879. /**
  14880. * (Gantt) For vertical axes only. Setting the static scale ensures that
  14881. * each tick unit is translated into a fixed pixel height. For example,
  14882. * setting the static scale to 24 results in each Y axis category taking up
  14883. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  14884. * will make the chart resize.
  14885. */
  14886. staticScale?: number;
  14887. /**
  14888. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  14889. * Use this in cases where a linear gradient between a `minColor` and
  14890. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  14891. * first item is a float between 0 and 1 assigning the relative position in
  14892. * the gradient, and the second item is the color.
  14893. *
  14894. * For solid gauges, the Y axis also inherits the concept of data classes
  14895. * from the Highmaps color axis.
  14896. */
  14897. stops?: Array<[number, ColorType]>;
  14898. /**
  14899. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  14900. * This opens up for aligning the ticks of multiple charts or panes within a
  14901. * chart. This option overrides the `tickPixelInterval` option.
  14902. *
  14903. * This option only has an effect on linear axes. Datetime, logarithmic or
  14904. * category axes are not affected.
  14905. */
  14906. tickAmount?: number;
  14907. /**
  14908. * (Highstock, Gantt) Color for the main tick marks.
  14909. *
  14910. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  14911. */
  14912. tickColor?: ColorType;
  14913. /**
  14914. * (Highstock, Gantt) The interval of the tick marks in axis units. When
  14915. * `undefined`, the tick interval is computed to approximately follow the
  14916. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  14917. * `undefined` tickInterval will default to 1, one category. Note that
  14918. * datetime axes are based on milliseconds, so for example an interval of
  14919. * one day is expressed as `24 * 3600 * 1000`.
  14920. *
  14921. * On logarithmic axes, the tickInterval is based on powers, so a
  14922. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  14923. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  14924. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  14925. * etc.
  14926. *
  14927. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  14928. * remove ticks.
  14929. *
  14930. * If the chart has multiple axes, the alignTicks option may interfere with
  14931. * the `tickInterval` setting.
  14932. */
  14933. tickInterval?: number;
  14934. /**
  14935. * (Highstock, Gantt) The pixel length of the main tick marks.
  14936. */
  14937. tickLength?: number;
  14938. /**
  14939. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  14940. * placed in the center of the category, if `between` the tick mark is
  14941. * placed between categories. The default is `between` if the `tickInterval`
  14942. * is 1, else `on`.
  14943. */
  14944. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  14945. /**
  14946. * (Highstock, Gantt) If tickInterval is `null` this option sets the
  14947. * approximate pixel interval of the tick marks. Not applicable to
  14948. * categorized axis.
  14949. *
  14950. * The tick interval is also influenced by the minTickInterval option, that,
  14951. * by default prevents ticks from being denser than the data points.
  14952. */
  14953. tickPixelInterval?: number;
  14954. /**
  14955. * (Highstock, Gantt) The position of the major tick marks relative to the
  14956. * axis line. Can be one of `inside` and `outside`.
  14957. */
  14958. tickPosition?: OptionsTickPositionValue;
  14959. /**
  14960. * (Highstock, Gantt) A callback function returning array defining where the
  14961. * ticks are laid out on the axis. This overrides the default behaviour of
  14962. * tickPixelInterval and tickInterval. The automatic tick positions are
  14963. * accessible through `this.tickPositions` and can be modified by the
  14964. * callback.
  14965. */
  14966. tickPositioner?: AxisTickPositionerCallbackFunction;
  14967. /**
  14968. * (Highstock, Gantt) An array defining where the ticks are laid out on the
  14969. * axis. This overrides the default behaviour of tickPixelInterval and
  14970. * tickInterval.
  14971. */
  14972. tickPositions?: Array<number>;
  14973. /**
  14974. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  14975. */
  14976. tickWidth?: number;
  14977. /**
  14978. * (Highstock, Gantt) The axis title, showing next to the axis line.
  14979. */
  14980. title?: NavigatorYAxisTitleOptions;
  14981. /**
  14982. * (Highcharts) Parallel coordinates only. Format that will be used for
  14983. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  14984. * If not set, `{point.formattedValue}` will use other options, in this
  14985. * order:
  14986. *
  14987. * 1. yAxis.labels.format will be used if set
  14988. *
  14989. * 2. If yAxis is a category, then category name will be displayed
  14990. *
  14991. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  14992. * labels
  14993. *
  14994. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  14995. */
  14996. tooltipValueFormat?: string;
  14997. /**
  14998. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  14999. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  15000. * `treegrid` for Gantt charts, `linear` for other chart types.
  15001. *
  15002. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  15003. * are placed on appropriate values, like full hours or days. In a category
  15004. * or treegrid axis, the point names of the chart's series are used for
  15005. * categories, if a categories array is not defined.
  15006. */
  15007. type?: AxisTypeValue;
  15008. /**
  15009. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  15010. * `uniqueNames` is true, points are placed on the X axis according to their
  15011. * names. If the same point name is repeated in the same or another series,
  15012. * the point is placed on the same X position as other points of the same
  15013. * name. When `uniqueNames` is false, the points are laid out in increasing
  15014. * X positions regardless of their names, and the X axis category will take
  15015. * the name of the last point in each position.
  15016. */
  15017. uniqueNames?: boolean;
  15018. /**
  15019. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  15020. * ticks and labels, should be visible.
  15021. */
  15022. visible?: boolean;
  15023. /**
  15024. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  15025. * number, it is interpreted as pixels.
  15026. *
  15027. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  15028. * as percentages of the total plot width.
  15029. */
  15030. width?: (number|string);
  15031. /**
  15032. * (Highstock, Gantt) The Z index for the axis group.
  15033. */
  15034. zIndex?: number;
  15035. /**
  15036. * (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
  15037. * option allows to disable zooming on an individual axis.
  15038. */
  15039. zoomEnabled?: boolean;
  15040. }
  15041. /**
  15042. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  15043. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  15044. */
  15045. export interface NavigatorYAxisPlotBandsEventsOptions {
  15046. /**
  15047. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  15048. */
  15049. click?: EventCallbackFunction<PlotLineOrBand>;
  15050. /**
  15051. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  15052. */
  15053. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  15054. /**
  15055. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  15056. * band.
  15057. */
  15058. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  15059. /**
  15060. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  15061. */
  15062. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  15063. }
  15064. /**
  15065. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15066. */
  15067. export interface NavigatorYAxisPlotBandsLabelOptions {
  15068. /**
  15069. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  15070. * one of "left", "center" or "right".
  15071. */
  15072. align?: AlignValue;
  15073. /**
  15074. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  15075. */
  15076. rotation?: number;
  15077. /**
  15078. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  15079. *
  15080. * In styled mode, the labels are styled by the
  15081. * `.highcharts-plot-band-label` class.
  15082. */
  15083. style?: CSSObject;
  15084. /**
  15085. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  15086. * is supported.
  15087. */
  15088. text?: string;
  15089. /**
  15090. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  15091. * `align` determines where the texts anchor point is placed within the plot
  15092. * band, `textAlign` determines how the text is aligned against its anchor
  15093. * point. Possible values are "left", "center" and "right". Defaults to the
  15094. * same as the `align` option.
  15095. */
  15096. textAlign?: AlignValue;
  15097. /**
  15098. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  15099. */
  15100. useHTML?: boolean;
  15101. /**
  15102. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  15103. * to the plot band. Can be one of "top", "middle" or "bottom".
  15104. */
  15105. verticalAlign?: VerticalAlignValue;
  15106. /**
  15107. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  15108. * alignment. Default varies by orientation.
  15109. */
  15110. x?: number;
  15111. /**
  15112. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  15113. * relative to the alignment. Default varies by orientation.
  15114. */
  15115. y?: number;
  15116. }
  15117. /**
  15118. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  15119. * the plot area marking an interval on the axis.
  15120. *
  15121. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  15122. * class in addition to the `className` option.
  15123. */
  15124. export interface NavigatorYAxisPlotBandsOptions {
  15125. /**
  15126. * (Highstock) Flag to decide if plotBand should be rendered across all
  15127. * panes.
  15128. */
  15129. acrossPanes?: boolean;
  15130. /**
  15131. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  15132. * requires `borderWidth` to be set.
  15133. */
  15134. borderColor?: ColorString;
  15135. /**
  15136. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  15137. * requires `borderColor` to be set.
  15138. */
  15139. borderWidth?: number;
  15140. /**
  15141. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  15142. * default `highcharts-plot-band`, to apply to each individual band.
  15143. */
  15144. className?: string;
  15145. /**
  15146. * (Highcharts, Highstock, Gantt) The color of the plot band.
  15147. */
  15148. color?: (ColorString|GradientColorObject|PatternObject);
  15149. /**
  15150. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  15151. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  15152. * `mousemove`.
  15153. */
  15154. events?: NavigatorYAxisPlotBandsEventsOptions;
  15155. /**
  15156. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  15157. * axis units.
  15158. */
  15159. from?: number;
  15160. /**
  15161. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  15162. * in Axis.removePlotBand.
  15163. */
  15164. id?: string;
  15165. /**
  15166. * (Highcharts) In a gauge chart, this option determines the inner radius of
  15167. * the plot band that stretches along the perimeter. It can be given as a
  15168. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  15169. * default, the inner radius is controlled by the thickness option.
  15170. */
  15171. innerRadius?: (number|string);
  15172. /**
  15173. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15174. */
  15175. label?: NavigatorYAxisPlotBandsLabelOptions;
  15176. /**
  15177. * (Highcharts) In a gauge chart, this option determines the outer radius of
  15178. * the plot band that stretches along the perimeter. It can be given as a
  15179. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  15180. */
  15181. outerRadius?: (number|string);
  15182. /**
  15183. * (Highcharts) In a gauge chart, this option sets the width of the plot
  15184. * band stretching along the perimeter. It can be given as a percentage
  15185. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  15186. * 10 is the same as the default tickLength, thus making the plot band act
  15187. * as a background for the tick markers.
  15188. */
  15189. thickness?: (number|string);
  15190. /**
  15191. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  15192. * units.
  15193. */
  15194. to?: number;
  15195. /**
  15196. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  15197. * chart, relative to other elements. Using the same z index as another
  15198. * element may give unpredictable results, as the last rendered element will
  15199. * be on top. Values from 0 to 20 make sense.
  15200. */
  15201. zIndex?: number;
  15202. }
  15203. /**
  15204. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  15205. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  15206. */
  15207. export interface NavigatorYAxisPlotLinesEventsOptions {
  15208. /**
  15209. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  15210. */
  15211. click?: EventCallbackFunction<PlotLineOrBand>;
  15212. /**
  15213. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  15214. */
  15215. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  15216. /**
  15217. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  15218. * band.
  15219. */
  15220. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  15221. /**
  15222. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  15223. */
  15224. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  15225. }
  15226. /**
  15227. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15228. */
  15229. export interface NavigatorYAxisPlotLinesLabelOptions {
  15230. /**
  15231. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  15232. * one of "left", "center" or "right".
  15233. */
  15234. align?: AlignValue;
  15235. /**
  15236. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  15237. * label. Useful properties like the value of plot line or the range of plot
  15238. * band (`from` & `to` properties) can be found in `this.options` object.
  15239. */
  15240. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  15241. /**
  15242. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  15243. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  15244. */
  15245. rotation?: number;
  15246. /**
  15247. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  15248. *
  15249. * In styled mode, the labels are styled by the
  15250. * `.highcharts-plot-line-label` class.
  15251. */
  15252. style?: CSSObject;
  15253. /**
  15254. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  15255. * supported.
  15256. */
  15257. text?: string;
  15258. /**
  15259. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  15260. * `align` determines where the texts anchor point is placed within the plot
  15261. * band, `textAlign` determines how the text is aligned against its anchor
  15262. * point. Possible values are "left", "center" and "right". Defaults to the
  15263. * same as the `align` option.
  15264. */
  15265. textAlign?: AlignValue;
  15266. /**
  15267. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  15268. */
  15269. useHTML?: boolean;
  15270. /**
  15271. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  15272. * to the plot line. Can be one of "top", "middle" or "bottom".
  15273. */
  15274. verticalAlign?: VerticalAlignValue;
  15275. /**
  15276. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  15277. * alignment. Default varies by orientation.
  15278. */
  15279. x?: number;
  15280. /**
  15281. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  15282. * relative to the alignment. Default varies by orientation.
  15283. */
  15284. y?: number;
  15285. }
  15286. /**
  15287. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  15288. * area, marking a specific value on one of the axes.
  15289. *
  15290. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  15291. * class in addition to the `className` option.
  15292. */
  15293. export interface NavigatorYAxisPlotLinesOptions {
  15294. /**
  15295. * (Highstock) Flag to decide if plotLine should be rendered across all
  15296. * panes.
  15297. */
  15298. acrossPanes?: boolean;
  15299. /**
  15300. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  15301. * default `highcharts-plot-line`, to apply to each individual line.
  15302. */
  15303. className?: string;
  15304. /**
  15305. * (Highcharts, Highstock, Gantt) The color of the line.
  15306. */
  15307. color?: ColorString;
  15308. /**
  15309. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  15310. * line. For possible values see this overview.
  15311. */
  15312. dashStyle?: DashStyleValue;
  15313. /**
  15314. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  15315. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  15316. * `mousemove`.
  15317. */
  15318. events?: NavigatorYAxisPlotLinesEventsOptions;
  15319. /**
  15320. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  15321. * in Axis.removePlotLine.
  15322. */
  15323. id?: string;
  15324. /**
  15325. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  15326. */
  15327. label?: NavigatorYAxisPlotLinesLabelOptions;
  15328. /**
  15329. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  15330. */
  15331. value?: number;
  15332. /**
  15333. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  15334. */
  15335. width?: number;
  15336. /**
  15337. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  15338. * chart.
  15339. */
  15340. zIndex?: number;
  15341. }
  15342. /**
  15343. * (Highcharts) Enable or disable the initial animation when a series is
  15344. * displayed for the `stackLabels`. The animation can also be set as a
  15345. * configuration object. Please note that this option only applies to the
  15346. * initial animation. For other animations, see chart.animation and the
  15347. * animation parameter under the API methods. The following properties are
  15348. * supported:
  15349. *
  15350. * - `defer`: The animation delay time in milliseconds.
  15351. */
  15352. export interface NavigatorYAxisStackLabelsAnimationOptions {
  15353. /**
  15354. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  15355. * stackLabel immediately. As `undefined` inherits defer time from the
  15356. * series.animation.defer.
  15357. */
  15358. defer?: number;
  15359. }
  15360. /**
  15361. * (Highcharts) The stack labels show the total value for each bar in a stacked
  15362. * column or bar chart. The label will be placed on top of positive columns and
  15363. * below negative columns. In case of an inverted column chart or a bar chart
  15364. * the label is placed to the right of positive bars and to the left of negative
  15365. * bars.
  15366. */
  15367. export interface NavigatorYAxisStackLabelsOptions {
  15368. /**
  15369. * (Highcharts) Defines the horizontal alignment of the stack total label.
  15370. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  15371. * calculated at runtime and depends on orientation and whether the stack is
  15372. * positive or negative.
  15373. */
  15374. align?: AlignValue;
  15375. /**
  15376. * (Highcharts) Allow the stack labels to overlap.
  15377. */
  15378. allowOverlap?: boolean;
  15379. /**
  15380. * (Highcharts) Enable or disable the initial animation when a series is
  15381. * displayed for the `stackLabels`. The animation can also be set as a
  15382. * configuration object. Please note that this option only applies to the
  15383. * initial animation. For other animations, see chart.animation and the
  15384. * animation parameter under the API methods. The following properties are
  15385. * supported:
  15386. *
  15387. * - `defer`: The animation delay time in milliseconds.
  15388. */
  15389. animation?: (boolean|NavigatorYAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  15390. /**
  15391. * (Highcharts) The background color or gradient for the stack label.
  15392. */
  15393. backgroundColor?: ColorType;
  15394. /**
  15395. * (Highcharts) The border color for the stack label. Defaults to
  15396. * `undefined`.
  15397. */
  15398. borderColor?: ColorType;
  15399. /**
  15400. * (Highcharts) The border radius in pixels for the stack label.
  15401. */
  15402. borderRadius?: number;
  15403. /**
  15404. * (Highcharts) The border width in pixels for the stack label.
  15405. */
  15406. borderWidth?: number;
  15407. /**
  15408. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  15409. * By default, the stack label is moved inside the plot area according to
  15410. * the overflow option.
  15411. */
  15412. crop?: boolean;
  15413. /**
  15414. * (Highcharts) Enable or disable the stack total labels.
  15415. */
  15416. enabled?: boolean;
  15417. /**
  15418. * (Highcharts, Highstock) A format string for the data label. Available
  15419. * variables are the same as for `formatter`.
  15420. */
  15421. format?: string;
  15422. /**
  15423. * (Highcharts) Callback JavaScript function to format the label. The value
  15424. * is given by `this.total`.
  15425. */
  15426. formatter?: FormatterCallbackFunction<StackItemObject>;
  15427. /**
  15428. * (Highcharts) How to handle stack total labels that flow outside the plot
  15429. * area. The default is set to `"justify"`, which aligns them inside the
  15430. * plot area. For columns and bars, this means it will be moved inside the
  15431. * bar. To display stack labels outside the plot area, set `crop` to `false`
  15432. * and `overflow` to `"allow"`.
  15433. */
  15434. overflow?: DataLabelsOverflowValue;
  15435. /**
  15436. * (Highcharts) Rotation of the labels in degrees.
  15437. */
  15438. rotation?: number;
  15439. /**
  15440. * (Highcharts) CSS styles for the label.
  15441. *
  15442. * In styled mode, the styles are set in the `.highcharts-stack-label`
  15443. * class.
  15444. */
  15445. style?: CSSObject;
  15446. /**
  15447. * (Highcharts) The text alignment for the label. While `align` determines
  15448. * where the texts anchor point is placed with regards to the stack,
  15449. * `textAlign` determines how the text is aligned against its anchor point.
  15450. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  15451. * is calculated at runtime and depends on orientation and whether the stack
  15452. * is positive or negative.
  15453. */
  15454. textAlign?: AlignValue;
  15455. /**
  15456. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  15457. */
  15458. useHTML?: boolean;
  15459. /**
  15460. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  15461. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  15462. * calculated at runtime and depends on orientation and whether the stack is
  15463. * positive or negative.
  15464. */
  15465. verticalAlign?: VerticalAlignValue;
  15466. /**
  15467. * (Highcharts) The x position offset of the label relative to the left of
  15468. * the stacked bar. The default value is calculated at runtime and depends
  15469. * on orientation and whether the stack is positive or negative.
  15470. */
  15471. x?: number;
  15472. /**
  15473. * (Highcharts) The y position offset of the label relative to the tick
  15474. * position on the axis. The default value is calculated at runtime and
  15475. * depends on orientation and whether the stack is positive or negative.
  15476. */
  15477. y?: number;
  15478. }
  15479. /**
  15480. * (Highstock, Gantt) The axis title, showing next to the axis line.
  15481. */
  15482. export interface NavigatorYAxisTitleOptions {
  15483. /**
  15484. * (Highstock, Gantt) Alignment of the title relative to the axis values.
  15485. * Possible values are "low", "middle" or "high".
  15486. */
  15487. align?: AxisTitleAlignValue;
  15488. /**
  15489. * (Highstock, Gantt) The pixel distance between the axis labels and the
  15490. * title. Positive values are outside the axis line, negative are inside.
  15491. */
  15492. margin?: number;
  15493. /**
  15494. * (Highstock, Gantt) The distance of the axis title from the axis line. By
  15495. * default, this distance is computed from the offset width of the labels,
  15496. * the labels' distance from the axis and the title's margin. However when
  15497. * the offset option is set, it overrides all this.
  15498. */
  15499. offset?: number;
  15500. /**
  15501. * (Highcharts) Defines how the title is repositioned according to the 3D
  15502. * chart orientation.
  15503. *
  15504. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  15505. * marks, despite the chart orientation. This is the backwards compatible
  15506. * behavior, and causes skewing of X and Z axes.
  15507. *
  15508. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  15509. * but hard to read if the text isn't forward-facing.
  15510. *
  15511. * - `'flap'`: Rotated text along the axis to compensate for the chart
  15512. * orientation. This tries to maintain text as legible as possible on all
  15513. * orientations.
  15514. *
  15515. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  15516. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  15517. * skewing the labels (X and Y scaling are still present).
  15518. *
  15519. * - `undefined`: Will use the config from `labels.position3d`
  15520. */
  15521. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  15522. /**
  15523. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  15524. * when laying out the axis.
  15525. */
  15526. reserveSpace?: boolean;
  15527. /**
  15528. * (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
  15529. * 270 is vertical reading from bottom to top.
  15530. */
  15531. rotation?: number;
  15532. /**
  15533. * (Highcharts) If enabled, the axis title will skewed to follow the
  15534. * perspective.
  15535. *
  15536. * This will fix overlapping labels and titles, but texts become less
  15537. * legible due to the distortion.
  15538. *
  15539. * The final appearance depends heavily on `title.position3d`.
  15540. *
  15541. * A `null` value will use the config from `labels.skew3d`.
  15542. */
  15543. skew3d?: (boolean|null);
  15544. /**
  15545. * (Highstock, Gantt) CSS styles for the title. If the title text is longer
  15546. * than the axis length, it will wrap to multiple lines by default. This can
  15547. * be customized by setting `textOverflow: 'ellipsis'`, by setting a
  15548. * specific `width` or by setting `whiteSpace: 'nowrap'`.
  15549. *
  15550. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  15551. * class.
  15552. */
  15553. style?: CSSObject;
  15554. /**
  15555. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  15556. * Horizontal texts can contain HTML, but rotated texts are painted using
  15557. * vector techniques and must be clean text. The Y axis title is disabled by
  15558. * setting the `text` option to `undefined`.
  15559. */
  15560. text?: (string|null);
  15561. /**
  15562. * (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
  15563. * `"center"`. Default alignment depends on the title.align:
  15564. *
  15565. * Horizontal axes:
  15566. *
  15567. * - for `align` = `"low"`, `textAlign` is set to `left`
  15568. *
  15569. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15570. *
  15571. * - for `align` = `"high"`, `textAlign` is set to `right`
  15572. *
  15573. * Vertical axes:
  15574. *
  15575. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  15576. * `right`
  15577. *
  15578. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  15579. * `left`
  15580. *
  15581. * - for `align` = `"middle"`, `textAlign` is set to `center`
  15582. *
  15583. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  15584. * `left`
  15585. *
  15586. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  15587. * `right`
  15588. */
  15589. textAlign?: AlignValue;
  15590. /**
  15591. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  15592. * title.
  15593. */
  15594. useHTML?: boolean;
  15595. /**
  15596. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  15597. * position.
  15598. */
  15599. x?: number;
  15600. /**
  15601. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  15602. * position.
  15603. */
  15604. y?: number;
  15605. }
  15606. /**
  15607. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No data
  15608. * to display". This feature requires the file no-data-to-display.js to be
  15609. * loaded in the page. The actual text to display is set in the lang.noData
  15610. * option.
  15611. */
  15612. export interface NoDataOptions {
  15613. /**
  15614. * (Highcharts, Highstock, Gantt) An object of additional SVG attributes for
  15615. * the no-data label.
  15616. */
  15617. attr?: SVGAttributes;
  15618. /**
  15619. * (Highcharts, Highstock, Gantt) The position of the no-data label,
  15620. * relative to the plot area.
  15621. */
  15622. position?: (AlignObject|NoDataPositionOptions);
  15623. /**
  15624. * (Highcharts, Highstock, Gantt) CSS styles for the no-data label.
  15625. */
  15626. style?: CSSObject;
  15627. /**
  15628. * (Highcharts, Highstock, Gantt) Whether to insert the label as HTML, or as
  15629. * pseudo-HTML rendered with SVG.
  15630. */
  15631. useHTML?: boolean;
  15632. }
  15633. /**
  15634. * (Highcharts, Highstock, Gantt) The position of the no-data label, relative to
  15635. * the plot area.
  15636. */
  15637. export interface NoDataPositionOptions {
  15638. /**
  15639. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label.
  15640. */
  15641. align?: AlignValue;
  15642. /**
  15643. * (Highcharts, Highstock, Gantt) Vertical alignment of the label.
  15644. */
  15645. verticalAlign?: VerticalAlignValue;
  15646. /**
  15647. * (Highcharts, Highstock, Gantt) Horizontal offset of the label, in pixels.
  15648. */
  15649. x?: number;
  15650. /**
  15651. * (Highcharts, Highstock, Gantt) Vertical offset of the label, in pixels.
  15652. */
  15653. y?: number;
  15654. }
  15655. /**
  15656. * An object containing `left` and `top` properties for the position in the
  15657. * page.
  15658. */
  15659. export interface OffsetObject {
  15660. /**
  15661. * Left distance to the page border.
  15662. */
  15663. left: number;
  15664. /**
  15665. * Top distance to the page border.
  15666. */
  15667. top: number;
  15668. }
  15669. export interface Options {
  15670. /**
  15671. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
  15672. * accessibility for the chart. Requires the accessibility module to be
  15673. * loaded. For a description of the module and information on its features,
  15674. * see Highcharts Accessibility.
  15675. */
  15676. accessibility?: AccessibilityOptions;
  15677. /**
  15678. * (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation.
  15679. * It allows to add custom labels or shapes. The items can be tied to
  15680. * points, axis coordinates or chart pixel coordinates.
  15681. */
  15682. annotations?: Array<AnnotationsOptions>;
  15683. /**
  15684. * (Highcharts, Highstock) Options for the Boost module. The Boost module
  15685. * allows certain series types to be rendered by WebGL instead of the
  15686. * default SVG. This allows hundreds of thousands of data points to be
  15687. * rendered in milliseconds. In addition to the WebGL rendering it saves
  15688. * time by skipping processing and inspection of the data wherever possible.
  15689. * This introduces some limitations to what features are available in boost
  15690. * mode. See the docs for details.
  15691. *
  15692. * In addition to the global `boost` option, each series has a
  15693. * boostThreshold that defines when the boost should kick in.
  15694. *
  15695. * Requires the `modules/boost.js` module.
  15696. */
  15697. boost?: BoostOptions;
  15698. /**
  15699. * (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
  15700. * render below the chart and will be part of exported charts. The caption
  15701. * can be updated after chart initialization through the `Chart.update` or
  15702. * `Chart.caption.update` methods.
  15703. */
  15704. caption?: CaptionOptions;
  15705. /**
  15706. * (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
  15707. */
  15708. chart?: ChartOptions;
  15709. /**
  15710. * (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
  15711. * color axis will appear as a gradient or as separate items inside the
  15712. * legend, depending on whether the axis is scalar or based on data classes.
  15713. *
  15714. * For supported color formats, see the docs article about colors.
  15715. *
  15716. * A scalar color axis is represented by a gradient. The colors either range
  15717. * between the minColor and the maxColor, or for more fine grained control
  15718. * the colors can be defined in stops. Often times, the color axis needs to
  15719. * be adjusted to get the right color spread for the data. In addition to
  15720. * stops, consider using a logarithmic axis type, or setting min and max to
  15721. * avoid the colors being determined by outliers.
  15722. *
  15723. * When dataClasses are used, the ranges are subdivided into separate
  15724. * classes like categories based on their values. This can be used for
  15725. * ranges between two values, but also for a true category. However, when
  15726. * your data is categorized, it may be as convenient to add each category to
  15727. * a separate series.
  15728. *
  15729. * Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
  15730. * `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
  15731. * types.
  15732. *
  15733. * Since v7.2.0 `colorAxis` can also be an array of options objects.
  15734. *
  15735. * See the Axis object for programmatic access to the axis.
  15736. */
  15737. colorAxis?: (ColorAxisOptions|Array<ColorAxisOptions>);
  15738. /**
  15739. * (Highcharts, Highstock, Highmaps, Gantt) An array containing the default
  15740. * colors for the chart's series. When all colors are used, new colors are
  15741. * pulled from the start again.
  15742. *
  15743. * Default colors can also be set on a series or series.type basis, see
  15744. * column.colors, pie.colors.
  15745. *
  15746. * In styled mode, the colors option doesn't exist. Instead, colors are
  15747. * defined in CSS and applied either through series or point class names, or
  15748. * through the chart.colorCount option.
  15749. *
  15750. * ### Legacy
  15751. *
  15752. * In Highcharts 3.x, the default colors were: (see online documentation for
  15753. * example)
  15754. *
  15755. * In Highcharts 2.x, the default colors were: (see online documentation for
  15756. * example)
  15757. */
  15758. colors?: Array<ColorString>;
  15759. /**
  15760. * (Gantt) The Pathfinder module allows you to define connections between
  15761. * any two points, represented as lines - optionally with markers for the
  15762. * start and/or end points. Multiple algorithms are available for
  15763. * calculating how the connecting lines are drawn.
  15764. *
  15765. * Connector functionality requires Highcharts Gantt to be loaded. In Gantt
  15766. * charts, the connectors are used to draw dependencies between tasks.
  15767. */
  15768. connectors?: ConnectorsOptions;
  15769. /**
  15770. * (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a
  15771. * credits label in the lower right corner of the chart. This can be changed
  15772. * using these options.
  15773. */
  15774. credits?: CreditsOptions;
  15775. /**
  15776. * (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
  15777. * simplified interface for adding data to a chart from sources like CVS,
  15778. * HTML tables or grid views. See also the tutorial article on the Data
  15779. * module.
  15780. *
  15781. * It requires the `modules/data.js` file to be loaded.
  15782. *
  15783. * Please note that the default way of adding data in Highcharts, without
  15784. * the need of a module, is through the series._type_.data option.
  15785. */
  15786. data?: DataOptions;
  15787. /**
  15788. * (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers
  15789. * for annotations.
  15790. *
  15791. * An example of the arrow marker: (see online documentation for example)
  15792. */
  15793. defs?: (DefsOptions|Dictionary<ASTNode>);
  15794. /**
  15795. * (Highcharts, Highmaps) Options for drill down, the concept of inspecting
  15796. * increasingly high resolution data through clicking on chart items like
  15797. * columns or pie slices.
  15798. *
  15799. * The drilldown feature requires the drilldown.js file to be loaded, found
  15800. * in the modules directory of the download package, or online at
  15801. * code.highcharts.com/modules/drilldown.js.
  15802. */
  15803. drilldown?: DrilldownOptions;
  15804. /**
  15805. * (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting
  15806. * module. For an overview on the matter, see the docs.
  15807. */
  15808. exporting?: ExportingOptions;
  15809. global?: GlobalOptions;
  15810. /**
  15811. * (Highcharts, Highstock, Highmaps, Gantt) Language object. The language
  15812. * object is global and it can't be set on each chart initialization.
  15813. * Instead, use `Highcharts.setOptions` to set it before any chart is
  15814. * initialized. (see online documentation for example)
  15815. */
  15816. lang?: LangOptions;
  15817. /**
  15818. * (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
  15819. * symbol and name for each series item or point item in the chart. Each
  15820. * series (or points in case of pie charts) is represented by a symbol and
  15821. * its name in the legend.
  15822. *
  15823. * It is possible to override the symbol creator function and create custom
  15824. * legend symbols.
  15825. */
  15826. legend?: LegendOptions;
  15827. /**
  15828. * (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
  15829. * appearance of the loading screen that covers the plot area on chart
  15830. * operations. This screen only appears after an explicit call to
  15831. * `chart.showLoading()`. It is a utility for developers to communicate to
  15832. * the end user that something is going on, for example while retrieving new
  15833. * data via an XHR connection. The "Loading..." text itself is not part of
  15834. * this configuration object, but part of the `lang` object.
  15835. */
  15836. loading?: LoadingOptions;
  15837. mapNavigation?: MapNavigationOptions;
  15838. /**
  15839. * (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
  15840. * buttons and menus appearing in the exporting module.
  15841. */
  15842. navigation?: NavigationOptions;
  15843. /**
  15844. * (Highstock, Gantt) The navigator is a small series below the main series,
  15845. * displaying a view of the entire data set. It provides tools to zoom in
  15846. * and out on parts of the data as well as panning across the dataset.
  15847. */
  15848. navigator?: NavigatorOptions;
  15849. /**
  15850. * (Highcharts, Highstock, Gantt) Options for displaying a message like "No
  15851. * data to display". This feature requires the file no-data-to-display.js to
  15852. * be loaded in the page. The actual text to display is set in the
  15853. * lang.noData option.
  15854. */
  15855. noData?: NoDataOptions;
  15856. /**
  15857. * (Highcharts) The pane serves as a container for axes and backgrounds for
  15858. * circular gauges and polar charts.
  15859. */
  15860. pane?: PaneOptions;
  15861. /**
  15862. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper
  15863. * object for config objects for each series type. The config objects for
  15864. * each series can also be overridden for each series item as given in the
  15865. * series array.
  15866. *
  15867. * Configuration options for the series are given in three levels. Options
  15868. * for all series in a chart are given in the plotOptions.series object.
  15869. * Then options for all series of a specific type are given in the
  15870. * plotOptions of that type, for example `plotOptions.line`. Next, options
  15871. * for one single series are given in the series array.
  15872. */
  15873. plotOptions?: PlotOptions;
  15874. /**
  15875. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  15876. * display within the chart. It provides buttons to select preconfigured
  15877. * ranges in the chart, like 1 day, 1 week, 1 month etc. It also provides
  15878. * input boxes where min and max dates can be manually input.
  15879. */
  15880. rangeSelector?: RangeSelectorOptions;
  15881. /**
  15882. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  15883. * apply for different screen or chart sizes. Each rule specifies additional
  15884. * chart options.
  15885. */
  15886. responsive?: ResponsiveOptions;
  15887. /**
  15888. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of
  15889. * a stock chart. Scrollbars can also be applied to other types of axes.
  15890. *
  15891. * Another approach to scrollable charts is the chart.scrollablePlotArea
  15892. * option that is especially suitable for simpler cartesian charts on
  15893. * mobile.
  15894. *
  15895. * In styled mode, all the presentational options for the scrollbar are
  15896. * replaced by the classes `.highcharts-scrollbar-thumb`,
  15897. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  15898. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  15899. */
  15900. scrollbar?: ScrollbarOptions;
  15901. /**
  15902. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data
  15903. * and the data itself. In TypeScript you have to cast the series options to
  15904. * specific series types, to get all possible options for a series.
  15905. */
  15906. series?: Array<SeriesOptionsType>;
  15907. /**
  15908. * (Highstock) Configure the stockTools gui strings in the chart. Requires
  15909. * the [stockTools module]() to be loaded. For a description of the module
  15910. * and information on its features, see [Highcharts StockTools]().
  15911. */
  15912. stockTools?: StockToolsOptions;
  15913. /**
  15914. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can
  15915. * be used both to display a subtitle below the main title, and to display
  15916. * random text anywhere in the chart. The subtitle can be updated after
  15917. * chart initialization through the `Chart.setTitle` method.
  15918. */
  15919. subtitle?: SubtitleOptions;
  15920. /**
  15921. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply
  15922. * globally or to individual charts. These settings affect how `datetime`
  15923. * axes are laid out, how tooltips are formatted, how series
  15924. * pointIntervalUnit works and how the Highcharts Stock range selector
  15925. * handles time.
  15926. *
  15927. * The common use case is that all charts in the same Highcharts object
  15928. * share the same time settings, in which case the global settings are set
  15929. * using `setOptions`. (see online documentation for example)
  15930. *
  15931. * Since v6.0.5, the time options were moved from the `global` obect to the
  15932. * `time` object, and time options can be set on each individual chart.
  15933. */
  15934. time?: TimeOptions;
  15935. /**
  15936. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  15937. */
  15938. title?: TitleOptions;
  15939. /**
  15940. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that
  15941. * appears when the user hovers over a series or point.
  15942. */
  15943. tooltip?: TooltipOptions;
  15944. /**
  15945. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  15946. * Normally this is the horizontal axis, though if the chart is inverted
  15947. * this is the vertical axis. In case of multiple axes, the xAxis node is an
  15948. * array of configuration objects.
  15949. *
  15950. * See the Axis class for programmatic access to the axis.
  15951. */
  15952. xAxis?: (XAxisOptions|Array<XAxisOptions>);
  15953. /**
  15954. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis.
  15955. * Normally this is the vertical axis, though if the chart is inverted this
  15956. * is the horizontal axis. In case of multiple axes, the yAxis node is an
  15957. * array of configuration objects.
  15958. *
  15959. * See the Axis object for programmatic access to the axis.
  15960. */
  15961. yAxis?: (YAxisOptions|Array<YAxisOptions>);
  15962. /**
  15963. * (Highcharts) The Z axis or depth axis for 3D plots.
  15964. *
  15965. * See the Axis class for programmatic access to the axis.
  15966. */
  15967. zAxis?: (ZAxisOptions|Array<ZAxisOptions>);
  15968. }
  15969. /**
  15970. * (Highcharts) An array of background items for the pane.
  15971. */
  15972. export interface PaneBackgroundOptions {
  15973. /**
  15974. * (Highcharts) The background color or gradient for the pane.
  15975. */
  15976. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  15977. /**
  15978. * (Highcharts) The pane background border color.
  15979. */
  15980. borderColor?: (ColorString|GradientColorObject|PatternObject);
  15981. /**
  15982. * (Highcharts) The pixel border width of the pane background.
  15983. */
  15984. borderWidth?: number;
  15985. /**
  15986. * (Highcharts) The class name for this background.
  15987. */
  15988. className?: string;
  15989. /**
  15990. * (Highcharts) The inner radius of the pane background. Can be either
  15991. * numeric (pixels) or a percentage string.
  15992. */
  15993. innerRadius?: (number|string);
  15994. /**
  15995. * (Highcharts) The outer radius of the circular pane background. Can be
  15996. * either numeric (pixels) or a percentage string.
  15997. */
  15998. outerRadius?: (number|string);
  15999. /**
  16000. * (Highcharts) The shape of the pane background. When `solid`, the
  16001. * background is circular. When `arc`, the background extends only from the
  16002. * min to the max of the value axis.
  16003. */
  16004. shape?: PaneBackgroundShapeValue;
  16005. }
  16006. /**
  16007. * (Highcharts) The pane serves as a container for axes and backgrounds for
  16008. * circular gauges and polar charts.
  16009. */
  16010. export interface PaneOptions {
  16011. /**
  16012. * (Highcharts) An array of background items for the pane.
  16013. */
  16014. background?: Array<PaneBackgroundOptions>;
  16015. /**
  16016. * (Highcharts) The center of a polar chart or angular gauge, given as an
  16017. * array of [x, y] positions. Positions can be given as integers that
  16018. * transform to pixels, or as percentages of the plot area size.
  16019. */
  16020. center?: Array<(string|number)>;
  16021. /**
  16022. * (Highcharts) The end angle of the polar X axis or gauge value axis, given
  16023. * in degrees where 0 is north. Defaults to startAngle
  16024. *
  16025. * + 360.
  16026. */
  16027. endAngle?: number;
  16028. /**
  16029. * (Highcharts) The inner size of the pane, either as a number defining
  16030. * pixels, or a percentage defining a percentage of the pane's size.
  16031. */
  16032. innerSize?: (number|string);
  16033. /**
  16034. * (Highcharts) The size of the pane, either as a number defining pixels, or
  16035. * a percentage defining a percentage of the available plot area (the
  16036. * smallest of the plot height or plot width).
  16037. */
  16038. size?: (number|string);
  16039. /**
  16040. * (Highcharts) The start angle of the polar X axis or gauge axis, given in
  16041. * degrees where 0 is north. Defaults to 0.
  16042. */
  16043. startAngle?: number;
  16044. }
  16045. /**
  16046. * Holds a pattern definition.
  16047. */
  16048. export interface PatternObject {
  16049. /**
  16050. * Animation options for the image pattern loading.
  16051. */
  16052. animation?: (boolean|Partial<AnimationOptionsObject>);
  16053. /**
  16054. * Pattern options
  16055. */
  16056. pattern: PatternOptionsObject;
  16057. /**
  16058. * Optionally an index referencing which pattern to use. Highcharts adds 10
  16059. * default patterns to the `Highcharts.patterns` array. Additional pattern
  16060. * definitions can be pushed to this array if desired. This option is an
  16061. * index into this array.
  16062. */
  16063. patternIndex?: number;
  16064. }
  16065. /**
  16066. * Pattern options
  16067. */
  16068. export interface PatternOptionsObject {
  16069. /**
  16070. * For automatically calculated width and height on images, it is possible
  16071. * to set an aspect ratio. The image will be zoomed to fill the bounding
  16072. * box, maintaining the aspect ratio defined.
  16073. */
  16074. aspectRatio: number;
  16075. /**
  16076. * Background color for the pattern if a `path` is set (not images).
  16077. */
  16078. backgroundColor: ColorString;
  16079. /**
  16080. * Pattern color, used as default path stroke.
  16081. */
  16082. color: ColorString;
  16083. /**
  16084. * Analogous to pattern.width.
  16085. */
  16086. height: number;
  16087. /**
  16088. * ID to assign to the pattern. This is automatically computed if not added,
  16089. * and identical patterns are reused. To refer to an existing pattern for a
  16090. * Highcharts color, use `color: "url(#pattern-id)"`.
  16091. */
  16092. id?: string;
  16093. /**
  16094. * URL to an image to use as the pattern.
  16095. */
  16096. image: string;
  16097. /**
  16098. * Opacity of the pattern as a float value from 0 to 1.
  16099. */
  16100. opacity: number;
  16101. /**
  16102. * Either an SVG path as string, or an object. As an object, supply the path
  16103. * string in the `path.d` property. Other supported properties are standard
  16104. * SVG attributes like `path.stroke` and `path.fill`. If a path is supplied
  16105. * for the pattern, the `image` property is ignored.
  16106. */
  16107. path: (string|SVGAttributes);
  16108. /**
  16109. * SVG `patternTransform` to apply to the entire pattern.
  16110. */
  16111. patternTransform: string;
  16112. /**
  16113. * Width of the pattern. For images this is automatically set to the width
  16114. * of the element bounding box if not supplied. For non-image patterns the
  16115. * default is 32px. Note that automatic resizing of image patterns to fill a
  16116. * bounding box dynamically is only supported for patterns with an
  16117. * automatically calculated ID.
  16118. */
  16119. width: number;
  16120. /**
  16121. * Horizontal offset of the pattern. Defaults to 0.
  16122. */
  16123. x?: number;
  16124. /**
  16125. * Vertical offset of the pattern. Defaults to 0.
  16126. */
  16127. y?: number;
  16128. }
  16129. /**
  16130. * (Highstock) Enable or disable the initial animation when a series is
  16131. * displayed. The animation can also be set as a configuration object. Please
  16132. * note that this option only applies to the initial animation of the series
  16133. * itself. For other animations, see chart.animation and the animation parameter
  16134. * under the API methods. The following properties are supported:
  16135. *
  16136. * - `defer`: The animation delay time in milliseconds.
  16137. *
  16138. * - `duration`: The duration of the animation in milliseconds.
  16139. *
  16140. * - `easing`: Can be a string reference to an easing function set on the `Math`
  16141. * object or a function. See the _Custom easing function_ demo below.
  16142. *
  16143. * Due to poor performance, animation is disabled in old IE browsers for several
  16144. * chart types.
  16145. */
  16146. export interface PlotAbandsAnimationOptions {
  16147. defer?: number;
  16148. }
  16149. export interface PlotAbandsBottomLineOptions {
  16150. styles?: PlotAbandsBottomLineStylesOptions;
  16151. }
  16152. export interface PlotAbandsBottomLineStylesOptions {
  16153. /**
  16154. * (Highstock) Pixel width of the line.
  16155. */
  16156. lineWidth?: number;
  16157. }
  16158. /**
  16159. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16160. * animation when a series is displayed for the `dataLabels`. The animation can
  16161. * also be set as a configuration object. Please note that this option only
  16162. * applies to the initial animation. For other animations, see chart.animation
  16163. * and the animation parameter under the API methods. The following properties
  16164. * are supported:
  16165. *
  16166. * - `defer`: The animation delay time in milliseconds.
  16167. */
  16168. export interface PlotAbandsDataLabelsAnimationOptions {
  16169. /**
  16170. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  16171. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  16172. * inherits defer time from the series.animation.defer.
  16173. */
  16174. defer?: number;
  16175. }
  16176. /**
  16177. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  16178. * appearing next to each data point.
  16179. *
  16180. * Since v6.2.0, multiple data labels can be applied to each single point by
  16181. * defining them as an array of configs.
  16182. *
  16183. * In styled mode, the data labels can be styled with the
  16184. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  16185. * example).
  16186. */
  16187. export interface PlotAbandsDataLabelsOptions {
  16188. /**
  16189. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  16190. * compared to the point. If `right`, the right side of the label should be
  16191. * touching the point. For points with an extent, like columns, the
  16192. * alignments also dictates how to align it inside the box, as given with
  16193. * the inside option. Can be one of `left`, `center` or `right`.
  16194. */
  16195. align?: (AlignValue|null);
  16196. /**
  16197. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  16198. * overlap. To make the labels less sensitive for overlapping, the
  16199. * dataLabels.padding can be set to 0.
  16200. */
  16201. allowOverlap?: boolean;
  16202. /**
  16203. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16204. * animation when a series is displayed for the `dataLabels`. The animation
  16205. * can also be set as a configuration object. Please note that this option
  16206. * only applies to the initial animation. For other animations, see
  16207. * chart.animation and the animation parameter under the API methods. The
  16208. * following properties are supported:
  16209. *
  16210. * - `defer`: The animation delay time in milliseconds.
  16211. */
  16212. animation?: (boolean|PlotAbandsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  16213. /**
  16214. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  16215. * for the data label.
  16216. */
  16217. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  16218. /**
  16219. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  16220. * label. Defaults to `undefined`.
  16221. */
  16222. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16223. /**
  16224. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  16225. * the data label.
  16226. */
  16227. borderRadius?: number;
  16228. /**
  16229. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  16230. * the data label.
  16231. */
  16232. borderWidth?: number;
  16233. /**
  16234. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  16235. * Particularly in styled mode, this can be used to give each series' or
  16236. * point's data label unique styling. In addition to this option, a default
  16237. * color class name is added so that we can give the labels a contrast text
  16238. * shadow.
  16239. */
  16240. className?: string;
  16241. /**
  16242. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  16243. * labels. Defaults to `undefined`. For certain series types, like column or
  16244. * map, the data labels can be drawn inside the points. In this case the
  16245. * data label will be drawn with maximum contrast by default. Additionally,
  16246. * it will be given a `text-outline` style with the opposite color, to
  16247. * further increase the contrast. This can be overridden by setting the
  16248. * `text-outline` style to `none` in the `dataLabels.style` option.
  16249. */
  16250. color?: (ColorString|GradientColorObject|PatternObject);
  16251. /**
  16252. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  16253. * are outside the plot area. By default, the data label is moved inside the
  16254. * plot area according to the overflow option.
  16255. */
  16256. crop?: boolean;
  16257. /**
  16258. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  16259. * labels until the initial series animation has finished. Setting to
  16260. * `false` renders the data label immediately. If set to `true` inherits the
  16261. * defer time set in plotOptions.series.animation. If set to a number, a
  16262. * defer time is specified in milliseconds.
  16263. */
  16264. defer?: (boolean|number);
  16265. /**
  16266. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  16267. * labels.
  16268. */
  16269. enabled?: boolean;
  16270. /**
  16271. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  16272. * of which data labels to display. The declarative filter is designed for
  16273. * use when callback functions are not available, like when the chart
  16274. * options require a pure JSON structure or for use with graphical editors.
  16275. * For programmatic control, use the `formatter` instead, and return
  16276. * `undefined` to disable a single data label.
  16277. */
  16278. filter?: DataLabelsFilterOptionsObject;
  16279. /**
  16280. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  16281. * label. Available variables are the same as for `formatter`.
  16282. */
  16283. format?: string;
  16284. /**
  16285. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  16286. * format the data label. Note that if a `format` is defined, the format
  16287. * takes precedence and the formatter is ignored.
  16288. */
  16289. formatter?: DataLabelsFormatterCallbackFunction;
  16290. /**
  16291. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  16292. * columns or map areas, whether to align the data label inside the box or
  16293. * to the actual value point. Defaults to `false` in most cases, `true` in
  16294. * stacked columns.
  16295. */
  16296. inside?: boolean;
  16297. /**
  16298. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  16299. * of null. Works analogously to format. `nullFormat` can be applied only to
  16300. * series which support displaying null points.
  16301. */
  16302. nullFormat?: (boolean|string);
  16303. /**
  16304. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  16305. * that defines formatting for points with the value of null. Works
  16306. * analogously to formatter. `nullPointFormatter` can be applied only to
  16307. * series which support displaying null points.
  16308. */
  16309. nullFormatter?: DataLabelsFormatterCallbackFunction;
  16310. /**
  16311. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  16312. * flow outside the plot area. The default is `"justify"`, which aligns them
  16313. * inside the plot area. For columns and bars, this means it will be moved
  16314. * inside the bar. To display data labels outside the plot area, set `crop`
  16315. * to `false` and `overflow` to `"allow"`.
  16316. */
  16317. overflow?: DataLabelsOverflowValue;
  16318. /**
  16319. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  16320. * the `backgroundColor` is set, this is the padding within the box.
  16321. */
  16322. padding?: number;
  16323. /**
  16324. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  16325. * points. If `center` alignment is not possible, it defaults to `right`.
  16326. */
  16327. position?: AlignValue;
  16328. /**
  16329. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  16330. * that due to a more complex structure, backgrounds, borders and padding
  16331. * will be lost on a rotated data label.
  16332. */
  16333. rotation?: number;
  16334. /**
  16335. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  16336. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  16337. * an object configuration containing `color`, `offsetX`, `offsetY`,
  16338. * `opacity` and `width`.
  16339. */
  16340. shadow?: (boolean|ShadowOptionsObject);
  16341. /**
  16342. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  16343. * the border around the label. Symbols are predefined functions on the
  16344. * Renderer object.
  16345. */
  16346. shape?: string;
  16347. /**
  16348. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  16349. * default `color` setting is `"contrast"`, which is a pseudo color that
  16350. * Highcharts picks up and applies the maximum contrast to the underlying
  16351. * point item, for example the bar in a bar chart.
  16352. *
  16353. * The `textOutline` is a pseudo property that applies an outline of the
  16354. * given width with the given color, which by default is the maximum
  16355. * contrast to the text. So a bright text color will result in a black text
  16356. * outline for maximum readability on a mixed background. In some cases,
  16357. * especially with grayscale text, the text outline doesn't work well, in
  16358. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  16359. * is true, the `textOutline` will not be picked up. In this, case, the same
  16360. * effect can be acheived through the `text-shadow` CSS property.
  16361. *
  16362. * For some series types, where each point has an extent, like for example
  16363. * tree maps, the data label may overflow the point. There are two
  16364. * strategies for handling overflow. By default, the text will wrap to
  16365. * multiple lines. The other strategy is to set `style.textOverflow` to
  16366. * `ellipsis`, which will keep the text on one line plus it will break
  16367. * inside long words.
  16368. */
  16369. style?: CSSObject;
  16370. /**
  16371. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  16372. * should follow marker's shape. Border and background are disabled for a
  16373. * label that follows a path.
  16374. *
  16375. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  16376. * to true will disable this option.
  16377. */
  16378. textPath?: DataLabelsTextPathOptionsObject;
  16379. /**
  16380. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  16381. * the labels.
  16382. */
  16383. useHTML?: boolean;
  16384. /**
  16385. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  16386. * label. Can be one of `top`, `middle` or `bottom`. The default value
  16387. * depends on the data, for instance in a column chart, the label is above
  16388. * positive values and below negative values.
  16389. */
  16390. verticalAlign?: (VerticalAlignValue|null);
  16391. /**
  16392. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  16393. * label relative to the point in pixels.
  16394. */
  16395. x?: number;
  16396. /**
  16397. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  16398. * label relative to the point in pixels.
  16399. */
  16400. y?: number;
  16401. /**
  16402. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  16403. * The default Z index puts it above the series. Use a Z index of 2 to
  16404. * display it behind the series.
  16405. */
  16406. z?: number;
  16407. }
  16408. /**
  16409. * (Highcharts, Highstock) Options for the series data sorting.
  16410. */
  16411. export interface PlotAbandsDataSortingOptions {
  16412. /**
  16413. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  16414. * Use xAxis.reversed to change the sorting order.
  16415. */
  16416. enabled?: boolean;
  16417. /**
  16418. * (Highcharts, Highstock) Whether to allow matching points by name in an
  16419. * update. If this option is disabled, points will be matched by order.
  16420. */
  16421. matchByName?: boolean;
  16422. /**
  16423. * (Highcharts, Highstock) Determines what data value should be used to sort
  16424. * by.
  16425. */
  16426. sortKey?: string;
  16427. }
  16428. /**
  16429. * (Highstock) Acceleration bands (ABANDS). This series requires the `linkedTo`
  16430. * option to be set and should be loaded after the
  16431. * `stock/indicators/indicators.js`.
  16432. *
  16433. * In TypeScript the type option must always be set.
  16434. *
  16435. * Configuration options for the series are given in three levels:
  16436. *
  16437. * 1. Options for all series in a chart are defined in the plotOptions.series
  16438. * object.
  16439. *
  16440. * 2. Options for all `abands` series are defined in plotOptions.abands.
  16441. *
  16442. * 3. Options for one single series are given in the series instance array. (see
  16443. * online documentation for example)
  16444. */
  16445. export interface PlotAbandsOptions {
  16446. /**
  16447. * (Highstock) Accessibility options for a series.
  16448. */
  16449. accessibility?: SeriesAccessibilityOptionsObject;
  16450. /**
  16451. * (Highstock) Allow this series' points to be selected by clicking on the
  16452. * graphic (columns, point markers, pie slices, map areas etc).
  16453. *
  16454. * The selected points can be handled by point select and unselect events,
  16455. * or collectively by the getSelectedPoints function.
  16456. *
  16457. * And alternative way of selecting points is through dragging.
  16458. */
  16459. allowPointSelect?: boolean;
  16460. /**
  16461. * (Highstock) Enable or disable the initial animation when a series is
  16462. * displayed. The animation can also be set as a configuration object.
  16463. * Please note that this option only applies to the initial animation of the
  16464. * series itself. For other animations, see chart.animation and the
  16465. * animation parameter under the API methods. The following properties are
  16466. * supported:
  16467. *
  16468. * - `defer`: The animation delay time in milliseconds.
  16469. *
  16470. * - `duration`: The duration of the animation in milliseconds.
  16471. *
  16472. * - `easing`: Can be a string reference to an easing function set on the
  16473. * `Math` object or a function. See the _Custom easing function_ demo below.
  16474. *
  16475. * Due to poor performance, animation is disabled in old IE browsers for
  16476. * several chart types.
  16477. */
  16478. animation?: (boolean|PlotAbandsAnimationOptions|Partial<AnimationOptionsObject>);
  16479. /**
  16480. * (Highstock) For some series, there is a limit that shuts down initial
  16481. * animation by default when the total number of points in the chart is too
  16482. * high. For example, for a column chart and its derivatives, animation does
  16483. * not run if there is more than 250 points totally. To disable this cap,
  16484. * set `animationLimit` to `Infinity`.
  16485. */
  16486. animationLimit?: number;
  16487. /**
  16488. * (Highstock) Sets the color blending in the boost module.
  16489. */
  16490. boostBlending?: OptionsBoostBlendingValue;
  16491. /**
  16492. * (Highstock) Set the point threshold for when a series should enter boost
  16493. * mode.
  16494. *
  16495. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  16496. * there are 2000 or more points in the series.
  16497. *
  16498. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  16499. * it to 1 will force boosting.
  16500. *
  16501. * Note that the cropThreshold also affects this setting. When zooming in on
  16502. * a series that has fewer points than the `cropThreshold`, all points are
  16503. * rendered although outside the visible plot area, and the `boostThreshold`
  16504. * won't take effect.
  16505. */
  16506. boostThreshold?: number;
  16507. /**
  16508. * (Highmaps) The border color of the map areas.
  16509. *
  16510. * In styled mode, the border stroke is given in the `.highcharts-point`
  16511. * class.
  16512. */
  16513. borderColor?: (ColorString|GradientColorObject|PatternObject);
  16514. /**
  16515. * (Highmaps) The border width of each map area.
  16516. *
  16517. * In styled mode, the border stroke width is given in the
  16518. * `.highcharts-point` class.
  16519. */
  16520. borderWidth?: number;
  16521. bottomLine?: PlotAbandsBottomLineOptions;
  16522. /**
  16523. * (Highstock) An additional class name to apply to the series' graphical
  16524. * elements. This option does not replace default class names of the
  16525. * graphical element.
  16526. */
  16527. className?: string;
  16528. /**
  16529. * (Highstock) Disable this option to allow series rendering in the whole
  16530. * plotting area.
  16531. *
  16532. * **Note:** Clipping should be always enabled when chart.zoomType is set
  16533. */
  16534. clip?: boolean;
  16535. /**
  16536. * (Highstock) The main color of the series. In line type series it applies
  16537. * to the line and the point markers unless otherwise specified. In bar type
  16538. * series it applies to the bars unless a color is specified per point. The
  16539. * default value is pulled from the `options.colors` array.
  16540. *
  16541. * In styled mode, the color can be defined by the colorIndex option. Also,
  16542. * the series color can be set with the `.highcharts-series`,
  16543. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  16544. * `.highcharts-series-{n}` class, or individual classes given by the
  16545. * `className` option.
  16546. */
  16547. color?: (ColorString|GradientColorObject|PatternObject);
  16548. /**
  16549. * (Highstock) Styled mode only. A specific color index to use for the
  16550. * series, so its graphic representations are given the class name
  16551. * `highcharts-color-{n}`.
  16552. */
  16553. colorIndex?: number;
  16554. /**
  16555. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  16556. * used to calculate point color if `colorAxis` is used. Requires to set
  16557. * `min` and `max` if some custom point property is used or if approximation
  16558. * for data grouping is set to `'sum'`.
  16559. */
  16560. colorKey?: string;
  16561. /**
  16562. * (Highstock) Defines if comparison should start from the first point
  16563. * within the visible range or should start from the first point **before**
  16564. * the range.
  16565. *
  16566. * In other words, this flag determines if first point within the visible
  16567. * range will have 0% (`compareStart=true`) or should have been already
  16568. * calculated according to the previous point (`compareStart=false`).
  16569. */
  16570. compareStart?: boolean;
  16571. /**
  16572. * (Highstock) Whether to compare indicator to the main series values or
  16573. * indicator values.
  16574. */
  16575. compareToMain?: boolean;
  16576. /**
  16577. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  16578. * series plot across the extremes.
  16579. */
  16580. connectEnds?: boolean;
  16581. /**
  16582. * (Highcharts, Highstock) Whether to connect a graph line across null
  16583. * points, or render a gap between the two points on either side of the
  16584. * null.
  16585. */
  16586. connectNulls?: boolean;
  16587. /**
  16588. * (Gantt) Override Pathfinder connector options for a series. Requires
  16589. * Highcharts Gantt to be loaded.
  16590. */
  16591. connectors?: SeriesConnectorsOptionsObject;
  16592. /**
  16593. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  16594. * rounded to its nearest pixel in order to render sharp on screen. In some
  16595. * cases, when there are a lot of densely packed columns, this leads to
  16596. * visible difference in column widths or distance between columns. In these
  16597. * cases, setting `crisp` to `false` may look better, even though each
  16598. * column is rendered blurry.
  16599. */
  16600. crisp?: boolean;
  16601. /**
  16602. * (Highcharts, Highstock) When the series contains less points than the
  16603. * crop threshold, all points are drawn, even if the points fall outside the
  16604. * visible plot area at the current zoom. The advantage of drawing all
  16605. * points (including markers and columns), is that animation is performed on
  16606. * updates. On the other hand, when the series contains more points than the
  16607. * crop threshold, the series data is cropped to only contain points that
  16608. * fall within the plot area. The advantage of cropping away invisible
  16609. * points is to increase performance on large series.
  16610. */
  16611. cropThreshold?: number;
  16612. /**
  16613. * (Highstock) You can set the cursor to "pointer" if you have click events
  16614. * attached to the series, to signal to the user that the points and lines
  16615. * can be clicked.
  16616. *
  16617. * In styled mode, the series cursor can be set with the same classes as
  16618. * listed under series.color.
  16619. */
  16620. cursor?: (string|CursorValue);
  16621. /**
  16622. * (Highstock) A reserved subspace to store options and values for
  16623. * customized functionality. Here you can add additional data for your own
  16624. * event callbacks and formatter callbacks.
  16625. */
  16626. custom?: Dictionary<any>;
  16627. /**
  16628. * (Highstock) Name of the dash style to use for the graph, or for some
  16629. * series types the outline of each shape.
  16630. *
  16631. * In styled mode, the stroke dash-array can be set with the same classes as
  16632. * listed under series.color.
  16633. */
  16634. dashStyle?: DashStyleValue;
  16635. /**
  16636. * (Highstock) Data grouping is the concept of sampling the data values into
  16637. * larger blocks in order to ease readability and increase performance of
  16638. * the JavaScript charts. Highcharts Stock by default applies data grouping
  16639. * when the points become closer than a certain pixel value, determined by
  16640. * the `groupPixelWidth` option.
  16641. *
  16642. * If data grouping is applied, the grouping information of grouped points
  16643. * can be read from the Point.dataGroup. If point options other than the
  16644. * data itself are set, for example `name` or `color` or custom properties,
  16645. * the grouping logic doesn't know how to group it. In this case the options
  16646. * of the first point instance are copied over to the group point. This can
  16647. * be altered through a custom `approximation` callback function.
  16648. */
  16649. dataGrouping?: DataGroupingOptionsObject;
  16650. /**
  16651. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  16652. * labels, appearing next to each data point.
  16653. *
  16654. * Since v6.2.0, multiple data labels can be applied to each single point by
  16655. * defining them as an array of configs.
  16656. *
  16657. * In styled mode, the data labels can be styled with the
  16658. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  16659. * (see example).
  16660. */
  16661. dataLabels?: (PlotAbandsDataLabelsOptions|Array<PlotAbandsDataLabelsOptions>);
  16662. /**
  16663. * (Highcharts, Highstock) Options for the series data sorting.
  16664. */
  16665. dataSorting?: (DataSortingOptionsObject|PlotAbandsDataSortingOptions);
  16666. /**
  16667. * (Highstock) A description of the series to add to the screen reader
  16668. * information about the series.
  16669. */
  16670. description?: string;
  16671. /**
  16672. * (Highstock) Enable or disable the mouse tracking for a specific series.
  16673. * This includes point tooltips and click events on graphs and points. For
  16674. * large datasets it improves performance.
  16675. */
  16676. enableMouseTracking?: boolean;
  16677. /**
  16678. * (Highstock) General event handlers for the series items. These event
  16679. * hooks can also be attached to the series at run time using the
  16680. * `Highcharts.addEvent` function.
  16681. */
  16682. events?: SeriesEventsOptionsObject;
  16683. /**
  16684. * (Highstock) Determines whether the series should look for the nearest
  16685. * point in both dimensions or just the x-dimension when hovering the
  16686. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  16687. * series. If the data has duplicate x-values, it is recommended to set this
  16688. * to `'xy'` to allow hovering over all points.
  16689. *
  16690. * Applies only to series types using nearest neighbor search (not direct
  16691. * hover) for tooltip.
  16692. */
  16693. findNearestPointBy?: OptionsFindNearestPointByValue;
  16694. /**
  16695. * (Highstock) Defines when to display a gap in the graph, together with the
  16696. * gapUnit option.
  16697. *
  16698. * In case when `dataGrouping` is enabled, points can be grouped into a
  16699. * larger time span. This can make the grouped points to have a greater
  16700. * distance than the absolute value of `gapSize` property, which will result
  16701. * in disappearing graph completely. To prevent this situation the mentioned
  16702. * distance between grouped points is used instead of previously defined
  16703. * `gapSize`.
  16704. *
  16705. * In practice, this option is most often used to visualize gaps in time
  16706. * series. In a stock chart, intraday data is available for daytime hours,
  16707. * while gaps will appear in nights and weekends.
  16708. */
  16709. gapSize?: number;
  16710. /**
  16711. * (Highstock) Together with gapSize, this option defines where to draw gaps
  16712. * in the graph.
  16713. *
  16714. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  16715. * if the distance between two points is greater than 5 times that of the
  16716. * two closest points, the graph will be broken.
  16717. *
  16718. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  16719. * values, which on a datetime axis is milliseconds. This also applies to
  16720. * the navigator series that inherits gap options from the base series.
  16721. */
  16722. gapUnit?: OptionsGapUnitValue;
  16723. /**
  16724. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  16725. * chart width or only the zoomed area when zooming in on parts of the X
  16726. * axis. By default, the Y axis adjusts to the min and max of the visible
  16727. * data. Cartesian series only.
  16728. */
  16729. getExtremesFromAll?: boolean;
  16730. /**
  16731. * (Highstock) When set to `false` will prevent the series data from being
  16732. * included in any form of data export.
  16733. *
  16734. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  16735. * `includeInCSVExport`.
  16736. */
  16737. includeInDataExport?: boolean;
  16738. /**
  16739. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  16740. * series as possible in a natural way, seeking to avoid other series. The
  16741. * goal of this feature is to make the chart more easily readable, like if a
  16742. * human designer placed the labels in the optimal position.
  16743. *
  16744. * The series labels currently work with series types having a `graph` or an
  16745. * `area`.
  16746. */
  16747. label?: SeriesLabelOptionsObject;
  16748. /**
  16749. * (Highstock) The line marks the last price from all points.
  16750. */
  16751. lastPrice?: SeriesLastPriceOptionsObject;
  16752. /**
  16753. * (Highstock) The line marks the last price from visible range of points.
  16754. */
  16755. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  16756. /**
  16757. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  16758. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  16759. * the ends and bends.
  16760. */
  16761. linecap?: SeriesLinecapValue;
  16762. /**
  16763. * (Highcharts, Highstock) Pixel width of the graph line.
  16764. */
  16765. lineWidth?: number;
  16766. /**
  16767. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  16768. * based on. Required for this indicator.
  16769. */
  16770. linkedTo?: string;
  16771. /**
  16772. * (Highstock) Options for the point markers of line-like series. Properties
  16773. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  16774. * appearance of the markers. Other series types, like column series, don't
  16775. * have markers, but have visual options on the series level instead.
  16776. *
  16777. * In styled mode, the markers can be styled with the `.highcharts-point`,
  16778. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  16779. */
  16780. marker?: PointMarkerOptionsObject;
  16781. /**
  16782. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  16783. * If not set, it will be based on a technical indicator type and default
  16784. * params.
  16785. */
  16786. name?: string;
  16787. /**
  16788. * (Highstock) The color for the parts of the graph or points that are below
  16789. * the threshold. Note that `zones` takes precedence over the negative
  16790. * color. Using `negativeColor` is equivalent to applying a zone with value
  16791. * of 0.
  16792. */
  16793. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  16794. /**
  16795. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  16796. * dataLabels.
  16797. */
  16798. opacity?: number;
  16799. /**
  16800. * (Highstock) Paramters used in calculation of regression series' points.
  16801. */
  16802. params?: PlotAbandsParamsOptions;
  16803. /**
  16804. * (Highstock) Properties for each single point.
  16805. */
  16806. point?: PlotSeriesPointOptions;
  16807. /**
  16808. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  16809. * individual series. Overrides the chart wide configuration.
  16810. */
  16811. pointDescriptionFormatter?: Function;
  16812. /**
  16813. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  16814. * true, the checkbox next to the series name in the legend will be checked
  16815. * for a selected series.
  16816. */
  16817. selected?: boolean;
  16818. /**
  16819. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  16820. * the shadow can be an object configuration containing `color`, `offsetX`,
  16821. * `offsetY`, `opacity` and `width`.
  16822. */
  16823. shadow?: (boolean|ShadowOptionsObject);
  16824. /**
  16825. * (Highstock) If true, a checkbox is displayed next to the legend item to
  16826. * allow selecting the series. The state of the checkbox is determined by
  16827. * the `selected` option.
  16828. */
  16829. showCheckbox?: boolean;
  16830. /**
  16831. * (Highstock) Whether to display this particular series or series type in
  16832. * the legend. Standalone series are shown in legend by default, and linked
  16833. * series are not. Since v7.2.0 it is possible to show series that use
  16834. * colorAxis by setting this option to `true`.
  16835. */
  16836. showInLegend?: boolean;
  16837. /**
  16838. * (Highstock) If set to `true`, the accessibility module will skip past the
  16839. * points in this series for keyboard navigation.
  16840. */
  16841. skipKeyboardNavigation?: boolean;
  16842. /**
  16843. * (Highcharts, Highstock) When this is true, the series will not cause the
  16844. * Y axis to cross the zero plane (or threshold option) unless the data
  16845. * actually crosses the plane.
  16846. *
  16847. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  16848. * make the Y axis show negative values according to the `minPadding`
  16849. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  16850. */
  16851. softThreshold?: boolean;
  16852. states?: SeriesStatesOptionsObject;
  16853. /**
  16854. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  16855. * values are `left`, `center` and `right`.
  16856. */
  16857. step?: OptionsStepValue;
  16858. /**
  16859. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  16860. * event on a series isn't triggered until the mouse moves over another
  16861. * series, or out of the plot area. When false, the `mouseOut` event on a
  16862. * series is triggered when the mouse leaves the area around the series'
  16863. * graph or markers. This also implies the tooltip when not shared. When
  16864. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  16865. * be hidden when moving the mouse between series. Defaults to true for line
  16866. * and area type series, but to false for columns, pies etc.
  16867. *
  16868. * **Note:** The boost module will force this option because of technical
  16869. * limitations.
  16870. */
  16871. stickyTracking?: boolean;
  16872. /**
  16873. * (Highcharts, Highstock) The threshold, also called zero level or base
  16874. * level. For line type series this is only used in conjunction with
  16875. * negativeColor.
  16876. */
  16877. threshold?: (number|null);
  16878. /**
  16879. * (Highstock) A configuration object for the tooltip rendering of each
  16880. * single series. Properties are inherited from tooltip, but only the
  16881. * following properties can be defined on a series level.
  16882. */
  16883. tooltip?: SeriesTooltipOptionsObject;
  16884. topLine?: PlotAbandsTopLineOptions;
  16885. /**
  16886. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  16887. * is longer than this, only one dimensional arrays of numbers, or two
  16888. * dimensional arrays with x and y values are allowed. Also, only the first
  16889. * point is tested, and the rest are assumed to be the same format. This
  16890. * saves expensive data checking and indexing in long series. Set it to `0`
  16891. * disable.
  16892. *
  16893. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  16894. * two dimensional arrays are allowed.
  16895. */
  16896. turboThreshold?: number;
  16897. /**
  16898. * (Highstock) Set the initial visibility of the series.
  16899. */
  16900. visible?: boolean;
  16901. /**
  16902. * (Highmaps) Define the z index of the series.
  16903. */
  16904. zIndex?: number;
  16905. /**
  16906. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  16907. */
  16908. zoneAxis?: string;
  16909. /**
  16910. * (Highcharts, Highstock) An array defining zones within a series. Zones
  16911. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  16912. * the `zoneAxis` option. The zone definitions have to be in ascending order
  16913. * regarding to the value.
  16914. *
  16915. * In styled mode, the color zones are styled with the
  16916. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  16917. * option (view live demo).
  16918. */
  16919. zones?: Array<SeriesZonesOptionsObject>;
  16920. }
  16921. /**
  16922. * (Highstock) Paramters used in calculation of regression series' points.
  16923. */
  16924. export interface PlotAbandsParamsOptions {
  16925. /**
  16926. * (Highstock) The algorithms factor value used to calculate bands.
  16927. */
  16928. factor?: number;
  16929. /**
  16930. * (Highstock) The point index which indicator calculations will base. For
  16931. * example using OHLC data, index=2 means the indicator will be calculated
  16932. * using Low values.
  16933. */
  16934. index?: number;
  16935. /**
  16936. * (Highstock) The base period for indicator calculations. This is the
  16937. * number of data points which are taken into account for the indicator
  16938. * calculations.
  16939. */
  16940. period?: number;
  16941. }
  16942. export interface PlotAbandsTopLineOptions {
  16943. styles?: PlotAbandsTopLineStylesOptions;
  16944. }
  16945. export interface PlotAbandsTopLineStylesOptions {
  16946. /**
  16947. * (Highstock) Pixel width of the line.
  16948. */
  16949. lineWidth?: number;
  16950. }
  16951. /**
  16952. * (Highstock) Enable or disable the initial animation when a series is
  16953. * displayed. The animation can also be set as a configuration object. Please
  16954. * note that this option only applies to the initial animation of the series
  16955. * itself. For other animations, see chart.animation and the animation parameter
  16956. * under the API methods. The following properties are supported:
  16957. *
  16958. * - `defer`: The animation delay time in milliseconds.
  16959. *
  16960. * - `duration`: The duration of the animation in milliseconds.
  16961. *
  16962. * - `easing`: Can be a string reference to an easing function set on the `Math`
  16963. * object or a function. See the _Custom easing function_ demo below.
  16964. *
  16965. * Due to poor performance, animation is disabled in old IE browsers for several
  16966. * chart types.
  16967. */
  16968. export interface PlotAdAnimationOptions {
  16969. defer?: number;
  16970. }
  16971. /**
  16972. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  16973. * animation when a series is displayed for the `dataLabels`. The animation can
  16974. * also be set as a configuration object. Please note that this option only
  16975. * applies to the initial animation. For other animations, see chart.animation
  16976. * and the animation parameter under the API methods. The following properties
  16977. * are supported:
  16978. *
  16979. * - `defer`: The animation delay time in milliseconds.
  16980. */
  16981. export interface PlotAdDataLabelsAnimationOptions {
  16982. /**
  16983. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  16984. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  16985. * inherits defer time from the series.animation.defer.
  16986. */
  16987. defer?: number;
  16988. }
  16989. /**
  16990. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  16991. * appearing next to each data point.
  16992. *
  16993. * Since v6.2.0, multiple data labels can be applied to each single point by
  16994. * defining them as an array of configs.
  16995. *
  16996. * In styled mode, the data labels can be styled with the
  16997. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  16998. * example).
  16999. */
  17000. export interface PlotAdDataLabelsOptions {
  17001. /**
  17002. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  17003. * compared to the point. If `right`, the right side of the label should be
  17004. * touching the point. For points with an extent, like columns, the
  17005. * alignments also dictates how to align it inside the box, as given with
  17006. * the inside option. Can be one of `left`, `center` or `right`.
  17007. */
  17008. align?: (AlignValue|null);
  17009. /**
  17010. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  17011. * overlap. To make the labels less sensitive for overlapping, the
  17012. * dataLabels.padding can be set to 0.
  17013. */
  17014. allowOverlap?: boolean;
  17015. /**
  17016. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17017. * animation when a series is displayed for the `dataLabels`. The animation
  17018. * can also be set as a configuration object. Please note that this option
  17019. * only applies to the initial animation. For other animations, see
  17020. * chart.animation and the animation parameter under the API methods. The
  17021. * following properties are supported:
  17022. *
  17023. * - `defer`: The animation delay time in milliseconds.
  17024. */
  17025. animation?: (boolean|PlotAdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  17026. /**
  17027. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  17028. * for the data label.
  17029. */
  17030. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  17031. /**
  17032. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  17033. * label. Defaults to `undefined`.
  17034. */
  17035. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17036. /**
  17037. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  17038. * the data label.
  17039. */
  17040. borderRadius?: number;
  17041. /**
  17042. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  17043. * the data label.
  17044. */
  17045. borderWidth?: number;
  17046. /**
  17047. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  17048. * Particularly in styled mode, this can be used to give each series' or
  17049. * point's data label unique styling. In addition to this option, a default
  17050. * color class name is added so that we can give the labels a contrast text
  17051. * shadow.
  17052. */
  17053. className?: string;
  17054. /**
  17055. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  17056. * labels. Defaults to `undefined`. For certain series types, like column or
  17057. * map, the data labels can be drawn inside the points. In this case the
  17058. * data label will be drawn with maximum contrast by default. Additionally,
  17059. * it will be given a `text-outline` style with the opposite color, to
  17060. * further increase the contrast. This can be overridden by setting the
  17061. * `text-outline` style to `none` in the `dataLabels.style` option.
  17062. */
  17063. color?: (ColorString|GradientColorObject|PatternObject);
  17064. /**
  17065. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  17066. * are outside the plot area. By default, the data label is moved inside the
  17067. * plot area according to the overflow option.
  17068. */
  17069. crop?: boolean;
  17070. /**
  17071. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  17072. * labels until the initial series animation has finished. Setting to
  17073. * `false` renders the data label immediately. If set to `true` inherits the
  17074. * defer time set in plotOptions.series.animation. If set to a number, a
  17075. * defer time is specified in milliseconds.
  17076. */
  17077. defer?: (boolean|number);
  17078. /**
  17079. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  17080. * labels.
  17081. */
  17082. enabled?: boolean;
  17083. /**
  17084. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  17085. * of which data labels to display. The declarative filter is designed for
  17086. * use when callback functions are not available, like when the chart
  17087. * options require a pure JSON structure or for use with graphical editors.
  17088. * For programmatic control, use the `formatter` instead, and return
  17089. * `undefined` to disable a single data label.
  17090. */
  17091. filter?: DataLabelsFilterOptionsObject;
  17092. /**
  17093. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  17094. * label. Available variables are the same as for `formatter`.
  17095. */
  17096. format?: string;
  17097. /**
  17098. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  17099. * format the data label. Note that if a `format` is defined, the format
  17100. * takes precedence and the formatter is ignored.
  17101. */
  17102. formatter?: DataLabelsFormatterCallbackFunction;
  17103. /**
  17104. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  17105. * columns or map areas, whether to align the data label inside the box or
  17106. * to the actual value point. Defaults to `false` in most cases, `true` in
  17107. * stacked columns.
  17108. */
  17109. inside?: boolean;
  17110. /**
  17111. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  17112. * of null. Works analogously to format. `nullFormat` can be applied only to
  17113. * series which support displaying null points.
  17114. */
  17115. nullFormat?: (boolean|string);
  17116. /**
  17117. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  17118. * that defines formatting for points with the value of null. Works
  17119. * analogously to formatter. `nullPointFormatter` can be applied only to
  17120. * series which support displaying null points.
  17121. */
  17122. nullFormatter?: DataLabelsFormatterCallbackFunction;
  17123. /**
  17124. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  17125. * flow outside the plot area. The default is `"justify"`, which aligns them
  17126. * inside the plot area. For columns and bars, this means it will be moved
  17127. * inside the bar. To display data labels outside the plot area, set `crop`
  17128. * to `false` and `overflow` to `"allow"`.
  17129. */
  17130. overflow?: DataLabelsOverflowValue;
  17131. /**
  17132. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  17133. * the `backgroundColor` is set, this is the padding within the box.
  17134. */
  17135. padding?: number;
  17136. /**
  17137. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  17138. * points. If `center` alignment is not possible, it defaults to `right`.
  17139. */
  17140. position?: AlignValue;
  17141. /**
  17142. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  17143. * that due to a more complex structure, backgrounds, borders and padding
  17144. * will be lost on a rotated data label.
  17145. */
  17146. rotation?: number;
  17147. /**
  17148. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  17149. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  17150. * an object configuration containing `color`, `offsetX`, `offsetY`,
  17151. * `opacity` and `width`.
  17152. */
  17153. shadow?: (boolean|ShadowOptionsObject);
  17154. /**
  17155. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  17156. * the border around the label. Symbols are predefined functions on the
  17157. * Renderer object.
  17158. */
  17159. shape?: string;
  17160. /**
  17161. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  17162. * default `color` setting is `"contrast"`, which is a pseudo color that
  17163. * Highcharts picks up and applies the maximum contrast to the underlying
  17164. * point item, for example the bar in a bar chart.
  17165. *
  17166. * The `textOutline` is a pseudo property that applies an outline of the
  17167. * given width with the given color, which by default is the maximum
  17168. * contrast to the text. So a bright text color will result in a black text
  17169. * outline for maximum readability on a mixed background. In some cases,
  17170. * especially with grayscale text, the text outline doesn't work well, in
  17171. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  17172. * is true, the `textOutline` will not be picked up. In this, case, the same
  17173. * effect can be acheived through the `text-shadow` CSS property.
  17174. *
  17175. * For some series types, where each point has an extent, like for example
  17176. * tree maps, the data label may overflow the point. There are two
  17177. * strategies for handling overflow. By default, the text will wrap to
  17178. * multiple lines. The other strategy is to set `style.textOverflow` to
  17179. * `ellipsis`, which will keep the text on one line plus it will break
  17180. * inside long words.
  17181. */
  17182. style?: CSSObject;
  17183. /**
  17184. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  17185. * should follow marker's shape. Border and background are disabled for a
  17186. * label that follows a path.
  17187. *
  17188. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  17189. * to true will disable this option.
  17190. */
  17191. textPath?: DataLabelsTextPathOptionsObject;
  17192. /**
  17193. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  17194. * the labels.
  17195. */
  17196. useHTML?: boolean;
  17197. /**
  17198. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  17199. * label. Can be one of `top`, `middle` or `bottom`. The default value
  17200. * depends on the data, for instance in a column chart, the label is above
  17201. * positive values and below negative values.
  17202. */
  17203. verticalAlign?: (VerticalAlignValue|null);
  17204. /**
  17205. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  17206. * label relative to the point in pixels.
  17207. */
  17208. x?: number;
  17209. /**
  17210. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  17211. * label relative to the point in pixels.
  17212. */
  17213. y?: number;
  17214. /**
  17215. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  17216. * The default Z index puts it above the series. Use a Z index of 2 to
  17217. * display it behind the series.
  17218. */
  17219. z?: number;
  17220. }
  17221. /**
  17222. * (Highcharts, Highstock) Options for the series data sorting.
  17223. */
  17224. export interface PlotAdDataSortingOptions {
  17225. /**
  17226. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  17227. * Use xAxis.reversed to change the sorting order.
  17228. */
  17229. enabled?: boolean;
  17230. /**
  17231. * (Highcharts, Highstock) Whether to allow matching points by name in an
  17232. * update. If this option is disabled, points will be matched by order.
  17233. */
  17234. matchByName?: boolean;
  17235. /**
  17236. * (Highcharts, Highstock) Determines what data value should be used to sort
  17237. * by.
  17238. */
  17239. sortKey?: string;
  17240. }
  17241. /**
  17242. * (Highstock) Accumulation Distribution (AD). This series requires `linkedTo`
  17243. * option to be set.
  17244. *
  17245. * In TypeScript the type option must always be set.
  17246. *
  17247. * Configuration options for the series are given in three levels:
  17248. *
  17249. * 1. Options for all series in a chart are defined in the plotOptions.series
  17250. * object.
  17251. *
  17252. * 2. Options for all `ad` series are defined in plotOptions.ad.
  17253. *
  17254. * 3. Options for one single series are given in the series instance array. (see
  17255. * online documentation for example)
  17256. */
  17257. export interface PlotAdOptions {
  17258. /**
  17259. * (Highstock) Accessibility options for a series.
  17260. */
  17261. accessibility?: SeriesAccessibilityOptionsObject;
  17262. /**
  17263. * (Highstock) Allow this series' points to be selected by clicking on the
  17264. * graphic (columns, point markers, pie slices, map areas etc).
  17265. *
  17266. * The selected points can be handled by point select and unselect events,
  17267. * or collectively by the getSelectedPoints function.
  17268. *
  17269. * And alternative way of selecting points is through dragging.
  17270. */
  17271. allowPointSelect?: boolean;
  17272. /**
  17273. * (Highstock) Enable or disable the initial animation when a series is
  17274. * displayed. The animation can also be set as a configuration object.
  17275. * Please note that this option only applies to the initial animation of the
  17276. * series itself. For other animations, see chart.animation and the
  17277. * animation parameter under the API methods. The following properties are
  17278. * supported:
  17279. *
  17280. * - `defer`: The animation delay time in milliseconds.
  17281. *
  17282. * - `duration`: The duration of the animation in milliseconds.
  17283. *
  17284. * - `easing`: Can be a string reference to an easing function set on the
  17285. * `Math` object or a function. See the _Custom easing function_ demo below.
  17286. *
  17287. * Due to poor performance, animation is disabled in old IE browsers for
  17288. * several chart types.
  17289. */
  17290. animation?: (boolean|PlotAdAnimationOptions|Partial<AnimationOptionsObject>);
  17291. /**
  17292. * (Highstock) For some series, there is a limit that shuts down initial
  17293. * animation by default when the total number of points in the chart is too
  17294. * high. For example, for a column chart and its derivatives, animation does
  17295. * not run if there is more than 250 points totally. To disable this cap,
  17296. * set `animationLimit` to `Infinity`.
  17297. */
  17298. animationLimit?: number;
  17299. /**
  17300. * (Highstock) Sets the color blending in the boost module.
  17301. */
  17302. boostBlending?: OptionsBoostBlendingValue;
  17303. /**
  17304. * (Highstock) Set the point threshold for when a series should enter boost
  17305. * mode.
  17306. *
  17307. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  17308. * there are 2000 or more points in the series.
  17309. *
  17310. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  17311. * it to 1 will force boosting.
  17312. *
  17313. * Note that the cropThreshold also affects this setting. When zooming in on
  17314. * a series that has fewer points than the `cropThreshold`, all points are
  17315. * rendered although outside the visible plot area, and the `boostThreshold`
  17316. * won't take effect.
  17317. */
  17318. boostThreshold?: number;
  17319. /**
  17320. * (Highmaps) The border color of the map areas.
  17321. *
  17322. * In styled mode, the border stroke is given in the `.highcharts-point`
  17323. * class.
  17324. */
  17325. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17326. /**
  17327. * (Highmaps) The border width of each map area.
  17328. *
  17329. * In styled mode, the border stroke width is given in the
  17330. * `.highcharts-point` class.
  17331. */
  17332. borderWidth?: number;
  17333. /**
  17334. * (Highstock) An additional class name to apply to the series' graphical
  17335. * elements. This option does not replace default class names of the
  17336. * graphical element.
  17337. */
  17338. className?: string;
  17339. /**
  17340. * (Highstock) Disable this option to allow series rendering in the whole
  17341. * plotting area.
  17342. *
  17343. * **Note:** Clipping should be always enabled when chart.zoomType is set
  17344. */
  17345. clip?: boolean;
  17346. /**
  17347. * (Highstock) The main color of the series. In line type series it applies
  17348. * to the line and the point markers unless otherwise specified. In bar type
  17349. * series it applies to the bars unless a color is specified per point. The
  17350. * default value is pulled from the `options.colors` array.
  17351. *
  17352. * In styled mode, the color can be defined by the colorIndex option. Also,
  17353. * the series color can be set with the `.highcharts-series`,
  17354. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  17355. * `.highcharts-series-{n}` class, or individual classes given by the
  17356. * `className` option.
  17357. */
  17358. color?: (ColorString|GradientColorObject|PatternObject);
  17359. /**
  17360. * (Highstock) Styled mode only. A specific color index to use for the
  17361. * series, so its graphic representations are given the class name
  17362. * `highcharts-color-{n}`.
  17363. */
  17364. colorIndex?: number;
  17365. /**
  17366. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  17367. * used to calculate point color if `colorAxis` is used. Requires to set
  17368. * `min` and `max` if some custom point property is used or if approximation
  17369. * for data grouping is set to `'sum'`.
  17370. */
  17371. colorKey?: string;
  17372. /**
  17373. * (Highstock) Compare the values of the series against the first non-null,
  17374. * non- zero value in the visible range. The y axis will show percentage or
  17375. * absolute change depending on whether `compare` is set to `"percent"` or
  17376. * `"value"`. When this is applied to multiple series, it allows comparing
  17377. * the development of the series against each other. Adds a `change` field
  17378. * to every point object.
  17379. */
  17380. compare?: string;
  17381. /**
  17382. * (Highstock) When compare is `percent`, this option dictates whether to
  17383. * use 0 or 100 as the base of comparison.
  17384. */
  17385. compareBase?: (0|100);
  17386. /**
  17387. * (Highstock) Defines if comparison should start from the first point
  17388. * within the visible range or should start from the first point **before**
  17389. * the range.
  17390. *
  17391. * In other words, this flag determines if first point within the visible
  17392. * range will have 0% (`compareStart=true`) or should have been already
  17393. * calculated according to the previous point (`compareStart=false`).
  17394. */
  17395. compareStart?: boolean;
  17396. /**
  17397. * (Highstock) Whether to compare indicator to the main series values or
  17398. * indicator values.
  17399. */
  17400. compareToMain?: boolean;
  17401. /**
  17402. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  17403. * series plot across the extremes.
  17404. */
  17405. connectEnds?: boolean;
  17406. /**
  17407. * (Highcharts, Highstock) Whether to connect a graph line across null
  17408. * points, or render a gap between the two points on either side of the
  17409. * null.
  17410. */
  17411. connectNulls?: boolean;
  17412. /**
  17413. * (Gantt) Override Pathfinder connector options for a series. Requires
  17414. * Highcharts Gantt to be loaded.
  17415. */
  17416. connectors?: SeriesConnectorsOptionsObject;
  17417. /**
  17418. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  17419. * rounded to its nearest pixel in order to render sharp on screen. In some
  17420. * cases, when there are a lot of densely packed columns, this leads to
  17421. * visible difference in column widths or distance between columns. In these
  17422. * cases, setting `crisp` to `false` may look better, even though each
  17423. * column is rendered blurry.
  17424. */
  17425. crisp?: boolean;
  17426. /**
  17427. * (Highcharts, Highstock) When the series contains less points than the
  17428. * crop threshold, all points are drawn, even if the points fall outside the
  17429. * visible plot area at the current zoom. The advantage of drawing all
  17430. * points (including markers and columns), is that animation is performed on
  17431. * updates. On the other hand, when the series contains more points than the
  17432. * crop threshold, the series data is cropped to only contain points that
  17433. * fall within the plot area. The advantage of cropping away invisible
  17434. * points is to increase performance on large series.
  17435. */
  17436. cropThreshold?: number;
  17437. /**
  17438. * (Highstock) You can set the cursor to "pointer" if you have click events
  17439. * attached to the series, to signal to the user that the points and lines
  17440. * can be clicked.
  17441. *
  17442. * In styled mode, the series cursor can be set with the same classes as
  17443. * listed under series.color.
  17444. */
  17445. cursor?: (string|CursorValue);
  17446. /**
  17447. * (Highstock) A reserved subspace to store options and values for
  17448. * customized functionality. Here you can add additional data for your own
  17449. * event callbacks and formatter callbacks.
  17450. */
  17451. custom?: Dictionary<any>;
  17452. /**
  17453. * (Highstock) Name of the dash style to use for the graph, or for some
  17454. * series types the outline of each shape.
  17455. *
  17456. * In styled mode, the stroke dash-array can be set with the same classes as
  17457. * listed under series.color.
  17458. */
  17459. dashStyle?: DashStyleValue;
  17460. /**
  17461. * (Highstock) Data grouping is the concept of sampling the data values into
  17462. * larger blocks in order to ease readability and increase performance of
  17463. * the JavaScript charts. Highcharts Stock by default applies data grouping
  17464. * when the points become closer than a certain pixel value, determined by
  17465. * the `groupPixelWidth` option.
  17466. *
  17467. * If data grouping is applied, the grouping information of grouped points
  17468. * can be read from the Point.dataGroup. If point options other than the
  17469. * data itself are set, for example `name` or `color` or custom properties,
  17470. * the grouping logic doesn't know how to group it. In this case the options
  17471. * of the first point instance are copied over to the group point. This can
  17472. * be altered through a custom `approximation` callback function.
  17473. */
  17474. dataGrouping?: DataGroupingOptionsObject;
  17475. /**
  17476. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  17477. * labels, appearing next to each data point.
  17478. *
  17479. * Since v6.2.0, multiple data labels can be applied to each single point by
  17480. * defining them as an array of configs.
  17481. *
  17482. * In styled mode, the data labels can be styled with the
  17483. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  17484. * (see example).
  17485. */
  17486. dataLabels?: (PlotAdDataLabelsOptions|Array<PlotAdDataLabelsOptions>);
  17487. /**
  17488. * (Highcharts, Highstock) Options for the series data sorting.
  17489. */
  17490. dataSorting?: (DataSortingOptionsObject|PlotAdDataSortingOptions);
  17491. /**
  17492. * (Highstock) A description of the series to add to the screen reader
  17493. * information about the series.
  17494. */
  17495. description?: string;
  17496. /**
  17497. * (Highstock) Enable or disable the mouse tracking for a specific series.
  17498. * This includes point tooltips and click events on graphs and points. For
  17499. * large datasets it improves performance.
  17500. */
  17501. enableMouseTracking?: boolean;
  17502. /**
  17503. * (Highstock) General event handlers for the series items. These event
  17504. * hooks can also be attached to the series at run time using the
  17505. * `Highcharts.addEvent` function.
  17506. */
  17507. events?: SeriesEventsOptionsObject;
  17508. /**
  17509. * (Highstock) Determines whether the series should look for the nearest
  17510. * point in both dimensions or just the x-dimension when hovering the
  17511. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  17512. * series. If the data has duplicate x-values, it is recommended to set this
  17513. * to `'xy'` to allow hovering over all points.
  17514. *
  17515. * Applies only to series types using nearest neighbor search (not direct
  17516. * hover) for tooltip.
  17517. */
  17518. findNearestPointBy?: OptionsFindNearestPointByValue;
  17519. /**
  17520. * (Highstock) Defines when to display a gap in the graph, together with the
  17521. * gapUnit option.
  17522. *
  17523. * In case when `dataGrouping` is enabled, points can be grouped into a
  17524. * larger time span. This can make the grouped points to have a greater
  17525. * distance than the absolute value of `gapSize` property, which will result
  17526. * in disappearing graph completely. To prevent this situation the mentioned
  17527. * distance between grouped points is used instead of previously defined
  17528. * `gapSize`.
  17529. *
  17530. * In practice, this option is most often used to visualize gaps in time
  17531. * series. In a stock chart, intraday data is available for daytime hours,
  17532. * while gaps will appear in nights and weekends.
  17533. */
  17534. gapSize?: number;
  17535. /**
  17536. * (Highstock) Together with gapSize, this option defines where to draw gaps
  17537. * in the graph.
  17538. *
  17539. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  17540. * if the distance between two points is greater than 5 times that of the
  17541. * two closest points, the graph will be broken.
  17542. *
  17543. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  17544. * values, which on a datetime axis is milliseconds. This also applies to
  17545. * the navigator series that inherits gap options from the base series.
  17546. */
  17547. gapUnit?: OptionsGapUnitValue;
  17548. /**
  17549. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  17550. * chart width or only the zoomed area when zooming in on parts of the X
  17551. * axis. By default, the Y axis adjusts to the min and max of the visible
  17552. * data. Cartesian series only.
  17553. */
  17554. getExtremesFromAll?: boolean;
  17555. /**
  17556. * (Highstock) When set to `false` will prevent the series data from being
  17557. * included in any form of data export.
  17558. *
  17559. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  17560. * `includeInCSVExport`.
  17561. */
  17562. includeInDataExport?: boolean;
  17563. /**
  17564. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  17565. * series as possible in a natural way, seeking to avoid other series. The
  17566. * goal of this feature is to make the chart more easily readable, like if a
  17567. * human designer placed the labels in the optimal position.
  17568. *
  17569. * The series labels currently work with series types having a `graph` or an
  17570. * `area`.
  17571. */
  17572. label?: SeriesLabelOptionsObject;
  17573. /**
  17574. * (Highstock) The line marks the last price from all points.
  17575. */
  17576. lastPrice?: SeriesLastPriceOptionsObject;
  17577. /**
  17578. * (Highstock) The line marks the last price from visible range of points.
  17579. */
  17580. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  17581. /**
  17582. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  17583. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  17584. * the ends and bends.
  17585. */
  17586. linecap?: SeriesLinecapValue;
  17587. /**
  17588. * (Highcharts, Highstock) Pixel width of the graph line.
  17589. */
  17590. lineWidth?: number;
  17591. /**
  17592. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  17593. * based on. Required for this indicator.
  17594. */
  17595. linkedTo?: string;
  17596. /**
  17597. * (Highstock) Options for the point markers of line-like series. Properties
  17598. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  17599. * appearance of the markers. Other series types, like column series, don't
  17600. * have markers, but have visual options on the series level instead.
  17601. *
  17602. * In styled mode, the markers can be styled with the `.highcharts-point`,
  17603. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  17604. */
  17605. marker?: PointMarkerOptionsObject;
  17606. /**
  17607. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  17608. * If not set, it will be based on a technical indicator type and default
  17609. * params.
  17610. */
  17611. name?: string;
  17612. /**
  17613. * (Highstock) The color for the parts of the graph or points that are below
  17614. * the threshold. Note that `zones` takes precedence over the negative
  17615. * color. Using `negativeColor` is equivalent to applying a zone with value
  17616. * of 0.
  17617. */
  17618. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  17619. /**
  17620. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  17621. * dataLabels.
  17622. */
  17623. opacity?: number;
  17624. /**
  17625. * (Highstock) Paramters used in calculation of regression series' points.
  17626. */
  17627. params?: PlotAdParamsOptions;
  17628. /**
  17629. * (Highstock) Properties for each single point.
  17630. */
  17631. point?: PlotSeriesPointOptions;
  17632. /**
  17633. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  17634. * individual series. Overrides the chart wide configuration.
  17635. */
  17636. pointDescriptionFormatter?: Function;
  17637. /**
  17638. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  17639. * true, the checkbox next to the series name in the legend will be checked
  17640. * for a selected series.
  17641. */
  17642. selected?: boolean;
  17643. /**
  17644. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  17645. * the shadow can be an object configuration containing `color`, `offsetX`,
  17646. * `offsetY`, `opacity` and `width`.
  17647. */
  17648. shadow?: (boolean|ShadowOptionsObject);
  17649. /**
  17650. * (Highstock) If true, a checkbox is displayed next to the legend item to
  17651. * allow selecting the series. The state of the checkbox is determined by
  17652. * the `selected` option.
  17653. */
  17654. showCheckbox?: boolean;
  17655. /**
  17656. * (Highstock) Whether to display this particular series or series type in
  17657. * the legend. Standalone series are shown in legend by default, and linked
  17658. * series are not. Since v7.2.0 it is possible to show series that use
  17659. * colorAxis by setting this option to `true`.
  17660. */
  17661. showInLegend?: boolean;
  17662. /**
  17663. * (Highstock) If set to `true`, the accessibility module will skip past the
  17664. * points in this series for keyboard navigation.
  17665. */
  17666. skipKeyboardNavigation?: boolean;
  17667. /**
  17668. * (Highcharts, Highstock) When this is true, the series will not cause the
  17669. * Y axis to cross the zero plane (or threshold option) unless the data
  17670. * actually crosses the plane.
  17671. *
  17672. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  17673. * make the Y axis show negative values according to the `minPadding`
  17674. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  17675. */
  17676. softThreshold?: boolean;
  17677. states?: SeriesStatesOptionsObject;
  17678. /**
  17679. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  17680. * values are `left`, `center` and `right`.
  17681. */
  17682. step?: OptionsStepValue;
  17683. /**
  17684. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  17685. * event on a series isn't triggered until the mouse moves over another
  17686. * series, or out of the plot area. When false, the `mouseOut` event on a
  17687. * series is triggered when the mouse leaves the area around the series'
  17688. * graph or markers. This also implies the tooltip when not shared. When
  17689. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  17690. * be hidden when moving the mouse between series. Defaults to true for line
  17691. * and area type series, but to false for columns, pies etc.
  17692. *
  17693. * **Note:** The boost module will force this option because of technical
  17694. * limitations.
  17695. */
  17696. stickyTracking?: boolean;
  17697. /**
  17698. * (Highcharts, Highstock) The threshold, also called zero level or base
  17699. * level. For line type series this is only used in conjunction with
  17700. * negativeColor.
  17701. */
  17702. threshold?: (number|null);
  17703. /**
  17704. * (Highstock) A configuration object for the tooltip rendering of each
  17705. * single series. Properties are inherited from tooltip, but only the
  17706. * following properties can be defined on a series level.
  17707. */
  17708. tooltip?: SeriesTooltipOptionsObject;
  17709. /**
  17710. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  17711. * is longer than this, only one dimensional arrays of numbers, or two
  17712. * dimensional arrays with x and y values are allowed. Also, only the first
  17713. * point is tested, and the rest are assumed to be the same format. This
  17714. * saves expensive data checking and indexing in long series. Set it to `0`
  17715. * disable.
  17716. *
  17717. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  17718. * two dimensional arrays are allowed.
  17719. */
  17720. turboThreshold?: number;
  17721. /**
  17722. * (Highstock) Set the initial visibility of the series.
  17723. */
  17724. visible?: boolean;
  17725. /**
  17726. * (Highmaps) Define the z index of the series.
  17727. */
  17728. zIndex?: number;
  17729. /**
  17730. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  17731. */
  17732. zoneAxis?: string;
  17733. /**
  17734. * (Highcharts, Highstock) An array defining zones within a series. Zones
  17735. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  17736. * the `zoneAxis` option. The zone definitions have to be in ascending order
  17737. * regarding to the value.
  17738. *
  17739. * In styled mode, the color zones are styled with the
  17740. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  17741. * option (view live demo).
  17742. */
  17743. zones?: Array<SeriesZonesOptionsObject>;
  17744. }
  17745. /**
  17746. * (Highstock) Paramters used in calculation of regression series' points.
  17747. */
  17748. export interface PlotAdParamsOptions {
  17749. index?: string;
  17750. /**
  17751. * (Highstock) The base period for indicator calculations. This is the
  17752. * number of data points which are taken into account for the indicator
  17753. * calculations.
  17754. */
  17755. period?: number;
  17756. /**
  17757. * (Highstock) The id of volume series which is mandatory. For example using
  17758. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  17759. * using OHLC and volume values.
  17760. */
  17761. volumeSeriesID?: string;
  17762. }
  17763. /**
  17764. * (Highstock) Enable or disable the initial animation when a series is
  17765. * displayed. The animation can also be set as a configuration object. Please
  17766. * note that this option only applies to the initial animation of the series
  17767. * itself. For other animations, see chart.animation and the animation parameter
  17768. * under the API methods. The following properties are supported:
  17769. *
  17770. * - `defer`: The animation delay time in milliseconds.
  17771. *
  17772. * - `duration`: The duration of the animation in milliseconds.
  17773. *
  17774. * - `easing`: Can be a string reference to an easing function set on the `Math`
  17775. * object or a function. See the _Custom easing function_ demo below.
  17776. *
  17777. * Due to poor performance, animation is disabled in old IE browsers for several
  17778. * chart types.
  17779. */
  17780. export interface PlotAoAnimationOptions {
  17781. defer?: number;
  17782. }
  17783. /**
  17784. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17785. * animation when a series is displayed for the `dataLabels`. The animation can
  17786. * also be set as a configuration object. Please note that this option only
  17787. * applies to the initial animation. For other animations, see chart.animation
  17788. * and the animation parameter under the API methods. The following properties
  17789. * are supported:
  17790. *
  17791. * - `defer`: The animation delay time in milliseconds.
  17792. */
  17793. export interface PlotAoDataLabelsAnimationOptions {
  17794. /**
  17795. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  17796. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  17797. * inherits defer time from the series.animation.defer.
  17798. */
  17799. defer?: number;
  17800. }
  17801. /**
  17802. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  17803. * appearing next to each data point.
  17804. *
  17805. * Since v6.2.0, multiple data labels can be applied to each single point by
  17806. * defining them as an array of configs.
  17807. *
  17808. * In styled mode, the data labels can be styled with the
  17809. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  17810. * example).
  17811. */
  17812. export interface PlotAoDataLabelsOptions {
  17813. /**
  17814. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  17815. * compared to the point. If `right`, the right side of the label should be
  17816. * touching the point. For points with an extent, like columns, the
  17817. * alignments also dictates how to align it inside the box, as given with
  17818. * the inside option. Can be one of `left`, `center` or `right`.
  17819. */
  17820. align?: (AlignValue|null);
  17821. /**
  17822. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  17823. * overlap. To make the labels less sensitive for overlapping, the
  17824. * dataLabels.padding can be set to 0.
  17825. */
  17826. allowOverlap?: boolean;
  17827. /**
  17828. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  17829. * animation when a series is displayed for the `dataLabels`. The animation
  17830. * can also be set as a configuration object. Please note that this option
  17831. * only applies to the initial animation. For other animations, see
  17832. * chart.animation and the animation parameter under the API methods. The
  17833. * following properties are supported:
  17834. *
  17835. * - `defer`: The animation delay time in milliseconds.
  17836. */
  17837. animation?: (boolean|PlotAoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  17838. /**
  17839. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  17840. * for the data label.
  17841. */
  17842. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  17843. /**
  17844. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  17845. * label. Defaults to `undefined`.
  17846. */
  17847. borderColor?: (ColorString|GradientColorObject|PatternObject);
  17848. /**
  17849. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  17850. * the data label.
  17851. */
  17852. borderRadius?: number;
  17853. /**
  17854. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  17855. * the data label.
  17856. */
  17857. borderWidth?: number;
  17858. /**
  17859. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  17860. * Particularly in styled mode, this can be used to give each series' or
  17861. * point's data label unique styling. In addition to this option, a default
  17862. * color class name is added so that we can give the labels a contrast text
  17863. * shadow.
  17864. */
  17865. className?: string;
  17866. /**
  17867. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  17868. * labels. Defaults to `undefined`. For certain series types, like column or
  17869. * map, the data labels can be drawn inside the points. In this case the
  17870. * data label will be drawn with maximum contrast by default. Additionally,
  17871. * it will be given a `text-outline` style with the opposite color, to
  17872. * further increase the contrast. This can be overridden by setting the
  17873. * `text-outline` style to `none` in the `dataLabels.style` option.
  17874. */
  17875. color?: (ColorString|GradientColorObject|PatternObject);
  17876. /**
  17877. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  17878. * are outside the plot area. By default, the data label is moved inside the
  17879. * plot area according to the overflow option.
  17880. */
  17881. crop?: boolean;
  17882. /**
  17883. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  17884. * labels until the initial series animation has finished. Setting to
  17885. * `false` renders the data label immediately. If set to `true` inherits the
  17886. * defer time set in plotOptions.series.animation. If set to a number, a
  17887. * defer time is specified in milliseconds.
  17888. */
  17889. defer?: (boolean|number);
  17890. /**
  17891. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  17892. * labels.
  17893. */
  17894. enabled?: boolean;
  17895. /**
  17896. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  17897. * of which data labels to display. The declarative filter is designed for
  17898. * use when callback functions are not available, like when the chart
  17899. * options require a pure JSON structure or for use with graphical editors.
  17900. * For programmatic control, use the `formatter` instead, and return
  17901. * `undefined` to disable a single data label.
  17902. */
  17903. filter?: DataLabelsFilterOptionsObject;
  17904. /**
  17905. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  17906. * label. Available variables are the same as for `formatter`.
  17907. */
  17908. format?: string;
  17909. /**
  17910. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  17911. * format the data label. Note that if a `format` is defined, the format
  17912. * takes precedence and the formatter is ignored.
  17913. */
  17914. formatter?: DataLabelsFormatterCallbackFunction;
  17915. /**
  17916. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  17917. * columns or map areas, whether to align the data label inside the box or
  17918. * to the actual value point. Defaults to `false` in most cases, `true` in
  17919. * stacked columns.
  17920. */
  17921. inside?: boolean;
  17922. /**
  17923. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  17924. * of null. Works analogously to format. `nullFormat` can be applied only to
  17925. * series which support displaying null points.
  17926. */
  17927. nullFormat?: (boolean|string);
  17928. /**
  17929. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  17930. * that defines formatting for points with the value of null. Works
  17931. * analogously to formatter. `nullPointFormatter` can be applied only to
  17932. * series which support displaying null points.
  17933. */
  17934. nullFormatter?: DataLabelsFormatterCallbackFunction;
  17935. /**
  17936. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  17937. * flow outside the plot area. The default is `"justify"`, which aligns them
  17938. * inside the plot area. For columns and bars, this means it will be moved
  17939. * inside the bar. To display data labels outside the plot area, set `crop`
  17940. * to `false` and `overflow` to `"allow"`.
  17941. */
  17942. overflow?: DataLabelsOverflowValue;
  17943. /**
  17944. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  17945. * the `backgroundColor` is set, this is the padding within the box.
  17946. */
  17947. padding?: number;
  17948. /**
  17949. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  17950. * points. If `center` alignment is not possible, it defaults to `right`.
  17951. */
  17952. position?: AlignValue;
  17953. /**
  17954. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  17955. * that due to a more complex structure, backgrounds, borders and padding
  17956. * will be lost on a rotated data label.
  17957. */
  17958. rotation?: number;
  17959. /**
  17960. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  17961. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  17962. * an object configuration containing `color`, `offsetX`, `offsetY`,
  17963. * `opacity` and `width`.
  17964. */
  17965. shadow?: (boolean|ShadowOptionsObject);
  17966. /**
  17967. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  17968. * the border around the label. Symbols are predefined functions on the
  17969. * Renderer object.
  17970. */
  17971. shape?: string;
  17972. /**
  17973. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  17974. * default `color` setting is `"contrast"`, which is a pseudo color that
  17975. * Highcharts picks up and applies the maximum contrast to the underlying
  17976. * point item, for example the bar in a bar chart.
  17977. *
  17978. * The `textOutline` is a pseudo property that applies an outline of the
  17979. * given width with the given color, which by default is the maximum
  17980. * contrast to the text. So a bright text color will result in a black text
  17981. * outline for maximum readability on a mixed background. In some cases,
  17982. * especially with grayscale text, the text outline doesn't work well, in
  17983. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  17984. * is true, the `textOutline` will not be picked up. In this, case, the same
  17985. * effect can be acheived through the `text-shadow` CSS property.
  17986. *
  17987. * For some series types, where each point has an extent, like for example
  17988. * tree maps, the data label may overflow the point. There are two
  17989. * strategies for handling overflow. By default, the text will wrap to
  17990. * multiple lines. The other strategy is to set `style.textOverflow` to
  17991. * `ellipsis`, which will keep the text on one line plus it will break
  17992. * inside long words.
  17993. */
  17994. style?: CSSObject;
  17995. /**
  17996. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  17997. * should follow marker's shape. Border and background are disabled for a
  17998. * label that follows a path.
  17999. *
  18000. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  18001. * to true will disable this option.
  18002. */
  18003. textPath?: DataLabelsTextPathOptionsObject;
  18004. /**
  18005. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  18006. * the labels.
  18007. */
  18008. useHTML?: boolean;
  18009. /**
  18010. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  18011. * label. Can be one of `top`, `middle` or `bottom`. The default value
  18012. * depends on the data, for instance in a column chart, the label is above
  18013. * positive values and below negative values.
  18014. */
  18015. verticalAlign?: (VerticalAlignValue|null);
  18016. /**
  18017. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  18018. * label relative to the point in pixels.
  18019. */
  18020. x?: number;
  18021. /**
  18022. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  18023. * label relative to the point in pixels.
  18024. */
  18025. y?: number;
  18026. /**
  18027. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  18028. * The default Z index puts it above the series. Use a Z index of 2 to
  18029. * display it behind the series.
  18030. */
  18031. z?: number;
  18032. }
  18033. /**
  18034. * (Highcharts, Highstock) Options for the series data sorting.
  18035. */
  18036. export interface PlotAoDataSortingOptions {
  18037. /**
  18038. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  18039. * Use xAxis.reversed to change the sorting order.
  18040. */
  18041. enabled?: boolean;
  18042. /**
  18043. * (Highcharts, Highstock) Whether to allow matching points by name in an
  18044. * update. If this option is disabled, points will be matched by order.
  18045. */
  18046. matchByName?: boolean;
  18047. /**
  18048. * (Highcharts, Highstock) Determines what data value should be used to sort
  18049. * by.
  18050. */
  18051. sortKey?: string;
  18052. }
  18053. /**
  18054. * (Highstock) Awesome Oscillator. This series requires the `linkedTo` option to
  18055. * be set and should be loaded after the `stock/indicators/indicators.js`
  18056. *
  18057. * In TypeScript the type option must always be set.
  18058. *
  18059. * Configuration options for the series are given in three levels:
  18060. *
  18061. * 1. Options for all series in a chart are defined in the plotOptions.series
  18062. * object.
  18063. *
  18064. * 2. Options for all `ao` series are defined in plotOptions.ao.
  18065. *
  18066. * 3. Options for one single series are given in the series instance array. (see
  18067. * online documentation for example)
  18068. */
  18069. export interface PlotAoOptions {
  18070. /**
  18071. * (Highstock) Accessibility options for a series.
  18072. */
  18073. accessibility?: SeriesAccessibilityOptionsObject;
  18074. /**
  18075. * (Highstock) Allow this series' points to be selected by clicking on the
  18076. * graphic (columns, point markers, pie slices, map areas etc).
  18077. *
  18078. * The selected points can be handled by point select and unselect events,
  18079. * or collectively by the getSelectedPoints function.
  18080. *
  18081. * And alternative way of selecting points is through dragging.
  18082. */
  18083. allowPointSelect?: boolean;
  18084. /**
  18085. * (Highstock) Enable or disable the initial animation when a series is
  18086. * displayed. The animation can also be set as a configuration object.
  18087. * Please note that this option only applies to the initial animation of the
  18088. * series itself. For other animations, see chart.animation and the
  18089. * animation parameter under the API methods. The following properties are
  18090. * supported:
  18091. *
  18092. * - `defer`: The animation delay time in milliseconds.
  18093. *
  18094. * - `duration`: The duration of the animation in milliseconds.
  18095. *
  18096. * - `easing`: Can be a string reference to an easing function set on the
  18097. * `Math` object or a function. See the _Custom easing function_ demo below.
  18098. *
  18099. * Due to poor performance, animation is disabled in old IE browsers for
  18100. * several chart types.
  18101. */
  18102. animation?: (boolean|PlotAoAnimationOptions|Partial<AnimationOptionsObject>);
  18103. /**
  18104. * (Highstock) For some series, there is a limit that shuts down initial
  18105. * animation by default when the total number of points in the chart is too
  18106. * high. For example, for a column chart and its derivatives, animation does
  18107. * not run if there is more than 250 points totally. To disable this cap,
  18108. * set `animationLimit` to `Infinity`.
  18109. */
  18110. animationLimit?: number;
  18111. /**
  18112. * (Highstock) Sets the color blending in the boost module.
  18113. */
  18114. boostBlending?: OptionsBoostBlendingValue;
  18115. /**
  18116. * (Highstock) Set the point threshold for when a series should enter boost
  18117. * mode.
  18118. *
  18119. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  18120. * there are 2000 or more points in the series.
  18121. *
  18122. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  18123. * it to 1 will force boosting.
  18124. *
  18125. * Note that the cropThreshold also affects this setting. When zooming in on
  18126. * a series that has fewer points than the `cropThreshold`, all points are
  18127. * rendered although outside the visible plot area, and the `boostThreshold`
  18128. * won't take effect.
  18129. */
  18130. boostThreshold?: number;
  18131. /**
  18132. * (Highmaps) The border color of the map areas.
  18133. *
  18134. * In styled mode, the border stroke is given in the `.highcharts-point`
  18135. * class.
  18136. */
  18137. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18138. /**
  18139. * (Highmaps) The border width of each map area.
  18140. *
  18141. * In styled mode, the border stroke width is given in the
  18142. * `.highcharts-point` class.
  18143. */
  18144. borderWidth?: number;
  18145. /**
  18146. * (Highstock) An additional class name to apply to the series' graphical
  18147. * elements. This option does not replace default class names of the
  18148. * graphical element.
  18149. */
  18150. className?: string;
  18151. /**
  18152. * (Highstock) Disable this option to allow series rendering in the whole
  18153. * plotting area.
  18154. *
  18155. * **Note:** Clipping should be always enabled when chart.zoomType is set
  18156. */
  18157. clip?: boolean;
  18158. /**
  18159. * (Highstock) The main color of the series. In line type series it applies
  18160. * to the line and the point markers unless otherwise specified. In bar type
  18161. * series it applies to the bars unless a color is specified per point. The
  18162. * default value is pulled from the `options.colors` array.
  18163. *
  18164. * In styled mode, the color can be defined by the colorIndex option. Also,
  18165. * the series color can be set with the `.highcharts-series`,
  18166. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  18167. * `.highcharts-series-{n}` class, or individual classes given by the
  18168. * `className` option.
  18169. */
  18170. color?: (ColorString|GradientColorObject|PatternObject);
  18171. /**
  18172. * (Highstock) Styled mode only. A specific color index to use for the
  18173. * series, so its graphic representations are given the class name
  18174. * `highcharts-color-{n}`.
  18175. */
  18176. colorIndex?: number;
  18177. /**
  18178. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  18179. * used to calculate point color if `colorAxis` is used. Requires to set
  18180. * `min` and `max` if some custom point property is used or if approximation
  18181. * for data grouping is set to `'sum'`.
  18182. */
  18183. colorKey?: string;
  18184. /**
  18185. * (Highstock) Compare the values of the series against the first non-null,
  18186. * non- zero value in the visible range. The y axis will show percentage or
  18187. * absolute change depending on whether `compare` is set to `"percent"` or
  18188. * `"value"`. When this is applied to multiple series, it allows comparing
  18189. * the development of the series against each other. Adds a `change` field
  18190. * to every point object.
  18191. */
  18192. compare?: string;
  18193. /**
  18194. * (Highstock) When compare is `percent`, this option dictates whether to
  18195. * use 0 or 100 as the base of comparison.
  18196. */
  18197. compareBase?: (0|100);
  18198. /**
  18199. * (Highstock) Defines if comparison should start from the first point
  18200. * within the visible range or should start from the first point **before**
  18201. * the range.
  18202. *
  18203. * In other words, this flag determines if first point within the visible
  18204. * range will have 0% (`compareStart=true`) or should have been already
  18205. * calculated according to the previous point (`compareStart=false`).
  18206. */
  18207. compareStart?: boolean;
  18208. /**
  18209. * (Highstock) Whether to compare indicator to the main series values or
  18210. * indicator values.
  18211. */
  18212. compareToMain?: boolean;
  18213. /**
  18214. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  18215. * series plot across the extremes.
  18216. */
  18217. connectEnds?: boolean;
  18218. /**
  18219. * (Highcharts, Highstock) Whether to connect a graph line across null
  18220. * points, or render a gap between the two points on either side of the
  18221. * null.
  18222. */
  18223. connectNulls?: boolean;
  18224. /**
  18225. * (Gantt) Override Pathfinder connector options for a series. Requires
  18226. * Highcharts Gantt to be loaded.
  18227. */
  18228. connectors?: SeriesConnectorsOptionsObject;
  18229. /**
  18230. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  18231. * rounded to its nearest pixel in order to render sharp on screen. In some
  18232. * cases, when there are a lot of densely packed columns, this leads to
  18233. * visible difference in column widths or distance between columns. In these
  18234. * cases, setting `crisp` to `false` may look better, even though each
  18235. * column is rendered blurry.
  18236. */
  18237. crisp?: boolean;
  18238. /**
  18239. * (Highcharts, Highstock) When the series contains less points than the
  18240. * crop threshold, all points are drawn, even if the points fall outside the
  18241. * visible plot area at the current zoom. The advantage of drawing all
  18242. * points (including markers and columns), is that animation is performed on
  18243. * updates. On the other hand, when the series contains more points than the
  18244. * crop threshold, the series data is cropped to only contain points that
  18245. * fall within the plot area. The advantage of cropping away invisible
  18246. * points is to increase performance on large series.
  18247. */
  18248. cropThreshold?: number;
  18249. /**
  18250. * (Highstock) You can set the cursor to "pointer" if you have click events
  18251. * attached to the series, to signal to the user that the points and lines
  18252. * can be clicked.
  18253. *
  18254. * In styled mode, the series cursor can be set with the same classes as
  18255. * listed under series.color.
  18256. */
  18257. cursor?: (string|CursorValue);
  18258. /**
  18259. * (Highstock) A reserved subspace to store options and values for
  18260. * customized functionality. Here you can add additional data for your own
  18261. * event callbacks and formatter callbacks.
  18262. */
  18263. custom?: Dictionary<any>;
  18264. /**
  18265. * (Highstock) Name of the dash style to use for the graph, or for some
  18266. * series types the outline of each shape.
  18267. *
  18268. * In styled mode, the stroke dash-array can be set with the same classes as
  18269. * listed under series.color.
  18270. */
  18271. dashStyle?: DashStyleValue;
  18272. /**
  18273. * (Highstock) Data grouping is the concept of sampling the data values into
  18274. * larger blocks in order to ease readability and increase performance of
  18275. * the JavaScript charts. Highcharts Stock by default applies data grouping
  18276. * when the points become closer than a certain pixel value, determined by
  18277. * the `groupPixelWidth` option.
  18278. *
  18279. * If data grouping is applied, the grouping information of grouped points
  18280. * can be read from the Point.dataGroup. If point options other than the
  18281. * data itself are set, for example `name` or `color` or custom properties,
  18282. * the grouping logic doesn't know how to group it. In this case the options
  18283. * of the first point instance are copied over to the group point. This can
  18284. * be altered through a custom `approximation` callback function.
  18285. */
  18286. dataGrouping?: DataGroupingOptionsObject;
  18287. /**
  18288. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  18289. * labels, appearing next to each data point.
  18290. *
  18291. * Since v6.2.0, multiple data labels can be applied to each single point by
  18292. * defining them as an array of configs.
  18293. *
  18294. * In styled mode, the data labels can be styled with the
  18295. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  18296. * (see example).
  18297. */
  18298. dataLabels?: (PlotAoDataLabelsOptions|Array<PlotAoDataLabelsOptions>);
  18299. /**
  18300. * (Highcharts, Highstock) Options for the series data sorting.
  18301. */
  18302. dataSorting?: (DataSortingOptionsObject|PlotAoDataSortingOptions);
  18303. /**
  18304. * (Highstock) A description of the series to add to the screen reader
  18305. * information about the series.
  18306. */
  18307. description?: string;
  18308. /**
  18309. * (Highstock) Enable or disable the mouse tracking for a specific series.
  18310. * This includes point tooltips and click events on graphs and points. For
  18311. * large datasets it improves performance.
  18312. */
  18313. enableMouseTracking?: boolean;
  18314. /**
  18315. * (Highstock) General event handlers for the series items. These event
  18316. * hooks can also be attached to the series at run time using the
  18317. * `Highcharts.addEvent` function.
  18318. */
  18319. events?: SeriesEventsOptionsObject;
  18320. /**
  18321. * (Highstock) Determines whether the series should look for the nearest
  18322. * point in both dimensions or just the x-dimension when hovering the
  18323. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  18324. * series. If the data has duplicate x-values, it is recommended to set this
  18325. * to `'xy'` to allow hovering over all points.
  18326. *
  18327. * Applies only to series types using nearest neighbor search (not direct
  18328. * hover) for tooltip.
  18329. */
  18330. findNearestPointBy?: OptionsFindNearestPointByValue;
  18331. /**
  18332. * (Highstock) Defines when to display a gap in the graph, together with the
  18333. * gapUnit option.
  18334. *
  18335. * In case when `dataGrouping` is enabled, points can be grouped into a
  18336. * larger time span. This can make the grouped points to have a greater
  18337. * distance than the absolute value of `gapSize` property, which will result
  18338. * in disappearing graph completely. To prevent this situation the mentioned
  18339. * distance between grouped points is used instead of previously defined
  18340. * `gapSize`.
  18341. *
  18342. * In practice, this option is most often used to visualize gaps in time
  18343. * series. In a stock chart, intraday data is available for daytime hours,
  18344. * while gaps will appear in nights and weekends.
  18345. */
  18346. gapSize?: number;
  18347. /**
  18348. * (Highstock) Together with gapSize, this option defines where to draw gaps
  18349. * in the graph.
  18350. *
  18351. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  18352. * if the distance between two points is greater than 5 times that of the
  18353. * two closest points, the graph will be broken.
  18354. *
  18355. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  18356. * values, which on a datetime axis is milliseconds. This also applies to
  18357. * the navigator series that inherits gap options from the base series.
  18358. */
  18359. gapUnit?: OptionsGapUnitValue;
  18360. /**
  18361. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  18362. * chart width or only the zoomed area when zooming in on parts of the X
  18363. * axis. By default, the Y axis adjusts to the min and max of the visible
  18364. * data. Cartesian series only.
  18365. */
  18366. getExtremesFromAll?: boolean;
  18367. /**
  18368. * (Highstock) Color of the Awesome oscillator series bar that is greater
  18369. * than the previous one. Note that if a `color` is defined, the `color`
  18370. * takes precedence and the `greaterBarColor` is ignored.
  18371. */
  18372. greaterBarColor?: (ColorString|GradientColorObject|PatternObject);
  18373. groupPadding?: number;
  18374. /**
  18375. * (Highstock) When set to `false` will prevent the series data from being
  18376. * included in any form of data export.
  18377. *
  18378. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  18379. * `includeInCSVExport`.
  18380. */
  18381. includeInDataExport?: boolean;
  18382. /**
  18383. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  18384. * series as possible in a natural way, seeking to avoid other series. The
  18385. * goal of this feature is to make the chart more easily readable, like if a
  18386. * human designer placed the labels in the optimal position.
  18387. *
  18388. * The series labels currently work with series types having a `graph` or an
  18389. * `area`.
  18390. */
  18391. label?: SeriesLabelOptionsObject;
  18392. /**
  18393. * (Highstock) The line marks the last price from all points.
  18394. */
  18395. lastPrice?: SeriesLastPriceOptionsObject;
  18396. /**
  18397. * (Highstock) The line marks the last price from visible range of points.
  18398. */
  18399. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  18400. /**
  18401. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  18402. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  18403. * the ends and bends.
  18404. */
  18405. linecap?: SeriesLinecapValue;
  18406. /**
  18407. * (Highcharts, Highstock) Pixel width of the graph line.
  18408. */
  18409. lineWidth?: number;
  18410. /**
  18411. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  18412. * based on. Required for this indicator.
  18413. */
  18414. linkedTo?: string;
  18415. /**
  18416. * (Highstock) Color of the Awesome oscillator series bar that is lower than
  18417. * the previous one. Note that if a `color` is defined, the `color` takes
  18418. * precedence and the `lowerBarColor` is ignored.
  18419. */
  18420. lowerBarColor?: (ColorString|GradientColorObject|PatternObject);
  18421. /**
  18422. * (Highstock) Options for the point markers of line-like series. Properties
  18423. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  18424. * appearance of the markers. Other series types, like column series, don't
  18425. * have markers, but have visual options on the series level instead.
  18426. *
  18427. * In styled mode, the markers can be styled with the `.highcharts-point`,
  18428. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  18429. */
  18430. marker?: PointMarkerOptionsObject;
  18431. /**
  18432. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  18433. * If not set, it will be based on a technical indicator type and default
  18434. * params.
  18435. */
  18436. name?: string;
  18437. /**
  18438. * (Highstock) The color for the parts of the graph or points that are below
  18439. * the threshold. Note that `zones` takes precedence over the negative
  18440. * color. Using `negativeColor` is equivalent to applying a zone with value
  18441. * of 0.
  18442. */
  18443. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  18444. /**
  18445. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  18446. * dataLabels.
  18447. */
  18448. opacity?: number;
  18449. params?: PlotAoParamsOptions;
  18450. /**
  18451. * (Highstock) Properties for each single point.
  18452. */
  18453. point?: PlotSeriesPointOptions;
  18454. /**
  18455. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  18456. * individual series. Overrides the chart wide configuration.
  18457. */
  18458. pointDescriptionFormatter?: Function;
  18459. pointPadding?: number;
  18460. /**
  18461. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  18462. * true, the checkbox next to the series name in the legend will be checked
  18463. * for a selected series.
  18464. */
  18465. selected?: boolean;
  18466. /**
  18467. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  18468. * the shadow can be an object configuration containing `color`, `offsetX`,
  18469. * `offsetY`, `opacity` and `width`.
  18470. */
  18471. shadow?: (boolean|ShadowOptionsObject);
  18472. /**
  18473. * (Highstock) If true, a checkbox is displayed next to the legend item to
  18474. * allow selecting the series. The state of the checkbox is determined by
  18475. * the `selected` option.
  18476. */
  18477. showCheckbox?: boolean;
  18478. /**
  18479. * (Highstock) Whether to display this particular series or series type in
  18480. * the legend. Standalone series are shown in legend by default, and linked
  18481. * series are not. Since v7.2.0 it is possible to show series that use
  18482. * colorAxis by setting this option to `true`.
  18483. */
  18484. showInLegend?: boolean;
  18485. /**
  18486. * (Highstock) If set to `true`, the accessibility module will skip past the
  18487. * points in this series for keyboard navigation.
  18488. */
  18489. skipKeyboardNavigation?: boolean;
  18490. /**
  18491. * (Highcharts, Highstock) When this is true, the series will not cause the
  18492. * Y axis to cross the zero plane (or threshold option) unless the data
  18493. * actually crosses the plane.
  18494. *
  18495. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  18496. * make the Y axis show negative values according to the `minPadding`
  18497. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  18498. */
  18499. softThreshold?: boolean;
  18500. states?: SeriesStatesOptionsObject;
  18501. /**
  18502. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  18503. * values are `left`, `center` and `right`.
  18504. */
  18505. step?: OptionsStepValue;
  18506. /**
  18507. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  18508. * event on a series isn't triggered until the mouse moves over another
  18509. * series, or out of the plot area. When false, the `mouseOut` event on a
  18510. * series is triggered when the mouse leaves the area around the series'
  18511. * graph or markers. This also implies the tooltip when not shared. When
  18512. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  18513. * be hidden when moving the mouse between series. Defaults to true for line
  18514. * and area type series, but to false for columns, pies etc.
  18515. *
  18516. * **Note:** The boost module will force this option because of technical
  18517. * limitations.
  18518. */
  18519. stickyTracking?: boolean;
  18520. /**
  18521. * (Highcharts, Highstock) The threshold, also called zero level or base
  18522. * level. For line type series this is only used in conjunction with
  18523. * negativeColor.
  18524. */
  18525. threshold?: number;
  18526. /**
  18527. * (Highstock) A configuration object for the tooltip rendering of each
  18528. * single series. Properties are inherited from tooltip, but only the
  18529. * following properties can be defined on a series level.
  18530. */
  18531. tooltip?: SeriesTooltipOptionsObject;
  18532. /**
  18533. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  18534. * is longer than this, only one dimensional arrays of numbers, or two
  18535. * dimensional arrays with x and y values are allowed. Also, only the first
  18536. * point is tested, and the rest are assumed to be the same format. This
  18537. * saves expensive data checking and indexing in long series. Set it to `0`
  18538. * disable.
  18539. *
  18540. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  18541. * two dimensional arrays are allowed.
  18542. */
  18543. turboThreshold?: number;
  18544. /**
  18545. * (Highstock) Set the initial visibility of the series.
  18546. */
  18547. visible?: boolean;
  18548. /**
  18549. * (Highmaps) Define the z index of the series.
  18550. */
  18551. zIndex?: number;
  18552. /**
  18553. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  18554. */
  18555. zoneAxis?: string;
  18556. /**
  18557. * (Highcharts, Highstock) An array defining zones within a series. Zones
  18558. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  18559. * the `zoneAxis` option. The zone definitions have to be in ascending order
  18560. * regarding to the value.
  18561. *
  18562. * In styled mode, the color zones are styled with the
  18563. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  18564. * option (view live demo).
  18565. */
  18566. zones?: Array<SeriesZonesOptionsObject>;
  18567. }
  18568. export interface PlotAoParamsOptions {
  18569. index?: string;
  18570. period?: string;
  18571. }
  18572. /**
  18573. * (Highstock) Enable or disable the initial animation when a series is
  18574. * displayed. The animation can also be set as a configuration object. Please
  18575. * note that this option only applies to the initial animation of the series
  18576. * itself. For other animations, see chart.animation and the animation parameter
  18577. * under the API methods. The following properties are supported:
  18578. *
  18579. * - `defer`: The animation delay time in milliseconds.
  18580. *
  18581. * - `duration`: The duration of the animation in milliseconds.
  18582. *
  18583. * - `easing`: Can be a string reference to an easing function set on the `Math`
  18584. * object or a function. See the _Custom easing function_ demo below.
  18585. *
  18586. * Due to poor performance, animation is disabled in old IE browsers for several
  18587. * chart types.
  18588. */
  18589. export interface PlotApoAnimationOptions {
  18590. defer?: number;
  18591. }
  18592. /**
  18593. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18594. * animation when a series is displayed for the `dataLabels`. The animation can
  18595. * also be set as a configuration object. Please note that this option only
  18596. * applies to the initial animation. For other animations, see chart.animation
  18597. * and the animation parameter under the API methods. The following properties
  18598. * are supported:
  18599. *
  18600. * - `defer`: The animation delay time in milliseconds.
  18601. */
  18602. export interface PlotApoDataLabelsAnimationOptions {
  18603. /**
  18604. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  18605. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  18606. * inherits defer time from the series.animation.defer.
  18607. */
  18608. defer?: number;
  18609. }
  18610. /**
  18611. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  18612. * appearing next to each data point.
  18613. *
  18614. * Since v6.2.0, multiple data labels can be applied to each single point by
  18615. * defining them as an array of configs.
  18616. *
  18617. * In styled mode, the data labels can be styled with the
  18618. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  18619. * example).
  18620. */
  18621. export interface PlotApoDataLabelsOptions {
  18622. /**
  18623. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  18624. * compared to the point. If `right`, the right side of the label should be
  18625. * touching the point. For points with an extent, like columns, the
  18626. * alignments also dictates how to align it inside the box, as given with
  18627. * the inside option. Can be one of `left`, `center` or `right`.
  18628. */
  18629. align?: (AlignValue|null);
  18630. /**
  18631. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  18632. * overlap. To make the labels less sensitive for overlapping, the
  18633. * dataLabels.padding can be set to 0.
  18634. */
  18635. allowOverlap?: boolean;
  18636. /**
  18637. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  18638. * animation when a series is displayed for the `dataLabels`. The animation
  18639. * can also be set as a configuration object. Please note that this option
  18640. * only applies to the initial animation. For other animations, see
  18641. * chart.animation and the animation parameter under the API methods. The
  18642. * following properties are supported:
  18643. *
  18644. * - `defer`: The animation delay time in milliseconds.
  18645. */
  18646. animation?: (boolean|PlotApoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  18647. /**
  18648. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  18649. * for the data label.
  18650. */
  18651. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  18652. /**
  18653. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  18654. * label. Defaults to `undefined`.
  18655. */
  18656. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18657. /**
  18658. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  18659. * the data label.
  18660. */
  18661. borderRadius?: number;
  18662. /**
  18663. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  18664. * the data label.
  18665. */
  18666. borderWidth?: number;
  18667. /**
  18668. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  18669. * Particularly in styled mode, this can be used to give each series' or
  18670. * point's data label unique styling. In addition to this option, a default
  18671. * color class name is added so that we can give the labels a contrast text
  18672. * shadow.
  18673. */
  18674. className?: string;
  18675. /**
  18676. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  18677. * labels. Defaults to `undefined`. For certain series types, like column or
  18678. * map, the data labels can be drawn inside the points. In this case the
  18679. * data label will be drawn with maximum contrast by default. Additionally,
  18680. * it will be given a `text-outline` style with the opposite color, to
  18681. * further increase the contrast. This can be overridden by setting the
  18682. * `text-outline` style to `none` in the `dataLabels.style` option.
  18683. */
  18684. color?: (ColorString|GradientColorObject|PatternObject);
  18685. /**
  18686. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  18687. * are outside the plot area. By default, the data label is moved inside the
  18688. * plot area according to the overflow option.
  18689. */
  18690. crop?: boolean;
  18691. /**
  18692. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  18693. * labels until the initial series animation has finished. Setting to
  18694. * `false` renders the data label immediately. If set to `true` inherits the
  18695. * defer time set in plotOptions.series.animation. If set to a number, a
  18696. * defer time is specified in milliseconds.
  18697. */
  18698. defer?: (boolean|number);
  18699. /**
  18700. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  18701. * labels.
  18702. */
  18703. enabled?: boolean;
  18704. /**
  18705. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  18706. * of which data labels to display. The declarative filter is designed for
  18707. * use when callback functions are not available, like when the chart
  18708. * options require a pure JSON structure or for use with graphical editors.
  18709. * For programmatic control, use the `formatter` instead, and return
  18710. * `undefined` to disable a single data label.
  18711. */
  18712. filter?: DataLabelsFilterOptionsObject;
  18713. /**
  18714. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  18715. * label. Available variables are the same as for `formatter`.
  18716. */
  18717. format?: string;
  18718. /**
  18719. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  18720. * format the data label. Note that if a `format` is defined, the format
  18721. * takes precedence and the formatter is ignored.
  18722. */
  18723. formatter?: DataLabelsFormatterCallbackFunction;
  18724. /**
  18725. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  18726. * columns or map areas, whether to align the data label inside the box or
  18727. * to the actual value point. Defaults to `false` in most cases, `true` in
  18728. * stacked columns.
  18729. */
  18730. inside?: boolean;
  18731. /**
  18732. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  18733. * of null. Works analogously to format. `nullFormat` can be applied only to
  18734. * series which support displaying null points.
  18735. */
  18736. nullFormat?: (boolean|string);
  18737. /**
  18738. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  18739. * that defines formatting for points with the value of null. Works
  18740. * analogously to formatter. `nullPointFormatter` can be applied only to
  18741. * series which support displaying null points.
  18742. */
  18743. nullFormatter?: DataLabelsFormatterCallbackFunction;
  18744. /**
  18745. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  18746. * flow outside the plot area. The default is `"justify"`, which aligns them
  18747. * inside the plot area. For columns and bars, this means it will be moved
  18748. * inside the bar. To display data labels outside the plot area, set `crop`
  18749. * to `false` and `overflow` to `"allow"`.
  18750. */
  18751. overflow?: DataLabelsOverflowValue;
  18752. /**
  18753. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  18754. * the `backgroundColor` is set, this is the padding within the box.
  18755. */
  18756. padding?: number;
  18757. /**
  18758. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  18759. * points. If `center` alignment is not possible, it defaults to `right`.
  18760. */
  18761. position?: AlignValue;
  18762. /**
  18763. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  18764. * that due to a more complex structure, backgrounds, borders and padding
  18765. * will be lost on a rotated data label.
  18766. */
  18767. rotation?: number;
  18768. /**
  18769. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  18770. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  18771. * an object configuration containing `color`, `offsetX`, `offsetY`,
  18772. * `opacity` and `width`.
  18773. */
  18774. shadow?: (boolean|ShadowOptionsObject);
  18775. /**
  18776. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  18777. * the border around the label. Symbols are predefined functions on the
  18778. * Renderer object.
  18779. */
  18780. shape?: string;
  18781. /**
  18782. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  18783. * default `color` setting is `"contrast"`, which is a pseudo color that
  18784. * Highcharts picks up and applies the maximum contrast to the underlying
  18785. * point item, for example the bar in a bar chart.
  18786. *
  18787. * The `textOutline` is a pseudo property that applies an outline of the
  18788. * given width with the given color, which by default is the maximum
  18789. * contrast to the text. So a bright text color will result in a black text
  18790. * outline for maximum readability on a mixed background. In some cases,
  18791. * especially with grayscale text, the text outline doesn't work well, in
  18792. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  18793. * is true, the `textOutline` will not be picked up. In this, case, the same
  18794. * effect can be acheived through the `text-shadow` CSS property.
  18795. *
  18796. * For some series types, where each point has an extent, like for example
  18797. * tree maps, the data label may overflow the point. There are two
  18798. * strategies for handling overflow. By default, the text will wrap to
  18799. * multiple lines. The other strategy is to set `style.textOverflow` to
  18800. * `ellipsis`, which will keep the text on one line plus it will break
  18801. * inside long words.
  18802. */
  18803. style?: CSSObject;
  18804. /**
  18805. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  18806. * should follow marker's shape. Border and background are disabled for a
  18807. * label that follows a path.
  18808. *
  18809. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  18810. * to true will disable this option.
  18811. */
  18812. textPath?: DataLabelsTextPathOptionsObject;
  18813. /**
  18814. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  18815. * the labels.
  18816. */
  18817. useHTML?: boolean;
  18818. /**
  18819. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  18820. * label. Can be one of `top`, `middle` or `bottom`. The default value
  18821. * depends on the data, for instance in a column chart, the label is above
  18822. * positive values and below negative values.
  18823. */
  18824. verticalAlign?: (VerticalAlignValue|null);
  18825. /**
  18826. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  18827. * label relative to the point in pixels.
  18828. */
  18829. x?: number;
  18830. /**
  18831. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  18832. * label relative to the point in pixels.
  18833. */
  18834. y?: number;
  18835. /**
  18836. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  18837. * The default Z index puts it above the series. Use a Z index of 2 to
  18838. * display it behind the series.
  18839. */
  18840. z?: number;
  18841. }
  18842. /**
  18843. * (Highcharts, Highstock) Options for the series data sorting.
  18844. */
  18845. export interface PlotApoDataSortingOptions {
  18846. /**
  18847. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  18848. * Use xAxis.reversed to change the sorting order.
  18849. */
  18850. enabled?: boolean;
  18851. /**
  18852. * (Highcharts, Highstock) Whether to allow matching points by name in an
  18853. * update. If this option is disabled, points will be matched by order.
  18854. */
  18855. matchByName?: boolean;
  18856. /**
  18857. * (Highcharts, Highstock) Determines what data value should be used to sort
  18858. * by.
  18859. */
  18860. sortKey?: string;
  18861. }
  18862. /**
  18863. * (Highstock) Absolute Price Oscillator. This series requires the `linkedTo`
  18864. * option to be set and should be loaded after the
  18865. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  18866. *
  18867. * In TypeScript the type option must always be set.
  18868. *
  18869. * Configuration options for the series are given in three levels:
  18870. *
  18871. * 1. Options for all series in a chart are defined in the plotOptions.series
  18872. * object.
  18873. *
  18874. * 2. Options for all `apo` series are defined in plotOptions.apo.
  18875. *
  18876. * 3. Options for one single series are given in the series instance array. (see
  18877. * online documentation for example)
  18878. */
  18879. export interface PlotApoOptions {
  18880. /**
  18881. * (Highstock) Accessibility options for a series.
  18882. */
  18883. accessibility?: SeriesAccessibilityOptionsObject;
  18884. /**
  18885. * (Highstock) Allow this series' points to be selected by clicking on the
  18886. * graphic (columns, point markers, pie slices, map areas etc).
  18887. *
  18888. * The selected points can be handled by point select and unselect events,
  18889. * or collectively by the getSelectedPoints function.
  18890. *
  18891. * And alternative way of selecting points is through dragging.
  18892. */
  18893. allowPointSelect?: boolean;
  18894. /**
  18895. * (Highstock) Enable or disable the initial animation when a series is
  18896. * displayed. The animation can also be set as a configuration object.
  18897. * Please note that this option only applies to the initial animation of the
  18898. * series itself. For other animations, see chart.animation and the
  18899. * animation parameter under the API methods. The following properties are
  18900. * supported:
  18901. *
  18902. * - `defer`: The animation delay time in milliseconds.
  18903. *
  18904. * - `duration`: The duration of the animation in milliseconds.
  18905. *
  18906. * - `easing`: Can be a string reference to an easing function set on the
  18907. * `Math` object or a function. See the _Custom easing function_ demo below.
  18908. *
  18909. * Due to poor performance, animation is disabled in old IE browsers for
  18910. * several chart types.
  18911. */
  18912. animation?: (boolean|PlotApoAnimationOptions|Partial<AnimationOptionsObject>);
  18913. /**
  18914. * (Highstock) For some series, there is a limit that shuts down initial
  18915. * animation by default when the total number of points in the chart is too
  18916. * high. For example, for a column chart and its derivatives, animation does
  18917. * not run if there is more than 250 points totally. To disable this cap,
  18918. * set `animationLimit` to `Infinity`.
  18919. */
  18920. animationLimit?: number;
  18921. /**
  18922. * (Highstock) Sets the color blending in the boost module.
  18923. */
  18924. boostBlending?: OptionsBoostBlendingValue;
  18925. /**
  18926. * (Highstock) Set the point threshold for when a series should enter boost
  18927. * mode.
  18928. *
  18929. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  18930. * there are 2000 or more points in the series.
  18931. *
  18932. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  18933. * it to 1 will force boosting.
  18934. *
  18935. * Note that the cropThreshold also affects this setting. When zooming in on
  18936. * a series that has fewer points than the `cropThreshold`, all points are
  18937. * rendered although outside the visible plot area, and the `boostThreshold`
  18938. * won't take effect.
  18939. */
  18940. boostThreshold?: number;
  18941. /**
  18942. * (Highmaps) The border color of the map areas.
  18943. *
  18944. * In styled mode, the border stroke is given in the `.highcharts-point`
  18945. * class.
  18946. */
  18947. borderColor?: (ColorString|GradientColorObject|PatternObject);
  18948. /**
  18949. * (Highmaps) The border width of each map area.
  18950. *
  18951. * In styled mode, the border stroke width is given in the
  18952. * `.highcharts-point` class.
  18953. */
  18954. borderWidth?: number;
  18955. /**
  18956. * (Highstock) An additional class name to apply to the series' graphical
  18957. * elements. This option does not replace default class names of the
  18958. * graphical element.
  18959. */
  18960. className?: string;
  18961. /**
  18962. * (Highstock) Disable this option to allow series rendering in the whole
  18963. * plotting area.
  18964. *
  18965. * **Note:** Clipping should be always enabled when chart.zoomType is set
  18966. */
  18967. clip?: boolean;
  18968. /**
  18969. * (Highstock) The main color of the series. In line type series it applies
  18970. * to the line and the point markers unless otherwise specified. In bar type
  18971. * series it applies to the bars unless a color is specified per point. The
  18972. * default value is pulled from the `options.colors` array.
  18973. *
  18974. * In styled mode, the color can be defined by the colorIndex option. Also,
  18975. * the series color can be set with the `.highcharts-series`,
  18976. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  18977. * `.highcharts-series-{n}` class, or individual classes given by the
  18978. * `className` option.
  18979. */
  18980. color?: (ColorString|GradientColorObject|PatternObject);
  18981. /**
  18982. * (Highstock) Styled mode only. A specific color index to use for the
  18983. * series, so its graphic representations are given the class name
  18984. * `highcharts-color-{n}`.
  18985. */
  18986. colorIndex?: number;
  18987. /**
  18988. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  18989. * used to calculate point color if `colorAxis` is used. Requires to set
  18990. * `min` and `max` if some custom point property is used or if approximation
  18991. * for data grouping is set to `'sum'`.
  18992. */
  18993. colorKey?: string;
  18994. /**
  18995. * (Highstock) Compare the values of the series against the first non-null,
  18996. * non- zero value in the visible range. The y axis will show percentage or
  18997. * absolute change depending on whether `compare` is set to `"percent"` or
  18998. * `"value"`. When this is applied to multiple series, it allows comparing
  18999. * the development of the series against each other. Adds a `change` field
  19000. * to every point object.
  19001. */
  19002. compare?: string;
  19003. /**
  19004. * (Highstock) When compare is `percent`, this option dictates whether to
  19005. * use 0 or 100 as the base of comparison.
  19006. */
  19007. compareBase?: (0|100);
  19008. /**
  19009. * (Highstock) Defines if comparison should start from the first point
  19010. * within the visible range or should start from the first point **before**
  19011. * the range.
  19012. *
  19013. * In other words, this flag determines if first point within the visible
  19014. * range will have 0% (`compareStart=true`) or should have been already
  19015. * calculated according to the previous point (`compareStart=false`).
  19016. */
  19017. compareStart?: boolean;
  19018. /**
  19019. * (Highstock) Whether to compare indicator to the main series values or
  19020. * indicator values.
  19021. */
  19022. compareToMain?: boolean;
  19023. /**
  19024. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  19025. * series plot across the extremes.
  19026. */
  19027. connectEnds?: boolean;
  19028. /**
  19029. * (Highcharts, Highstock) Whether to connect a graph line across null
  19030. * points, or render a gap between the two points on either side of the
  19031. * null.
  19032. */
  19033. connectNulls?: boolean;
  19034. /**
  19035. * (Gantt) Override Pathfinder connector options for a series. Requires
  19036. * Highcharts Gantt to be loaded.
  19037. */
  19038. connectors?: SeriesConnectorsOptionsObject;
  19039. /**
  19040. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  19041. * rounded to its nearest pixel in order to render sharp on screen. In some
  19042. * cases, when there are a lot of densely packed columns, this leads to
  19043. * visible difference in column widths or distance between columns. In these
  19044. * cases, setting `crisp` to `false` may look better, even though each
  19045. * column is rendered blurry.
  19046. */
  19047. crisp?: boolean;
  19048. /**
  19049. * (Highcharts, Highstock) When the series contains less points than the
  19050. * crop threshold, all points are drawn, even if the points fall outside the
  19051. * visible plot area at the current zoom. The advantage of drawing all
  19052. * points (including markers and columns), is that animation is performed on
  19053. * updates. On the other hand, when the series contains more points than the
  19054. * crop threshold, the series data is cropped to only contain points that
  19055. * fall within the plot area. The advantage of cropping away invisible
  19056. * points is to increase performance on large series.
  19057. */
  19058. cropThreshold?: number;
  19059. /**
  19060. * (Highstock) You can set the cursor to "pointer" if you have click events
  19061. * attached to the series, to signal to the user that the points and lines
  19062. * can be clicked.
  19063. *
  19064. * In styled mode, the series cursor can be set with the same classes as
  19065. * listed under series.color.
  19066. */
  19067. cursor?: (string|CursorValue);
  19068. /**
  19069. * (Highstock) A reserved subspace to store options and values for
  19070. * customized functionality. Here you can add additional data for your own
  19071. * event callbacks and formatter callbacks.
  19072. */
  19073. custom?: Dictionary<any>;
  19074. /**
  19075. * (Highstock) Name of the dash style to use for the graph, or for some
  19076. * series types the outline of each shape.
  19077. *
  19078. * In styled mode, the stroke dash-array can be set with the same classes as
  19079. * listed under series.color.
  19080. */
  19081. dashStyle?: DashStyleValue;
  19082. /**
  19083. * (Highstock) Data grouping is the concept of sampling the data values into
  19084. * larger blocks in order to ease readability and increase performance of
  19085. * the JavaScript charts. Highcharts Stock by default applies data grouping
  19086. * when the points become closer than a certain pixel value, determined by
  19087. * the `groupPixelWidth` option.
  19088. *
  19089. * If data grouping is applied, the grouping information of grouped points
  19090. * can be read from the Point.dataGroup. If point options other than the
  19091. * data itself are set, for example `name` or `color` or custom properties,
  19092. * the grouping logic doesn't know how to group it. In this case the options
  19093. * of the first point instance are copied over to the group point. This can
  19094. * be altered through a custom `approximation` callback function.
  19095. */
  19096. dataGrouping?: DataGroupingOptionsObject;
  19097. /**
  19098. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  19099. * labels, appearing next to each data point.
  19100. *
  19101. * Since v6.2.0, multiple data labels can be applied to each single point by
  19102. * defining them as an array of configs.
  19103. *
  19104. * In styled mode, the data labels can be styled with the
  19105. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  19106. * (see example).
  19107. */
  19108. dataLabels?: (PlotApoDataLabelsOptions|Array<PlotApoDataLabelsOptions>);
  19109. /**
  19110. * (Highcharts, Highstock) Options for the series data sorting.
  19111. */
  19112. dataSorting?: (DataSortingOptionsObject|PlotApoDataSortingOptions);
  19113. /**
  19114. * (Highstock) A description of the series to add to the screen reader
  19115. * information about the series.
  19116. */
  19117. description?: string;
  19118. /**
  19119. * (Highstock) Enable or disable the mouse tracking for a specific series.
  19120. * This includes point tooltips and click events on graphs and points. For
  19121. * large datasets it improves performance.
  19122. */
  19123. enableMouseTracking?: boolean;
  19124. /**
  19125. * (Highstock) General event handlers for the series items. These event
  19126. * hooks can also be attached to the series at run time using the
  19127. * `Highcharts.addEvent` function.
  19128. */
  19129. events?: SeriesEventsOptionsObject;
  19130. /**
  19131. * (Highstock) Determines whether the series should look for the nearest
  19132. * point in both dimensions or just the x-dimension when hovering the
  19133. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  19134. * series. If the data has duplicate x-values, it is recommended to set this
  19135. * to `'xy'` to allow hovering over all points.
  19136. *
  19137. * Applies only to series types using nearest neighbor search (not direct
  19138. * hover) for tooltip.
  19139. */
  19140. findNearestPointBy?: OptionsFindNearestPointByValue;
  19141. /**
  19142. * (Highstock) Defines when to display a gap in the graph, together with the
  19143. * gapUnit option.
  19144. *
  19145. * In case when `dataGrouping` is enabled, points can be grouped into a
  19146. * larger time span. This can make the grouped points to have a greater
  19147. * distance than the absolute value of `gapSize` property, which will result
  19148. * in disappearing graph completely. To prevent this situation the mentioned
  19149. * distance between grouped points is used instead of previously defined
  19150. * `gapSize`.
  19151. *
  19152. * In practice, this option is most often used to visualize gaps in time
  19153. * series. In a stock chart, intraday data is available for daytime hours,
  19154. * while gaps will appear in nights and weekends.
  19155. */
  19156. gapSize?: number;
  19157. /**
  19158. * (Highstock) Together with gapSize, this option defines where to draw gaps
  19159. * in the graph.
  19160. *
  19161. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  19162. * if the distance between two points is greater than 5 times that of the
  19163. * two closest points, the graph will be broken.
  19164. *
  19165. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  19166. * values, which on a datetime axis is milliseconds. This also applies to
  19167. * the navigator series that inherits gap options from the base series.
  19168. */
  19169. gapUnit?: OptionsGapUnitValue;
  19170. /**
  19171. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  19172. * chart width or only the zoomed area when zooming in on parts of the X
  19173. * axis. By default, the Y axis adjusts to the min and max of the visible
  19174. * data. Cartesian series only.
  19175. */
  19176. getExtremesFromAll?: boolean;
  19177. /**
  19178. * (Highstock) When set to `false` will prevent the series data from being
  19179. * included in any form of data export.
  19180. *
  19181. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  19182. * `includeInCSVExport`.
  19183. */
  19184. includeInDataExport?: boolean;
  19185. /**
  19186. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  19187. * series as possible in a natural way, seeking to avoid other series. The
  19188. * goal of this feature is to make the chart more easily readable, like if a
  19189. * human designer placed the labels in the optimal position.
  19190. *
  19191. * The series labels currently work with series types having a `graph` or an
  19192. * `area`.
  19193. */
  19194. label?: SeriesLabelOptionsObject;
  19195. /**
  19196. * (Highstock) The line marks the last price from all points.
  19197. */
  19198. lastPrice?: SeriesLastPriceOptionsObject;
  19199. /**
  19200. * (Highstock) The line marks the last price from visible range of points.
  19201. */
  19202. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  19203. /**
  19204. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  19205. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  19206. * the ends and bends.
  19207. */
  19208. linecap?: SeriesLinecapValue;
  19209. /**
  19210. * (Highcharts, Highstock) Pixel width of the graph line.
  19211. */
  19212. lineWidth?: number;
  19213. /**
  19214. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  19215. * based on. Required for this indicator.
  19216. */
  19217. linkedTo?: string;
  19218. /**
  19219. * (Highstock) Options for the point markers of line-like series. Properties
  19220. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  19221. * appearance of the markers. Other series types, like column series, don't
  19222. * have markers, but have visual options on the series level instead.
  19223. *
  19224. * In styled mode, the markers can be styled with the `.highcharts-point`,
  19225. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  19226. */
  19227. marker?: PointMarkerOptionsObject;
  19228. /**
  19229. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  19230. * If not set, it will be based on a technical indicator type and default
  19231. * params.
  19232. */
  19233. name?: string;
  19234. /**
  19235. * (Highstock) The color for the parts of the graph or points that are below
  19236. * the threshold. Note that `zones` takes precedence over the negative
  19237. * color. Using `negativeColor` is equivalent to applying a zone with value
  19238. * of 0.
  19239. */
  19240. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  19241. /**
  19242. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  19243. * dataLabels.
  19244. */
  19245. opacity?: number;
  19246. /**
  19247. * (Highstock) Paramters used in calculation of Absolute Price Oscillator
  19248. * series points.
  19249. */
  19250. params?: PlotApoParamsOptions;
  19251. /**
  19252. * (Highstock) Properties for each single point.
  19253. */
  19254. point?: PlotSeriesPointOptions;
  19255. /**
  19256. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  19257. * individual series. Overrides the chart wide configuration.
  19258. */
  19259. pointDescriptionFormatter?: Function;
  19260. /**
  19261. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  19262. * true, the checkbox next to the series name in the legend will be checked
  19263. * for a selected series.
  19264. */
  19265. selected?: boolean;
  19266. /**
  19267. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  19268. * the shadow can be an object configuration containing `color`, `offsetX`,
  19269. * `offsetY`, `opacity` and `width`.
  19270. */
  19271. shadow?: (boolean|ShadowOptionsObject);
  19272. /**
  19273. * (Highstock) If true, a checkbox is displayed next to the legend item to
  19274. * allow selecting the series. The state of the checkbox is determined by
  19275. * the `selected` option.
  19276. */
  19277. showCheckbox?: boolean;
  19278. /**
  19279. * (Highstock) Whether to display this particular series or series type in
  19280. * the legend. Standalone series are shown in legend by default, and linked
  19281. * series are not. Since v7.2.0 it is possible to show series that use
  19282. * colorAxis by setting this option to `true`.
  19283. */
  19284. showInLegend?: boolean;
  19285. /**
  19286. * (Highstock) If set to `true`, the accessibility module will skip past the
  19287. * points in this series for keyboard navigation.
  19288. */
  19289. skipKeyboardNavigation?: boolean;
  19290. /**
  19291. * (Highcharts, Highstock) When this is true, the series will not cause the
  19292. * Y axis to cross the zero plane (or threshold option) unless the data
  19293. * actually crosses the plane.
  19294. *
  19295. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  19296. * make the Y axis show negative values according to the `minPadding`
  19297. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  19298. */
  19299. softThreshold?: boolean;
  19300. states?: SeriesStatesOptionsObject;
  19301. /**
  19302. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  19303. * values are `left`, `center` and `right`.
  19304. */
  19305. step?: OptionsStepValue;
  19306. /**
  19307. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  19308. * event on a series isn't triggered until the mouse moves over another
  19309. * series, or out of the plot area. When false, the `mouseOut` event on a
  19310. * series is triggered when the mouse leaves the area around the series'
  19311. * graph or markers. This also implies the tooltip when not shared. When
  19312. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  19313. * be hidden when moving the mouse between series. Defaults to true for line
  19314. * and area type series, but to false for columns, pies etc.
  19315. *
  19316. * **Note:** The boost module will force this option because of technical
  19317. * limitations.
  19318. */
  19319. stickyTracking?: boolean;
  19320. /**
  19321. * (Highcharts, Highstock) The threshold, also called zero level or base
  19322. * level. For line type series this is only used in conjunction with
  19323. * negativeColor.
  19324. */
  19325. threshold?: (number|null);
  19326. /**
  19327. * (Highstock) A configuration object for the tooltip rendering of each
  19328. * single series. Properties are inherited from tooltip, but only the
  19329. * following properties can be defined on a series level.
  19330. */
  19331. tooltip?: SeriesTooltipOptionsObject;
  19332. /**
  19333. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  19334. * is longer than this, only one dimensional arrays of numbers, or two
  19335. * dimensional arrays with x and y values are allowed. Also, only the first
  19336. * point is tested, and the rest are assumed to be the same format. This
  19337. * saves expensive data checking and indexing in long series. Set it to `0`
  19338. * disable.
  19339. *
  19340. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  19341. * two dimensional arrays are allowed.
  19342. */
  19343. turboThreshold?: number;
  19344. /**
  19345. * (Highstock) Set the initial visibility of the series.
  19346. */
  19347. visible?: boolean;
  19348. /**
  19349. * (Highmaps) Define the z index of the series.
  19350. */
  19351. zIndex?: number;
  19352. /**
  19353. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  19354. */
  19355. zoneAxis?: string;
  19356. /**
  19357. * (Highcharts, Highstock) An array defining zones within a series. Zones
  19358. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  19359. * the `zoneAxis` option. The zone definitions have to be in ascending order
  19360. * regarding to the value.
  19361. *
  19362. * In styled mode, the color zones are styled with the
  19363. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  19364. * option (view live demo).
  19365. */
  19366. zones?: Array<SeriesZonesOptionsObject>;
  19367. }
  19368. /**
  19369. * (Highstock) Paramters used in calculation of Absolute Price Oscillator series
  19370. * points.
  19371. */
  19372. export interface PlotApoParamsOptions {
  19373. /**
  19374. * (Highstock) The point index which indicator calculations will base. For
  19375. * example using OHLC data, index=2 means the indicator will be calculated
  19376. * using Low values.
  19377. *
  19378. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  19379. * default index is set to 3 which means that the ema indicator will be
  19380. * calculated using Close values.
  19381. */
  19382. index?: number;
  19383. period?: string;
  19384. /**
  19385. * (Highstock) Periods for Absolute Price Oscillator calculations.
  19386. */
  19387. periods?: Array<number>;
  19388. }
  19389. /**
  19390. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  19391. * is displayed. The animation can also be set as a configuration object. Please
  19392. * note that this option only applies to the initial animation of the series
  19393. * itself. For other animations, see chart.animation and the animation parameter
  19394. * under the API methods. The following properties are supported:
  19395. *
  19396. * - `defer`: The animation delay time in milliseconds.
  19397. *
  19398. * - `duration`: The duration of the animation in milliseconds.
  19399. *
  19400. * - `easing`: Can be a string reference to an easing function set on the `Math`
  19401. * object or a function. See the _Custom easing function_ demo below.
  19402. *
  19403. * Due to poor performance, animation is disabled in old IE browsers for several
  19404. * chart types.
  19405. */
  19406. export interface PlotAreaAnimationOptions {
  19407. defer?: number;
  19408. }
  19409. /**
  19410. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19411. * animation when a series is displayed for the `dataLabels`. The animation can
  19412. * also be set as a configuration object. Please note that this option only
  19413. * applies to the initial animation. For other animations, see chart.animation
  19414. * and the animation parameter under the API methods. The following properties
  19415. * are supported:
  19416. *
  19417. * - `defer`: The animation delay time in milliseconds.
  19418. */
  19419. export interface PlotAreaDataLabelsAnimationOptions {
  19420. /**
  19421. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  19422. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  19423. * inherits defer time from the series.animation.defer.
  19424. */
  19425. defer?: number;
  19426. }
  19427. /**
  19428. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  19429. * appearing next to each data point.
  19430. *
  19431. * Since v6.2.0, multiple data labels can be applied to each single point by
  19432. * defining them as an array of configs.
  19433. *
  19434. * In styled mode, the data labels can be styled with the
  19435. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  19436. * example).
  19437. */
  19438. export interface PlotAreaDataLabelsOptions {
  19439. /**
  19440. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  19441. * compared to the point. If `right`, the right side of the label should be
  19442. * touching the point. For points with an extent, like columns, the
  19443. * alignments also dictates how to align it inside the box, as given with
  19444. * the inside option. Can be one of `left`, `center` or `right`.
  19445. */
  19446. align?: (AlignValue|null);
  19447. /**
  19448. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  19449. * overlap. To make the labels less sensitive for overlapping, the
  19450. * dataLabels.padding can be set to 0.
  19451. */
  19452. allowOverlap?: boolean;
  19453. /**
  19454. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  19455. * animation when a series is displayed for the `dataLabels`. The animation
  19456. * can also be set as a configuration object. Please note that this option
  19457. * only applies to the initial animation. For other animations, see
  19458. * chart.animation and the animation parameter under the API methods. The
  19459. * following properties are supported:
  19460. *
  19461. * - `defer`: The animation delay time in milliseconds.
  19462. */
  19463. animation?: (boolean|PlotAreaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  19464. /**
  19465. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  19466. * for the data label.
  19467. */
  19468. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  19469. /**
  19470. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  19471. * label. Defaults to `undefined`.
  19472. */
  19473. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19474. /**
  19475. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  19476. * the data label.
  19477. */
  19478. borderRadius?: number;
  19479. /**
  19480. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  19481. * the data label.
  19482. */
  19483. borderWidth?: number;
  19484. /**
  19485. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  19486. * Particularly in styled mode, this can be used to give each series' or
  19487. * point's data label unique styling. In addition to this option, a default
  19488. * color class name is added so that we can give the labels a contrast text
  19489. * shadow.
  19490. */
  19491. className?: string;
  19492. /**
  19493. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  19494. * labels. Defaults to `undefined`. For certain series types, like column or
  19495. * map, the data labels can be drawn inside the points. In this case the
  19496. * data label will be drawn with maximum contrast by default. Additionally,
  19497. * it will be given a `text-outline` style with the opposite color, to
  19498. * further increase the contrast. This can be overridden by setting the
  19499. * `text-outline` style to `none` in the `dataLabels.style` option.
  19500. */
  19501. color?: (ColorString|GradientColorObject|PatternObject);
  19502. /**
  19503. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  19504. * are outside the plot area. By default, the data label is moved inside the
  19505. * plot area according to the overflow option.
  19506. */
  19507. crop?: boolean;
  19508. /**
  19509. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  19510. * labels until the initial series animation has finished. Setting to
  19511. * `false` renders the data label immediately. If set to `true` inherits the
  19512. * defer time set in plotOptions.series.animation. If set to a number, a
  19513. * defer time is specified in milliseconds.
  19514. */
  19515. defer?: (boolean|number);
  19516. /**
  19517. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  19518. * labels.
  19519. */
  19520. enabled?: boolean;
  19521. /**
  19522. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  19523. * of which data labels to display. The declarative filter is designed for
  19524. * use when callback functions are not available, like when the chart
  19525. * options require a pure JSON structure or for use with graphical editors.
  19526. * For programmatic control, use the `formatter` instead, and return
  19527. * `undefined` to disable a single data label.
  19528. */
  19529. filter?: DataLabelsFilterOptionsObject;
  19530. /**
  19531. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  19532. * label. Available variables are the same as for `formatter`.
  19533. */
  19534. format?: string;
  19535. /**
  19536. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  19537. * format the data label. Note that if a `format` is defined, the format
  19538. * takes precedence and the formatter is ignored.
  19539. */
  19540. formatter?: DataLabelsFormatterCallbackFunction;
  19541. /**
  19542. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  19543. * columns or map areas, whether to align the data label inside the box or
  19544. * to the actual value point. Defaults to `false` in most cases, `true` in
  19545. * stacked columns.
  19546. */
  19547. inside?: boolean;
  19548. /**
  19549. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  19550. * of null. Works analogously to format. `nullFormat` can be applied only to
  19551. * series which support displaying null points.
  19552. */
  19553. nullFormat?: (boolean|string);
  19554. /**
  19555. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  19556. * that defines formatting for points with the value of null. Works
  19557. * analogously to formatter. `nullPointFormatter` can be applied only to
  19558. * series which support displaying null points.
  19559. */
  19560. nullFormatter?: DataLabelsFormatterCallbackFunction;
  19561. /**
  19562. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  19563. * flow outside the plot area. The default is `"justify"`, which aligns them
  19564. * inside the plot area. For columns and bars, this means it will be moved
  19565. * inside the bar. To display data labels outside the plot area, set `crop`
  19566. * to `false` and `overflow` to `"allow"`.
  19567. */
  19568. overflow?: DataLabelsOverflowValue;
  19569. /**
  19570. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  19571. * the `backgroundColor` is set, this is the padding within the box.
  19572. */
  19573. padding?: number;
  19574. /**
  19575. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  19576. * points. If `center` alignment is not possible, it defaults to `right`.
  19577. */
  19578. position?: AlignValue;
  19579. /**
  19580. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  19581. * that due to a more complex structure, backgrounds, borders and padding
  19582. * will be lost on a rotated data label.
  19583. */
  19584. rotation?: number;
  19585. /**
  19586. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  19587. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  19588. * an object configuration containing `color`, `offsetX`, `offsetY`,
  19589. * `opacity` and `width`.
  19590. */
  19591. shadow?: (boolean|ShadowOptionsObject);
  19592. /**
  19593. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  19594. * the border around the label. Symbols are predefined functions on the
  19595. * Renderer object.
  19596. */
  19597. shape?: string;
  19598. /**
  19599. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  19600. * default `color` setting is `"contrast"`, which is a pseudo color that
  19601. * Highcharts picks up and applies the maximum contrast to the underlying
  19602. * point item, for example the bar in a bar chart.
  19603. *
  19604. * The `textOutline` is a pseudo property that applies an outline of the
  19605. * given width with the given color, which by default is the maximum
  19606. * contrast to the text. So a bright text color will result in a black text
  19607. * outline for maximum readability on a mixed background. In some cases,
  19608. * especially with grayscale text, the text outline doesn't work well, in
  19609. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  19610. * is true, the `textOutline` will not be picked up. In this, case, the same
  19611. * effect can be acheived through the `text-shadow` CSS property.
  19612. *
  19613. * For some series types, where each point has an extent, like for example
  19614. * tree maps, the data label may overflow the point. There are two
  19615. * strategies for handling overflow. By default, the text will wrap to
  19616. * multiple lines. The other strategy is to set `style.textOverflow` to
  19617. * `ellipsis`, which will keep the text on one line plus it will break
  19618. * inside long words.
  19619. */
  19620. style?: CSSObject;
  19621. /**
  19622. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  19623. * should follow marker's shape. Border and background are disabled for a
  19624. * label that follows a path.
  19625. *
  19626. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  19627. * to true will disable this option.
  19628. */
  19629. textPath?: DataLabelsTextPathOptionsObject;
  19630. /**
  19631. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  19632. * the labels.
  19633. */
  19634. useHTML?: boolean;
  19635. /**
  19636. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  19637. * label. Can be one of `top`, `middle` or `bottom`. The default value
  19638. * depends on the data, for instance in a column chart, the label is above
  19639. * positive values and below negative values.
  19640. */
  19641. verticalAlign?: (VerticalAlignValue|null);
  19642. /**
  19643. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  19644. * label relative to the point in pixels.
  19645. */
  19646. x?: number;
  19647. /**
  19648. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  19649. * label relative to the point in pixels.
  19650. */
  19651. y?: number;
  19652. /**
  19653. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  19654. * The default Z index puts it above the series. Use a Z index of 2 to
  19655. * display it behind the series.
  19656. */
  19657. z?: number;
  19658. }
  19659. /**
  19660. * (Highcharts, Highstock) Options for the series data sorting.
  19661. */
  19662. export interface PlotAreaDataSortingOptions {
  19663. /**
  19664. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  19665. * Use xAxis.reversed to change the sorting order.
  19666. */
  19667. enabled?: boolean;
  19668. /**
  19669. * (Highcharts, Highstock) Whether to allow matching points by name in an
  19670. * update. If this option is disabled, points will be matched by order.
  19671. */
  19672. matchByName?: boolean;
  19673. /**
  19674. * (Highcharts, Highstock) Determines what data value should be used to sort
  19675. * by.
  19676. */
  19677. sortKey?: string;
  19678. }
  19679. /**
  19680. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  19681. * one state by default, the `default` state.
  19682. */
  19683. export interface PlotAreaDragDropGuideBoxOptions {
  19684. /**
  19685. * (Highcharts, Highstock) Style options for the guide box default state.
  19686. */
  19687. default?: DragDropGuideBoxOptionsObject;
  19688. }
  19689. /**
  19690. * (Highcharts, Highstock) The area series type.
  19691. *
  19692. * In TypeScript the type option must always be set.
  19693. *
  19694. * Configuration options for the series are given in three levels:
  19695. *
  19696. * 1. Options for all series in a chart are defined in the plotOptions.series
  19697. * object.
  19698. *
  19699. * 2. Options for all `area` series are defined in plotOptions.area.
  19700. *
  19701. * 3. Options for one single series are given in the series instance array. (see
  19702. * online documentation for example)
  19703. */
  19704. export interface PlotAreaOptions {
  19705. /**
  19706. * (Highcharts, Highstock) Accessibility options for a series.
  19707. */
  19708. accessibility?: SeriesAccessibilityOptionsObject;
  19709. /**
  19710. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  19711. * rendered. If `true`, areas which don't correspond to a data point, are
  19712. * rendered as `null` points. If `false`, those areas are skipped.
  19713. */
  19714. allAreas?: boolean;
  19715. /**
  19716. * (Highcharts, Highstock) Allow this series' points to be selected by
  19717. * clicking on the graphic (columns, point markers, pie slices, map areas
  19718. * etc).
  19719. *
  19720. * The selected points can be handled by point select and unselect events,
  19721. * or collectively by the getSelectedPoints function.
  19722. *
  19723. * And alternative way of selecting points is through dragging.
  19724. */
  19725. allowPointSelect?: boolean;
  19726. /**
  19727. * (Highcharts, Highstock) Enable or disable the initial animation when a
  19728. * series is displayed. The animation can also be set as a configuration
  19729. * object. Please note that this option only applies to the initial
  19730. * animation of the series itself. For other animations, see chart.animation
  19731. * and the animation parameter under the API methods. The following
  19732. * properties are supported:
  19733. *
  19734. * - `defer`: The animation delay time in milliseconds.
  19735. *
  19736. * - `duration`: The duration of the animation in milliseconds.
  19737. *
  19738. * - `easing`: Can be a string reference to an easing function set on the
  19739. * `Math` object or a function. See the _Custom easing function_ demo below.
  19740. *
  19741. * Due to poor performance, animation is disabled in old IE browsers for
  19742. * several chart types.
  19743. */
  19744. animation?: (boolean|PlotAreaAnimationOptions|Partial<AnimationOptionsObject>);
  19745. /**
  19746. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  19747. * initial animation by default when the total number of points in the chart
  19748. * is too high. For example, for a column chart and its derivatives,
  19749. * animation does not run if there is more than 250 points totally. To
  19750. * disable this cap, set `animationLimit` to `Infinity`.
  19751. */
  19752. animationLimit?: number;
  19753. /**
  19754. * (Highcharts, Highstock) Sets the color blending in the boost module.
  19755. */
  19756. boostBlending?: OptionsBoostBlendingValue;
  19757. /**
  19758. * (Highcharts, Highstock) Set the point threshold for when a series should
  19759. * enter boost mode.
  19760. *
  19761. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  19762. * there are 2000 or more points in the series.
  19763. *
  19764. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  19765. * it to 1 will force boosting.
  19766. *
  19767. * Note that the cropThreshold also affects this setting. When zooming in on
  19768. * a series that has fewer points than the `cropThreshold`, all points are
  19769. * rendered although outside the visible plot area, and the `boostThreshold`
  19770. * won't take effect.
  19771. */
  19772. boostThreshold?: number;
  19773. /**
  19774. * (Highmaps) The border color of the map areas.
  19775. *
  19776. * In styled mode, the border stroke is given in the `.highcharts-point`
  19777. * class.
  19778. */
  19779. borderColor?: (ColorString|GradientColorObject|PatternObject);
  19780. /**
  19781. * (Highmaps) The border width of each map area.
  19782. *
  19783. * In styled mode, the border stroke width is given in the
  19784. * `.highcharts-point` class.
  19785. */
  19786. borderWidth?: number;
  19787. /**
  19788. * (Highcharts, Highstock) An additional class name to apply to the series'
  19789. * graphical elements. This option does not replace default class names of
  19790. * the graphical element.
  19791. */
  19792. className?: string;
  19793. /**
  19794. * (Highcharts, Highstock) Disable this option to allow series rendering in
  19795. * the whole plotting area.
  19796. *
  19797. * **Note:** Clipping should be always enabled when chart.zoomType is set
  19798. */
  19799. clip?: boolean;
  19800. /**
  19801. * (Highcharts, Highstock) The main color of the series. In line type series
  19802. * it applies to the line and the point markers unless otherwise specified.
  19803. * In bar type series it applies to the bars unless a color is specified per
  19804. * point. The default value is pulled from the `options.colors` array.
  19805. *
  19806. * In styled mode, the color can be defined by the colorIndex option. Also,
  19807. * the series color can be set with the `.highcharts-series`,
  19808. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  19809. * `.highcharts-series-{n}` class, or individual classes given by the
  19810. * `className` option.
  19811. */
  19812. color?: (ColorString|GradientColorObject|PatternObject);
  19813. /**
  19814. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  19815. * this number defines which colorAxis the particular series is connected
  19816. * to. It refers to either the axis id or the index of the axis in the
  19817. * colorAxis array, with 0 being the first. Set this option to false to
  19818. * prevent a series from connecting to the default color axis.
  19819. *
  19820. * Since v7.2.0 the option can also be an axis id or an axis index instead
  19821. * of a boolean flag.
  19822. */
  19823. colorAxis?: (boolean|number|string);
  19824. /**
  19825. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  19826. * for the series, so its graphic representations are given the class name
  19827. * `highcharts-color-{n}`.
  19828. */
  19829. colorIndex?: number;
  19830. /**
  19831. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  19832. * used to calculate point color if `colorAxis` is used. Requires to set
  19833. * `min` and `max` if some custom point property is used or if approximation
  19834. * for data grouping is set to `'sum'`.
  19835. */
  19836. colorKey?: string;
  19837. /**
  19838. * (Highstock) Compare the values of the series against the first non-null,
  19839. * non- zero value in the visible range. The y axis will show percentage or
  19840. * absolute change depending on whether `compare` is set to `"percent"` or
  19841. * `"value"`. When this is applied to multiple series, it allows comparing
  19842. * the development of the series against each other. Adds a `change` field
  19843. * to every point object.
  19844. */
  19845. compare?: string;
  19846. /**
  19847. * (Highstock) When compare is `percent`, this option dictates whether to
  19848. * use 0 or 100 as the base of comparison.
  19849. */
  19850. compareBase?: (0|100);
  19851. /**
  19852. * (Highstock) Defines if comparison should start from the first point
  19853. * within the visible range or should start from the first point **before**
  19854. * the range.
  19855. *
  19856. * In other words, this flag determines if first point within the visible
  19857. * range will have 0% (`compareStart=true`) or should have been already
  19858. * calculated according to the previous point (`compareStart=false`).
  19859. */
  19860. compareStart?: boolean;
  19861. /**
  19862. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  19863. * series plot across the extremes.
  19864. */
  19865. connectEnds?: boolean;
  19866. /**
  19867. * (Highcharts, Highstock) Whether to connect a graph line across null
  19868. * points, or render a gap between the two points on either side of the
  19869. * null.
  19870. */
  19871. connectNulls?: boolean;
  19872. /**
  19873. * (Gantt) Override Pathfinder connector options for a series. Requires
  19874. * Highcharts Gantt to be loaded.
  19875. */
  19876. connectors?: SeriesConnectorsOptionsObject;
  19877. /**
  19878. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  19879. * rounded to its nearest pixel in order to render sharp on screen. In some
  19880. * cases, when there are a lot of densely packed columns, this leads to
  19881. * visible difference in column widths or distance between columns. In these
  19882. * cases, setting `crisp` to `false` may look better, even though each
  19883. * column is rendered blurry.
  19884. */
  19885. crisp?: boolean;
  19886. /**
  19887. * (Highcharts, Highstock) When the series contains less points than the
  19888. * crop threshold, all points are drawn, even if the points fall outside the
  19889. * visible plot area at the current zoom. The advantage of drawing all
  19890. * points (including markers and columns), is that animation is performed on
  19891. * updates. On the other hand, when the series contains more points than the
  19892. * crop threshold, the series data is cropped to only contain points that
  19893. * fall within the plot area. The advantage of cropping away invisible
  19894. * points is to increase performance on large series.
  19895. */
  19896. cropThreshold?: number;
  19897. /**
  19898. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  19899. * click events attached to the series, to signal to the user that the
  19900. * points and lines can be clicked.
  19901. *
  19902. * In styled mode, the series cursor can be set with the same classes as
  19903. * listed under series.color.
  19904. */
  19905. cursor?: (string|CursorValue);
  19906. /**
  19907. * (Highcharts, Highstock) A reserved subspace to store options and values
  19908. * for customized functionality. Here you can add additional data for your
  19909. * own event callbacks and formatter callbacks.
  19910. */
  19911. custom?: Dictionary<any>;
  19912. /**
  19913. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  19914. * for some series types the outline of each shape.
  19915. *
  19916. * In styled mode, the stroke dash-array can be set with the same classes as
  19917. * listed under series.color.
  19918. */
  19919. dashStyle?: DashStyleValue;
  19920. /**
  19921. * (Highstock) Data grouping is the concept of sampling the data values into
  19922. * larger blocks in order to ease readability and increase performance of
  19923. * the JavaScript charts. Highcharts Stock by default applies data grouping
  19924. * when the points become closer than a certain pixel value, determined by
  19925. * the `groupPixelWidth` option.
  19926. *
  19927. * If data grouping is applied, the grouping information of grouped points
  19928. * can be read from the Point.dataGroup. If point options other than the
  19929. * data itself are set, for example `name` or `color` or custom properties,
  19930. * the grouping logic doesn't know how to group it. In this case the options
  19931. * of the first point instance are copied over to the group point. This can
  19932. * be altered through a custom `approximation` callback function.
  19933. */
  19934. dataGrouping?: DataGroupingOptionsObject;
  19935. /**
  19936. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  19937. * labels, appearing next to each data point.
  19938. *
  19939. * Since v6.2.0, multiple data labels can be applied to each single point by
  19940. * defining them as an array of configs.
  19941. *
  19942. * In styled mode, the data labels can be styled with the
  19943. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  19944. * (see example).
  19945. */
  19946. dataLabels?: (PlotAreaDataLabelsOptions|Array<PlotAreaDataLabelsOptions>);
  19947. /**
  19948. * (Highcharts, Highstock) Options for the series data sorting.
  19949. */
  19950. dataSorting?: (DataSortingOptionsObject|PlotAreaDataSortingOptions);
  19951. /**
  19952. * (Highcharts, Highstock) A description of the series to add to the screen
  19953. * reader information about the series.
  19954. */
  19955. description?: string;
  19956. /**
  19957. * (Highcharts, Highstock) The draggable-points module allows points to be
  19958. * moved around or modified in the chart. In addition to the options
  19959. * mentioned under the `dragDrop` API structure, the module fires three
  19960. * events, point.dragStart, point.drag and point.drop.
  19961. */
  19962. dragDrop?: SeriesDragDropOptionsObject;
  19963. /**
  19964. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  19965. * specific series. This includes point tooltips and click events on graphs
  19966. * and points. For large datasets it improves performance.
  19967. */
  19968. enableMouseTracking?: boolean;
  19969. /**
  19970. * (Highcharts, Highstock) General event handlers for the series items.
  19971. * These event hooks can also be attached to the series at run time using
  19972. * the `Highcharts.addEvent` function.
  19973. */
  19974. events?: SeriesEventsOptionsObject;
  19975. /**
  19976. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  19977. * the series' `color` is used with the series' `fillOpacity`.
  19978. *
  19979. * In styled mode, the fill color can be set with the `.highcharts-area`
  19980. * class name.
  19981. */
  19982. fillColor?: (ColorString|GradientColorObject|PatternObject);
  19983. /**
  19984. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  19985. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  19986. * should define the opacity in the `fillColor` with an rgba color
  19987. * definition. The `fillOpacity` setting, also the default setting,
  19988. * overrides the alpha component of the `color` setting.
  19989. *
  19990. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  19991. * class name.
  19992. */
  19993. fillOpacity?: number;
  19994. /**
  19995. * (Highcharts, Highstock) Determines whether the series should look for the
  19996. * nearest point in both dimensions or just the x-dimension when hovering
  19997. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  19998. * other series. If the data has duplicate x-values, it is recommended to
  19999. * set this to `'xy'` to allow hovering over all points.
  20000. *
  20001. * Applies only to series types using nearest neighbor search (not direct
  20002. * hover) for tooltip.
  20003. */
  20004. findNearestPointBy?: OptionsFindNearestPointByValue;
  20005. /**
  20006. * (Highstock) Defines when to display a gap in the graph, together with the
  20007. * gapUnit option.
  20008. *
  20009. * In case when `dataGrouping` is enabled, points can be grouped into a
  20010. * larger time span. This can make the grouped points to have a greater
  20011. * distance than the absolute value of `gapSize` property, which will result
  20012. * in disappearing graph completely. To prevent this situation the mentioned
  20013. * distance between grouped points is used instead of previously defined
  20014. * `gapSize`.
  20015. *
  20016. * In practice, this option is most often used to visualize gaps in time
  20017. * series. In a stock chart, intraday data is available for daytime hours,
  20018. * while gaps will appear in nights and weekends.
  20019. */
  20020. gapSize?: number;
  20021. /**
  20022. * (Highstock) Together with gapSize, this option defines where to draw gaps
  20023. * in the graph.
  20024. *
  20025. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  20026. * if the distance between two points is greater than 5 times that of the
  20027. * two closest points, the graph will be broken.
  20028. *
  20029. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  20030. * values, which on a datetime axis is milliseconds. This also applies to
  20031. * the navigator series that inherits gap options from the base series.
  20032. */
  20033. gapUnit?: OptionsGapUnitValue;
  20034. /**
  20035. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  20036. * chart width or only the zoomed area when zooming in on parts of the X
  20037. * axis. By default, the Y axis adjusts to the min and max of the visible
  20038. * data. Cartesian series only.
  20039. */
  20040. getExtremesFromAll?: boolean;
  20041. /**
  20042. * (Highcharts, Highstock) When set to `false` will prevent the series data
  20043. * from being included in any form of data export.
  20044. *
  20045. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  20046. * `includeInCSVExport`.
  20047. */
  20048. includeInDataExport?: boolean;
  20049. /**
  20050. * (Highmaps) What property to join the `mapData` to the value data. For
  20051. * example, if joinBy is "code", the mapData items with a specific code is
  20052. * merged into the data with the same code. For maps loaded from GeoJSON,
  20053. * the keys may be held in each point's `properties` object.
  20054. *
  20055. * The joinBy option can also be an array of two values, where the first
  20056. * points to a key in the `mapData`, and the second points to another key in
  20057. * the `data`.
  20058. *
  20059. * When joinBy is `null`, the map items are joined by their position in the
  20060. * array, which performs much better in maps with many data points. This is
  20061. * the recommended option if you are printing more than a thousand data
  20062. * points and have a backend that can preprocess the data into a parallel
  20063. * array of the mapData.
  20064. */
  20065. joinBy?: (string|Array<string>);
  20066. /**
  20067. * (Highcharts, Highstock) An array specifying which option maps to which
  20068. * key in the data point array. This makes it convenient to work with
  20069. * unstructured data arrays from different sources.
  20070. */
  20071. keys?: Array<string>;
  20072. /**
  20073. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  20074. * series as possible in a natural way, seeking to avoid other series. The
  20075. * goal of this feature is to make the chart more easily readable, like if a
  20076. * human designer placed the labels in the optimal position.
  20077. *
  20078. * The series labels currently work with series types having a `graph` or an
  20079. * `area`.
  20080. */
  20081. label?: SeriesLabelOptionsObject;
  20082. /**
  20083. * (Highstock) The line marks the last price from all points.
  20084. */
  20085. lastPrice?: SeriesLastPriceOptionsObject;
  20086. /**
  20087. * (Highstock) The line marks the last price from visible range of points.
  20088. */
  20089. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  20090. /**
  20091. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  20092. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  20093. * the ends and bends.
  20094. */
  20095. linecap?: SeriesLinecapValue;
  20096. /**
  20097. * (Highcharts, Highstock) A separate color for the graph line. By default
  20098. * the line takes the `color` of the series, but the lineColor setting
  20099. * allows setting a separate color for the line without altering the
  20100. * `fillColor`.
  20101. *
  20102. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  20103. * class name.
  20104. */
  20105. lineColor?: (ColorString|GradientColorObject|PatternObject);
  20106. /**
  20107. * (Highcharts, Highstock) Pixel width of the graph line.
  20108. */
  20109. lineWidth?: number;
  20110. /**
  20111. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  20112. * Additionally, the value can be ":previous" to link to the previous
  20113. * series. When two series are linked, only the first one appears in the
  20114. * legend. Toggling the visibility of this also toggles the linked series.
  20115. *
  20116. * If master series uses data sorting and linked series does not have its
  20117. * own sorting definition, the linked series will be sorted in the same
  20118. * order as the master one.
  20119. */
  20120. linkedTo?: string;
  20121. /**
  20122. * (Highcharts, Highstock) Options for the point markers of line-like
  20123. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  20124. * the visual appearance of the markers. Other series types, like column
  20125. * series, don't have markers, but have visual options on the series level
  20126. * instead.
  20127. *
  20128. * In styled mode, the markers can be styled with the `.highcharts-point`,
  20129. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  20130. */
  20131. marker?: PointMarkerOptionsObject;
  20132. /**
  20133. * (Highstock) Options for the corresponding navigator series if
  20134. * `showInNavigator` is `true` for this series. Available options are the
  20135. * same as any series, documented at plotOptions and series.
  20136. *
  20137. * These options are merged with options in navigator.series, and will take
  20138. * precedence if the same option is defined both places.
  20139. */
  20140. navigatorOptions?: PlotSeriesOptions;
  20141. /**
  20142. * (Highcharts, Highstock) The color for the parts of the graph or points
  20143. * that are below the threshold. Note that `zones` takes precedence over the
  20144. * negative color. Using `negativeColor` is equivalent to applying a zone
  20145. * with value of 0.
  20146. */
  20147. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  20148. /**
  20149. * (Highcharts) A separate color for the negative part of the area.
  20150. *
  20151. * In styled mode, a negative color is set with the `.highcharts-negative`
  20152. * class name.
  20153. */
  20154. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  20155. /**
  20156. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  20157. * and dataLabels.
  20158. */
  20159. opacity?: number;
  20160. /**
  20161. * (Highcharts, Highstock) Properties for each single point.
  20162. */
  20163. point?: PlotSeriesPointOptions;
  20164. /**
  20165. * (Highcharts, Highstock) Same as
  20166. * accessibility.series.descriptionFormatter, but for an individual series.
  20167. * Overrides the chart wide configuration.
  20168. */
  20169. pointDescriptionFormatter?: Function;
  20170. /**
  20171. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20172. * a series, `pointInterval` defines the interval of the x values. For
  20173. * example, if a series contains one value every decade starting from year
  20174. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  20175. * `pointInterval` is set in milliseconds.
  20176. *
  20177. * It can be also be combined with `pointIntervalUnit` to draw irregular
  20178. * time intervals.
  20179. *
  20180. * Please note that this options applies to the _series data_, not the
  20181. * interval of the axis ticks, which is independent.
  20182. */
  20183. pointInterval?: number;
  20184. /**
  20185. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  20186. * setting the pointInterval to irregular time units, `day`, `month` and
  20187. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  20188. * also takes the DST crossover into consideration when dealing with local
  20189. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  20190. * months, 10 years etc.
  20191. *
  20192. * Please note that this options applies to the _series data_, not the
  20193. * interval of the axis ticks, which is independent.
  20194. */
  20195. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  20196. /**
  20197. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  20198. * `number`.
  20199. *
  20200. * In a column chart, when pointPlacement is `"on"`, the point will not
  20201. * create any padding of the X axis. In a polar column chart this means that
  20202. * the first column points directly north. If the pointPlacement is
  20203. * `"between"`, the columns will be laid out between ticks. This is useful
  20204. * for example for visualising an amount between two points in time or in a
  20205. * certain sector of a polar chart.
  20206. *
  20207. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  20208. * is on the axis value, -0.5 is between this value and the previous, and
  20209. * 0.5 is between this value and the next. Unlike the textual options,
  20210. * numeric point placement options won't affect axis padding.
  20211. *
  20212. * Note that pointPlacement needs a pointRange to work. For column series
  20213. * this is computed, but for line-type series it needs to be set.
  20214. *
  20215. * For the `xrange` series type and gantt charts, if the Y axis is a
  20216. * category axis, the `pointPlacement` applies to the Y axis rather than the
  20217. * (typically datetime) X axis.
  20218. *
  20219. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  20220. */
  20221. pointPlacement?: (number|string);
  20222. /**
  20223. * (Highstock) The width of each point on the x axis. For example in a
  20224. * column chart with one value each day, the pointRange would be 1 day (= 24
  20225. * * 3600
  20226. *
  20227. * * 1000 milliseconds). This is normally computed automatically, but this
  20228. * option can be used to override the automatic value.
  20229. */
  20230. pointRange?: number;
  20231. /**
  20232. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20233. * a series, pointStart defines on what value to start. For example, if a
  20234. * series contains one yearly value starting from 1945, set pointStart to
  20235. * 1945.
  20236. */
  20237. pointStart?: number;
  20238. /**
  20239. * (Highcharts, Highstock) Whether to select the series initially. If
  20240. * `showCheckbox` is true, the checkbox next to the series name in the
  20241. * legend will be checked for a selected series.
  20242. */
  20243. selected?: boolean;
  20244. /**
  20245. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  20246. * Since 2.3 the shadow can be an object configuration containing `color`,
  20247. * `offsetX`, `offsetY`, `opacity` and `width`.
  20248. */
  20249. shadow?: (boolean|ShadowOptionsObject);
  20250. /**
  20251. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  20252. * legend item to allow selecting the series. The state of the checkbox is
  20253. * determined by the `selected` option.
  20254. */
  20255. showCheckbox?: boolean;
  20256. /**
  20257. * (Highcharts, Highstock) Whether to display this particular series or
  20258. * series type in the legend. Standalone series are shown in legend by
  20259. * default, and linked series are not. Since v7.2.0 it is possible to show
  20260. * series that use colorAxis by setting this option to `true`.
  20261. */
  20262. showInLegend?: boolean;
  20263. /**
  20264. * (Highstock) Whether or not to show the series in the navigator. Takes
  20265. * precedence over navigator.baseSeries if defined.
  20266. */
  20267. showInNavigator?: boolean;
  20268. /**
  20269. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  20270. * skip past the points in this series for keyboard navigation.
  20271. */
  20272. skipKeyboardNavigation?: boolean;
  20273. /**
  20274. * (Highcharts, Highstock) When this is true, the series will not cause the
  20275. * Y axis to cross the zero plane (or threshold option) unless the data
  20276. * actually crosses the plane.
  20277. *
  20278. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  20279. * make the Y axis show negative values according to the `minPadding`
  20280. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  20281. */
  20282. softThreshold?: boolean;
  20283. /**
  20284. * (Highcharts, Highstock) Whether to stack the values of each series on top
  20285. * of each other. Possible values are `undefined` to disable, `"normal"` to
  20286. * stack by value or `"percent"`.
  20287. *
  20288. * When stacking is enabled, data must be sorted in ascending X order.
  20289. *
  20290. * Some stacking options are related to specific series types. In the
  20291. * streamgraph series type, the stacking option is set to `"stream"`. The
  20292. * second one is `"overlap"`, which only applies to waterfall series.
  20293. */
  20294. stacking?: OptionsStackingValue;
  20295. states?: SeriesStatesOptionsObject;
  20296. /**
  20297. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  20298. * values are `left`, `center` and `right`.
  20299. */
  20300. step?: OptionsStepValue;
  20301. /**
  20302. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  20303. * `mouseOut` event on a series isn't triggered until the mouse moves over
  20304. * another series, or out of the plot area. When false, the `mouseOut` event
  20305. * on a series is triggered when the mouse leaves the area around the
  20306. * series' graph or markers. This also implies the tooltip when not shared.
  20307. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  20308. * will be hidden when moving the mouse between series. Defaults to true for
  20309. * line and area type series, but to false for columns, pies etc.
  20310. *
  20311. * **Note:** The boost module will force this option because of technical
  20312. * limitations.
  20313. */
  20314. stickyTracking?: boolean;
  20315. /**
  20316. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  20317. * area, for distinguishing between values above and below a threshold. The
  20318. * area between the graph and the threshold is filled.
  20319. *
  20320. * * If a number is given, the Y axis will scale to the threshold.
  20321. *
  20322. * * If `null`, the scaling behaves like a line series with fill between the
  20323. * graph and the Y axis minimum.
  20324. *
  20325. * * If `Infinity` or `-Infinity`, the area between the graph and the
  20326. * corresponding Y axis extreme is filled (since v6.1.0).
  20327. */
  20328. threshold?: (number|null);
  20329. /**
  20330. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  20331. * of each single series. Properties are inherited from tooltip, but only
  20332. * the following properties can be defined on a series level.
  20333. */
  20334. tooltip?: SeriesTooltipOptionsObject;
  20335. /**
  20336. * (Highcharts, Highstock) Whether the whole area or just the line should
  20337. * respond to mouseover tooltips and other mouse or touch events.
  20338. */
  20339. trackByArea?: boolean;
  20340. /**
  20341. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  20342. * is longer than this, only one dimensional arrays of numbers, or two
  20343. * dimensional arrays with x and y values are allowed. Also, only the first
  20344. * point is tested, and the rest are assumed to be the same format. This
  20345. * saves expensive data checking and indexing in long series. Set it to `0`
  20346. * disable.
  20347. *
  20348. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  20349. * two dimensional arrays are allowed.
  20350. */
  20351. turboThreshold?: number;
  20352. /**
  20353. * (Highcharts, Highstock) Set the initial visibility of the series.
  20354. */
  20355. visible?: boolean;
  20356. /**
  20357. * (Highmaps) Define the z index of the series.
  20358. */
  20359. zIndex?: number;
  20360. /**
  20361. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  20362. */
  20363. zoneAxis?: string;
  20364. /**
  20365. * (Highcharts, Highstock) An array defining zones within a series. Zones
  20366. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  20367. * the `zoneAxis` option. The zone definitions have to be in ascending order
  20368. * regarding to the value.
  20369. *
  20370. * In styled mode, the color zones are styled with the
  20371. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  20372. * option (view live demo).
  20373. */
  20374. zones?: Array<SeriesZonesOptionsObject>;
  20375. }
  20376. /**
  20377. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20378. * is displayed. The animation can also be set as a configuration object. Please
  20379. * note that this option only applies to the initial animation of the series
  20380. * itself. For other animations, see chart.animation and the animation parameter
  20381. * under the API methods. The following properties are supported:
  20382. *
  20383. * - `defer`: The animation delay time in milliseconds.
  20384. *
  20385. * - `duration`: The duration of the animation in milliseconds.
  20386. *
  20387. * - `easing`: Can be a string reference to an easing function set on the `Math`
  20388. * object or a function. See the _Custom easing function_ demo below.
  20389. *
  20390. * Due to poor performance, animation is disabled in old IE browsers for several
  20391. * chart types.
  20392. */
  20393. export interface PlotArearangeAnimationOptions {
  20394. defer?: number;
  20395. }
  20396. /**
  20397. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  20398. * is displayed for the `dataLabels`. The animation can also be set as a
  20399. * configuration object. Please note that this option only applies to the
  20400. * initial animation. For other animations, see chart.animation and the
  20401. * animation parameter under the API methods. The following properties are
  20402. * supported:
  20403. *
  20404. * - `defer`: The animation delay time in milliseconds.
  20405. */
  20406. export interface PlotArearangeDataLabelsAnimationOptions {
  20407. /**
  20408. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  20409. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  20410. * from the series.animation.defer.
  20411. */
  20412. defer?: number;
  20413. }
  20414. /**
  20415. * (Highcharts, Highstock) Options for the series data sorting.
  20416. */
  20417. export interface PlotArearangeDataSortingOptions {
  20418. /**
  20419. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  20420. * Use xAxis.reversed to change the sorting order.
  20421. */
  20422. enabled?: boolean;
  20423. /**
  20424. * (Highcharts, Highstock) Whether to allow matching points by name in an
  20425. * update. If this option is disabled, points will be matched by order.
  20426. */
  20427. matchByName?: boolean;
  20428. /**
  20429. * (Highcharts, Highstock) Determines what data value should be used to sort
  20430. * by.
  20431. */
  20432. sortKey?: string;
  20433. }
  20434. /**
  20435. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  20436. * one state by default, the `default` state.
  20437. */
  20438. export interface PlotArearangeDragDropGuideBoxOptions {
  20439. /**
  20440. * (Highcharts, Highstock) Style options for the guide box default state.
  20441. */
  20442. default?: DragDropGuideBoxOptionsObject;
  20443. }
  20444. /**
  20445. * (Highcharts, Highstock) The area range series is a carteseian series with
  20446. * higher and lower values for each point along an X axis, where the area
  20447. * between the values is shaded.
  20448. *
  20449. * In TypeScript the type option must always be set.
  20450. *
  20451. * Configuration options for the series are given in three levels:
  20452. *
  20453. * 1. Options for all series in a chart are defined in the plotOptions.series
  20454. * object.
  20455. *
  20456. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  20457. *
  20458. * 3. Options for one single series are given in the series instance array. (see
  20459. * online documentation for example)
  20460. */
  20461. export interface PlotArearangeOptions {
  20462. /**
  20463. * (Highcharts, Highstock) Accessibility options for a series.
  20464. */
  20465. accessibility?: SeriesAccessibilityOptionsObject;
  20466. /**
  20467. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  20468. * rendered. If `true`, areas which don't correspond to a data point, are
  20469. * rendered as `null` points. If `false`, those areas are skipped.
  20470. */
  20471. allAreas?: boolean;
  20472. /**
  20473. * (Highcharts, Highstock) Allow this series' points to be selected by
  20474. * clicking on the graphic (columns, point markers, pie slices, map areas
  20475. * etc).
  20476. *
  20477. * The selected points can be handled by point select and unselect events,
  20478. * or collectively by the getSelectedPoints function.
  20479. *
  20480. * And alternative way of selecting points is through dragging.
  20481. */
  20482. allowPointSelect?: boolean;
  20483. /**
  20484. * (Highcharts, Highstock) Enable or disable the initial animation when a
  20485. * series is displayed. The animation can also be set as a configuration
  20486. * object. Please note that this option only applies to the initial
  20487. * animation of the series itself. For other animations, see chart.animation
  20488. * and the animation parameter under the API methods. The following
  20489. * properties are supported:
  20490. *
  20491. * - `defer`: The animation delay time in milliseconds.
  20492. *
  20493. * - `duration`: The duration of the animation in milliseconds.
  20494. *
  20495. * - `easing`: Can be a string reference to an easing function set on the
  20496. * `Math` object or a function. See the _Custom easing function_ demo below.
  20497. *
  20498. * Due to poor performance, animation is disabled in old IE browsers for
  20499. * several chart types.
  20500. */
  20501. animation?: (boolean|PlotArearangeAnimationOptions|Partial<AnimationOptionsObject>);
  20502. /**
  20503. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  20504. * initial animation by default when the total number of points in the chart
  20505. * is too high. For example, for a column chart and its derivatives,
  20506. * animation does not run if there is more than 250 points totally. To
  20507. * disable this cap, set `animationLimit` to `Infinity`.
  20508. */
  20509. animationLimit?: number;
  20510. /**
  20511. * (Highcharts, Highstock) Sets the color blending in the boost module.
  20512. */
  20513. boostBlending?: OptionsBoostBlendingValue;
  20514. /**
  20515. * (Highcharts, Highstock) Set the point threshold for when a series should
  20516. * enter boost mode.
  20517. *
  20518. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  20519. * there are 2000 or more points in the series.
  20520. *
  20521. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  20522. * it to 1 will force boosting.
  20523. *
  20524. * Note that the cropThreshold also affects this setting. When zooming in on
  20525. * a series that has fewer points than the `cropThreshold`, all points are
  20526. * rendered although outside the visible plot area, and the `boostThreshold`
  20527. * won't take effect.
  20528. */
  20529. boostThreshold?: number;
  20530. /**
  20531. * (Highmaps) The border color of the map areas.
  20532. *
  20533. * In styled mode, the border stroke is given in the `.highcharts-point`
  20534. * class.
  20535. */
  20536. borderColor?: (ColorString|GradientColorObject|PatternObject);
  20537. /**
  20538. * (Highmaps) The border width of each map area.
  20539. *
  20540. * In styled mode, the border stroke width is given in the
  20541. * `.highcharts-point` class.
  20542. */
  20543. borderWidth?: number;
  20544. /**
  20545. * (Highcharts, Highstock) An additional class name to apply to the series'
  20546. * graphical elements. This option does not replace default class names of
  20547. * the graphical element.
  20548. */
  20549. className?: string;
  20550. /**
  20551. * (Highcharts, Highstock) Disable this option to allow series rendering in
  20552. * the whole plotting area.
  20553. *
  20554. * **Note:** Clipping should be always enabled when chart.zoomType is set
  20555. */
  20556. clip?: boolean;
  20557. /**
  20558. * (Highcharts, Highstock) The main color of the series. In line type series
  20559. * it applies to the line and the point markers unless otherwise specified.
  20560. * In bar type series it applies to the bars unless a color is specified per
  20561. * point. The default value is pulled from the `options.colors` array.
  20562. *
  20563. * In styled mode, the color can be defined by the colorIndex option. Also,
  20564. * the series color can be set with the `.highcharts-series`,
  20565. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  20566. * `.highcharts-series-{n}` class, or individual classes given by the
  20567. * `className` option.
  20568. */
  20569. color?: (ColorString|GradientColorObject|PatternObject);
  20570. /**
  20571. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  20572. * this number defines which colorAxis the particular series is connected
  20573. * to. It refers to either the axis id or the index of the axis in the
  20574. * colorAxis array, with 0 being the first. Set this option to false to
  20575. * prevent a series from connecting to the default color axis.
  20576. *
  20577. * Since v7.2.0 the option can also be an axis id or an axis index instead
  20578. * of a boolean flag.
  20579. */
  20580. colorAxis?: (boolean|number|string);
  20581. /**
  20582. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  20583. * for the series, so its graphic representations are given the class name
  20584. * `highcharts-color-{n}`.
  20585. */
  20586. colorIndex?: number;
  20587. /**
  20588. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  20589. * used to calculate point color if `colorAxis` is used. Requires to set
  20590. * `min` and `max` if some custom point property is used or if approximation
  20591. * for data grouping is set to `'sum'`.
  20592. */
  20593. colorKey?: string;
  20594. /**
  20595. * (Highstock) Compare the values of the series against the first non-null,
  20596. * non- zero value in the visible range. The y axis will show percentage or
  20597. * absolute change depending on whether `compare` is set to `"percent"` or
  20598. * `"value"`. When this is applied to multiple series, it allows comparing
  20599. * the development of the series against each other. Adds a `change` field
  20600. * to every point object.
  20601. */
  20602. compare?: string;
  20603. /**
  20604. * (Highstock) When compare is `percent`, this option dictates whether to
  20605. * use 0 or 100 as the base of comparison.
  20606. */
  20607. compareBase?: (0|100);
  20608. /**
  20609. * (Highstock) Defines if comparison should start from the first point
  20610. * within the visible range or should start from the first point **before**
  20611. * the range.
  20612. *
  20613. * In other words, this flag determines if first point within the visible
  20614. * range will have 0% (`compareStart=true`) or should have been already
  20615. * calculated according to the previous point (`compareStart=false`).
  20616. */
  20617. compareStart?: boolean;
  20618. /**
  20619. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  20620. * series plot across the extremes.
  20621. */
  20622. connectEnds?: boolean;
  20623. /**
  20624. * (Highcharts, Highstock) Whether to connect a graph line across null
  20625. * points, or render a gap between the two points on either side of the
  20626. * null.
  20627. */
  20628. connectNulls?: boolean;
  20629. /**
  20630. * (Gantt) Override Pathfinder connector options for a series. Requires
  20631. * Highcharts Gantt to be loaded.
  20632. */
  20633. connectors?: SeriesConnectorsOptionsObject;
  20634. /**
  20635. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  20636. * rounded to its nearest pixel in order to render sharp on screen. In some
  20637. * cases, when there are a lot of densely packed columns, this leads to
  20638. * visible difference in column widths or distance between columns. In these
  20639. * cases, setting `crisp` to `false` may look better, even though each
  20640. * column is rendered blurry.
  20641. */
  20642. crisp?: boolean;
  20643. /**
  20644. * (Highcharts, Highstock) When the series contains less points than the
  20645. * crop threshold, all points are drawn, even if the points fall outside the
  20646. * visible plot area at the current zoom. The advantage of drawing all
  20647. * points (including markers and columns), is that animation is performed on
  20648. * updates. On the other hand, when the series contains more points than the
  20649. * crop threshold, the series data is cropped to only contain points that
  20650. * fall within the plot area. The advantage of cropping away invisible
  20651. * points is to increase performance on large series.
  20652. */
  20653. cropThreshold?: number;
  20654. /**
  20655. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  20656. * click events attached to the series, to signal to the user that the
  20657. * points and lines can be clicked.
  20658. *
  20659. * In styled mode, the series cursor can be set with the same classes as
  20660. * listed under series.color.
  20661. */
  20662. cursor?: (string|CursorValue);
  20663. /**
  20664. * (Highcharts, Highstock) A reserved subspace to store options and values
  20665. * for customized functionality. Here you can add additional data for your
  20666. * own event callbacks and formatter callbacks.
  20667. */
  20668. custom?: Dictionary<any>;
  20669. /**
  20670. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  20671. * for some series types the outline of each shape.
  20672. *
  20673. * In styled mode, the stroke dash-array can be set with the same classes as
  20674. * listed under series.color.
  20675. */
  20676. dashStyle?: DashStyleValue;
  20677. /**
  20678. * (Highstock) Data grouping is the concept of sampling the data values into
  20679. * larger blocks in order to ease readability and increase performance of
  20680. * the JavaScript charts. Highcharts Stock by default applies data grouping
  20681. * when the points become closer than a certain pixel value, determined by
  20682. * the `groupPixelWidth` option.
  20683. *
  20684. * If data grouping is applied, the grouping information of grouped points
  20685. * can be read from the Point.dataGroup. If point options other than the
  20686. * data itself are set, for example `name` or `color` or custom properties,
  20687. * the grouping logic doesn't know how to group it. In this case the options
  20688. * of the first point instance are copied over to the group point. This can
  20689. * be altered through a custom `approximation` callback function.
  20690. */
  20691. dataGrouping?: DataGroupingOptionsObject;
  20692. /**
  20693. * (Highcharts, Highstock) Extended data labels for range series types.
  20694. * Range series data labels use no `x` and `y` options. Instead, they have
  20695. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  20696. * data label sets individually.
  20697. */
  20698. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  20699. /**
  20700. * (Highcharts, Highstock) Options for the series data sorting.
  20701. */
  20702. dataSorting?: (DataSortingOptionsObject|PlotArearangeDataSortingOptions);
  20703. /**
  20704. * (Highcharts, Highstock) A description of the series to add to the screen
  20705. * reader information about the series.
  20706. */
  20707. description?: string;
  20708. /**
  20709. * (Highcharts, Highstock) The draggable-points module allows points to be
  20710. * moved around or modified in the chart. In addition to the options
  20711. * mentioned under the `dragDrop` API structure, the module fires three
  20712. * events, point.dragStart, point.drag and point.drop.
  20713. */
  20714. dragDrop?: SeriesDragDropOptionsObject;
  20715. /**
  20716. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  20717. * specific series. This includes point tooltips and click events on graphs
  20718. * and points. For large datasets it improves performance.
  20719. */
  20720. enableMouseTracking?: boolean;
  20721. /**
  20722. * (Highcharts, Highstock) General event handlers for the series items.
  20723. * These event hooks can also be attached to the series at run time using
  20724. * the `Highcharts.addEvent` function.
  20725. */
  20726. events?: SeriesEventsOptionsObject;
  20727. /**
  20728. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  20729. * the series' `color` is used with the series' `fillOpacity`.
  20730. *
  20731. * In styled mode, the fill color can be set with the `.highcharts-area`
  20732. * class name.
  20733. */
  20734. fillColor?: (ColorString|GradientColorObject|PatternObject);
  20735. /**
  20736. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  20737. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  20738. * should define the opacity in the `fillColor` with an rgba color
  20739. * definition. The `fillOpacity` setting, also the default setting,
  20740. * overrides the alpha component of the `color` setting.
  20741. *
  20742. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  20743. * class name.
  20744. */
  20745. fillOpacity?: number;
  20746. /**
  20747. * (Highcharts, Highstock) Determines whether the series should look for the
  20748. * nearest point in both dimensions or just the x-dimension when hovering
  20749. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  20750. * other series. If the data has duplicate x-values, it is recommended to
  20751. * set this to `'xy'` to allow hovering over all points.
  20752. *
  20753. * Applies only to series types using nearest neighbor search (not direct
  20754. * hover) for tooltip.
  20755. */
  20756. findNearestPointBy?: OptionsFindNearestPointByValue;
  20757. /**
  20758. * (Highstock) Defines when to display a gap in the graph, together with the
  20759. * gapUnit option.
  20760. *
  20761. * In case when `dataGrouping` is enabled, points can be grouped into a
  20762. * larger time span. This can make the grouped points to have a greater
  20763. * distance than the absolute value of `gapSize` property, which will result
  20764. * in disappearing graph completely. To prevent this situation the mentioned
  20765. * distance between grouped points is used instead of previously defined
  20766. * `gapSize`.
  20767. *
  20768. * In practice, this option is most often used to visualize gaps in time
  20769. * series. In a stock chart, intraday data is available for daytime hours,
  20770. * while gaps will appear in nights and weekends.
  20771. */
  20772. gapSize?: number;
  20773. /**
  20774. * (Highstock) Together with gapSize, this option defines where to draw gaps
  20775. * in the graph.
  20776. *
  20777. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  20778. * if the distance between two points is greater than 5 times that of the
  20779. * two closest points, the graph will be broken.
  20780. *
  20781. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  20782. * values, which on a datetime axis is milliseconds. This also applies to
  20783. * the navigator series that inherits gap options from the base series.
  20784. */
  20785. gapUnit?: OptionsGapUnitValue;
  20786. /**
  20787. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  20788. * chart width or only the zoomed area when zooming in on parts of the X
  20789. * axis. By default, the Y axis adjusts to the min and max of the visible
  20790. * data. Cartesian series only.
  20791. */
  20792. getExtremesFromAll?: boolean;
  20793. /**
  20794. * (Highcharts, Highstock) When set to `false` will prevent the series data
  20795. * from being included in any form of data export.
  20796. *
  20797. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  20798. * `includeInCSVExport`.
  20799. */
  20800. includeInDataExport?: boolean;
  20801. /**
  20802. * (Highmaps) What property to join the `mapData` to the value data. For
  20803. * example, if joinBy is "code", the mapData items with a specific code is
  20804. * merged into the data with the same code. For maps loaded from GeoJSON,
  20805. * the keys may be held in each point's `properties` object.
  20806. *
  20807. * The joinBy option can also be an array of two values, where the first
  20808. * points to a key in the `mapData`, and the second points to another key in
  20809. * the `data`.
  20810. *
  20811. * When joinBy is `null`, the map items are joined by their position in the
  20812. * array, which performs much better in maps with many data points. This is
  20813. * the recommended option if you are printing more than a thousand data
  20814. * points and have a backend that can preprocess the data into a parallel
  20815. * array of the mapData.
  20816. */
  20817. joinBy?: (string|Array<string>);
  20818. /**
  20819. * (Highcharts, Highstock) An array specifying which option maps to which
  20820. * key in the data point array. This makes it convenient to work with
  20821. * unstructured data arrays from different sources.
  20822. */
  20823. keys?: Array<string>;
  20824. /**
  20825. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  20826. * series as possible in a natural way, seeking to avoid other series. The
  20827. * goal of this feature is to make the chart more easily readable, like if a
  20828. * human designer placed the labels in the optimal position.
  20829. *
  20830. * The series labels currently work with series types having a `graph` or an
  20831. * `area`.
  20832. */
  20833. label?: SeriesLabelOptionsObject;
  20834. /**
  20835. * (Highstock) The line marks the last price from all points.
  20836. */
  20837. lastPrice?: SeriesLastPriceOptionsObject;
  20838. /**
  20839. * (Highstock) The line marks the last price from visible range of points.
  20840. */
  20841. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  20842. /**
  20843. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  20844. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  20845. * the ends and bends.
  20846. */
  20847. linecap?: SeriesLinecapValue;
  20848. /**
  20849. * (Highcharts, Highstock) A separate color for the graph line. By default
  20850. * the line takes the `color` of the series, but the lineColor setting
  20851. * allows setting a separate color for the line without altering the
  20852. * `fillColor`.
  20853. *
  20854. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  20855. * class name.
  20856. */
  20857. lineColor?: (ColorString|GradientColorObject|PatternObject);
  20858. /**
  20859. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  20860. */
  20861. lineWidth?: number;
  20862. /**
  20863. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  20864. * Additionally, the value can be ":previous" to link to the previous
  20865. * series. When two series are linked, only the first one appears in the
  20866. * legend. Toggling the visibility of this also toggles the linked series.
  20867. *
  20868. * If master series uses data sorting and linked series does not have its
  20869. * own sorting definition, the linked series will be sorted in the same
  20870. * order as the master one.
  20871. */
  20872. linkedTo?: string;
  20873. /**
  20874. * (Highcharts, Highstock) Options for the point markers of line-like
  20875. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  20876. * the visual appearance of the markers. Other series types, like column
  20877. * series, don't have markers, but have visual options on the series level
  20878. * instead.
  20879. *
  20880. * In styled mode, the markers can be styled with the `.highcharts-point`,
  20881. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  20882. */
  20883. marker?: PointMarkerOptionsObject;
  20884. /**
  20885. * (Highstock) Options for the corresponding navigator series if
  20886. * `showInNavigator` is `true` for this series. Available options are the
  20887. * same as any series, documented at plotOptions and series.
  20888. *
  20889. * These options are merged with options in navigator.series, and will take
  20890. * precedence if the same option is defined both places.
  20891. */
  20892. navigatorOptions?: PlotSeriesOptions;
  20893. /**
  20894. * (Highcharts, Highstock) The color for the parts of the graph or points
  20895. * that are below the threshold. Note that `zones` takes precedence over the
  20896. * negative color. Using `negativeColor` is equivalent to applying a zone
  20897. * with value of 0.
  20898. */
  20899. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  20900. /**
  20901. * (Highcharts) A separate color for the negative part of the area.
  20902. *
  20903. * In styled mode, a negative color is set with the `.highcharts-negative`
  20904. * class name.
  20905. */
  20906. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  20907. /**
  20908. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  20909. * and dataLabels.
  20910. */
  20911. opacity?: number;
  20912. /**
  20913. * (Highcharts, Highstock) Properties for each single point.
  20914. */
  20915. point?: PlotSeriesPointOptions;
  20916. /**
  20917. * (Highcharts, Highstock) Same as
  20918. * accessibility.series.descriptionFormatter, but for an individual series.
  20919. * Overrides the chart wide configuration.
  20920. */
  20921. pointDescriptionFormatter?: Function;
  20922. /**
  20923. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20924. * a series, `pointInterval` defines the interval of the x values. For
  20925. * example, if a series contains one value every decade starting from year
  20926. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  20927. * `pointInterval` is set in milliseconds.
  20928. *
  20929. * It can be also be combined with `pointIntervalUnit` to draw irregular
  20930. * time intervals.
  20931. *
  20932. * Please note that this options applies to the _series data_, not the
  20933. * interval of the axis ticks, which is independent.
  20934. */
  20935. pointInterval?: number;
  20936. /**
  20937. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  20938. * setting the pointInterval to irregular time units, `day`, `month` and
  20939. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  20940. * also takes the DST crossover into consideration when dealing with local
  20941. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  20942. * months, 10 years etc.
  20943. *
  20944. * Please note that this options applies to the _series data_, not the
  20945. * interval of the axis ticks, which is independent.
  20946. */
  20947. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  20948. /**
  20949. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  20950. * `number`.
  20951. *
  20952. * In a column chart, when pointPlacement is `"on"`, the point will not
  20953. * create any padding of the X axis. In a polar column chart this means that
  20954. * the first column points directly north. If the pointPlacement is
  20955. * `"between"`, the columns will be laid out between ticks. This is useful
  20956. * for example for visualising an amount between two points in time or in a
  20957. * certain sector of a polar chart.
  20958. *
  20959. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  20960. * is on the axis value, -0.5 is between this value and the previous, and
  20961. * 0.5 is between this value and the next. Unlike the textual options,
  20962. * numeric point placement options won't affect axis padding.
  20963. *
  20964. * Note that pointPlacement needs a pointRange to work. For column series
  20965. * this is computed, but for line-type series it needs to be set.
  20966. *
  20967. * For the `xrange` series type and gantt charts, if the Y axis is a
  20968. * category axis, the `pointPlacement` applies to the Y axis rather than the
  20969. * (typically datetime) X axis.
  20970. *
  20971. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  20972. */
  20973. pointPlacement?: (number|string);
  20974. /**
  20975. * (Highstock) The width of each point on the x axis. For example in a
  20976. * column chart with one value each day, the pointRange would be 1 day (= 24
  20977. * * 3600
  20978. *
  20979. * * 1000 milliseconds). This is normally computed automatically, but this
  20980. * option can be used to override the automatic value.
  20981. */
  20982. pointRange?: number;
  20983. /**
  20984. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  20985. * a series, pointStart defines on what value to start. For example, if a
  20986. * series contains one yearly value starting from 1945, set pointStart to
  20987. * 1945.
  20988. */
  20989. pointStart?: number;
  20990. /**
  20991. * (Highcharts, Highstock) Whether to select the series initially. If
  20992. * `showCheckbox` is true, the checkbox next to the series name in the
  20993. * legend will be checked for a selected series.
  20994. */
  20995. selected?: boolean;
  20996. /**
  20997. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  20998. * the shadow can be an object configuration containing `color`, `offsetX`,
  20999. * `offsetY`, `opacity` and `width`.
  21000. */
  21001. shadow?: (boolean|ShadowOptionsObject);
  21002. /**
  21003. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  21004. * legend item to allow selecting the series. The state of the checkbox is
  21005. * determined by the `selected` option.
  21006. */
  21007. showCheckbox?: boolean;
  21008. /**
  21009. * (Highcharts, Highstock) Whether to display this particular series or
  21010. * series type in the legend. Standalone series are shown in legend by
  21011. * default, and linked series are not. Since v7.2.0 it is possible to show
  21012. * series that use colorAxis by setting this option to `true`.
  21013. */
  21014. showInLegend?: boolean;
  21015. /**
  21016. * (Highstock) Whether or not to show the series in the navigator. Takes
  21017. * precedence over navigator.baseSeries if defined.
  21018. */
  21019. showInNavigator?: boolean;
  21020. /**
  21021. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  21022. * skip past the points in this series for keyboard navigation.
  21023. */
  21024. skipKeyboardNavigation?: boolean;
  21025. /**
  21026. * (Highcharts, Highstock) When this is true, the series will not cause the
  21027. * Y axis to cross the zero plane (or threshold option) unless the data
  21028. * actually crosses the plane.
  21029. *
  21030. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  21031. * make the Y axis show negative values according to the `minPadding`
  21032. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  21033. */
  21034. softThreshold?: boolean;
  21035. states?: SeriesStatesOptionsObject;
  21036. /**
  21037. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  21038. * values are `left`, `center` and `right`.
  21039. */
  21040. step?: OptionsStepValue;
  21041. /**
  21042. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  21043. * `mouseOut` event on a series isn't triggered until the mouse moves over
  21044. * another series, or out of the plot area. When false, the `mouseOut` event
  21045. * on a series is triggered when the mouse leaves the area around the
  21046. * series' graph or markers. This also implies the tooltip when not shared.
  21047. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  21048. * will be hidden when moving the mouse between series. Defaults to true for
  21049. * line and area type series, but to false for columns, pies etc.
  21050. *
  21051. * **Note:** The boost module will force this option because of technical
  21052. * limitations.
  21053. */
  21054. stickyTracking?: boolean;
  21055. /**
  21056. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  21057. * area, for distinguishing between values above and below a threshold. The
  21058. * area between the graph and the threshold is filled.
  21059. *
  21060. * * If a number is given, the Y axis will scale to the threshold.
  21061. *
  21062. * * If `null`, the scaling behaves like a line series with fill between the
  21063. * graph and the Y axis minimum.
  21064. *
  21065. * * If `Infinity` or `-Infinity`, the area between the graph and the
  21066. * corresponding Y axis extreme is filled (since v6.1.0).
  21067. */
  21068. threshold?: (number|null);
  21069. /**
  21070. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  21071. * of each single series. Properties are inherited from tooltip, but only
  21072. * the following properties can be defined on a series level.
  21073. */
  21074. tooltip?: SeriesTooltipOptionsObject;
  21075. /**
  21076. * (Highcharts, Highstock) Whether the whole area or just the line should
  21077. * respond to mouseover tooltips and other mouse or touch events.
  21078. */
  21079. trackByArea?: boolean;
  21080. /**
  21081. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  21082. * is longer than this, only one dimensional arrays of numbers, or two
  21083. * dimensional arrays with x and y values are allowed. Also, only the first
  21084. * point is tested, and the rest are assumed to be the same format. This
  21085. * saves expensive data checking and indexing in long series. Set it to `0`
  21086. * disable.
  21087. *
  21088. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  21089. * two dimensional arrays are allowed.
  21090. */
  21091. turboThreshold?: number;
  21092. /**
  21093. * (Highcharts, Highstock) Set the initial visibility of the series.
  21094. */
  21095. visible?: boolean;
  21096. /**
  21097. * (Highmaps) Define the z index of the series.
  21098. */
  21099. zIndex?: number;
  21100. /**
  21101. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  21102. */
  21103. zoneAxis?: string;
  21104. /**
  21105. * (Highcharts, Highstock) An array defining zones within a series. Zones
  21106. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  21107. * the `zoneAxis` option. The zone definitions have to be in ascending order
  21108. * regarding to the value.
  21109. *
  21110. * In styled mode, the color zones are styled with the
  21111. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  21112. * option (view live demo).
  21113. */
  21114. zones?: Array<SeriesZonesOptionsObject>;
  21115. }
  21116. /**
  21117. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  21118. * is displayed. The animation can also be set as a configuration object. Please
  21119. * note that this option only applies to the initial animation of the series
  21120. * itself. For other animations, see chart.animation and the animation parameter
  21121. * under the API methods. The following properties are supported:
  21122. *
  21123. * - `defer`: The animation delay time in milliseconds.
  21124. *
  21125. * - `duration`: The duration of the animation in milliseconds.
  21126. *
  21127. * - `easing`: Can be a string reference to an easing function set on the `Math`
  21128. * object or a function. See the _Custom easing function_ demo below.
  21129. *
  21130. * Due to poor performance, animation is disabled in old IE browsers for several
  21131. * chart types.
  21132. */
  21133. export interface PlotAreasplineAnimationOptions {
  21134. defer?: number;
  21135. }
  21136. /**
  21137. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  21138. * animation when a series is displayed for the `dataLabels`. The animation can
  21139. * also be set as a configuration object. Please note that this option only
  21140. * applies to the initial animation. For other animations, see chart.animation
  21141. * and the animation parameter under the API methods. The following properties
  21142. * are supported:
  21143. *
  21144. * - `defer`: The animation delay time in milliseconds.
  21145. */
  21146. export interface PlotAreasplineDataLabelsAnimationOptions {
  21147. /**
  21148. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  21149. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  21150. * inherits defer time from the series.animation.defer.
  21151. */
  21152. defer?: number;
  21153. }
  21154. /**
  21155. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  21156. * appearing next to each data point.
  21157. *
  21158. * Since v6.2.0, multiple data labels can be applied to each single point by
  21159. * defining them as an array of configs.
  21160. *
  21161. * In styled mode, the data labels can be styled with the
  21162. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  21163. * example).
  21164. */
  21165. export interface PlotAreasplineDataLabelsOptions {
  21166. /**
  21167. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  21168. * compared to the point. If `right`, the right side of the label should be
  21169. * touching the point. For points with an extent, like columns, the
  21170. * alignments also dictates how to align it inside the box, as given with
  21171. * the inside option. Can be one of `left`, `center` or `right`.
  21172. */
  21173. align?: (AlignValue|null);
  21174. /**
  21175. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  21176. * overlap. To make the labels less sensitive for overlapping, the
  21177. * dataLabels.padding can be set to 0.
  21178. */
  21179. allowOverlap?: boolean;
  21180. /**
  21181. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  21182. * animation when a series is displayed for the `dataLabels`. The animation
  21183. * can also be set as a configuration object. Please note that this option
  21184. * only applies to the initial animation. For other animations, see
  21185. * chart.animation and the animation parameter under the API methods. The
  21186. * following properties are supported:
  21187. *
  21188. * - `defer`: The animation delay time in milliseconds.
  21189. */
  21190. animation?: (boolean|PlotAreasplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  21191. /**
  21192. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  21193. * for the data label.
  21194. */
  21195. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  21196. /**
  21197. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  21198. * label. Defaults to `undefined`.
  21199. */
  21200. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21201. /**
  21202. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  21203. * the data label.
  21204. */
  21205. borderRadius?: number;
  21206. /**
  21207. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  21208. * the data label.
  21209. */
  21210. borderWidth?: number;
  21211. /**
  21212. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  21213. * Particularly in styled mode, this can be used to give each series' or
  21214. * point's data label unique styling. In addition to this option, a default
  21215. * color class name is added so that we can give the labels a contrast text
  21216. * shadow.
  21217. */
  21218. className?: string;
  21219. /**
  21220. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  21221. * labels. Defaults to `undefined`. For certain series types, like column or
  21222. * map, the data labels can be drawn inside the points. In this case the
  21223. * data label will be drawn with maximum contrast by default. Additionally,
  21224. * it will be given a `text-outline` style with the opposite color, to
  21225. * further increase the contrast. This can be overridden by setting the
  21226. * `text-outline` style to `none` in the `dataLabels.style` option.
  21227. */
  21228. color?: (ColorString|GradientColorObject|PatternObject);
  21229. /**
  21230. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  21231. * are outside the plot area. By default, the data label is moved inside the
  21232. * plot area according to the overflow option.
  21233. */
  21234. crop?: boolean;
  21235. /**
  21236. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  21237. * labels until the initial series animation has finished. Setting to
  21238. * `false` renders the data label immediately. If set to `true` inherits the
  21239. * defer time set in plotOptions.series.animation. If set to a number, a
  21240. * defer time is specified in milliseconds.
  21241. */
  21242. defer?: (boolean|number);
  21243. /**
  21244. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  21245. * labels.
  21246. */
  21247. enabled?: boolean;
  21248. /**
  21249. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  21250. * of which data labels to display. The declarative filter is designed for
  21251. * use when callback functions are not available, like when the chart
  21252. * options require a pure JSON structure or for use with graphical editors.
  21253. * For programmatic control, use the `formatter` instead, and return
  21254. * `undefined` to disable a single data label.
  21255. */
  21256. filter?: DataLabelsFilterOptionsObject;
  21257. /**
  21258. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  21259. * label. Available variables are the same as for `formatter`.
  21260. */
  21261. format?: string;
  21262. /**
  21263. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  21264. * format the data label. Note that if a `format` is defined, the format
  21265. * takes precedence and the formatter is ignored.
  21266. */
  21267. formatter?: DataLabelsFormatterCallbackFunction;
  21268. /**
  21269. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  21270. * columns or map areas, whether to align the data label inside the box or
  21271. * to the actual value point. Defaults to `false` in most cases, `true` in
  21272. * stacked columns.
  21273. */
  21274. inside?: boolean;
  21275. /**
  21276. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  21277. * of null. Works analogously to format. `nullFormat` can be applied only to
  21278. * series which support displaying null points.
  21279. */
  21280. nullFormat?: (boolean|string);
  21281. /**
  21282. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  21283. * that defines formatting for points with the value of null. Works
  21284. * analogously to formatter. `nullPointFormatter` can be applied only to
  21285. * series which support displaying null points.
  21286. */
  21287. nullFormatter?: DataLabelsFormatterCallbackFunction;
  21288. /**
  21289. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  21290. * flow outside the plot area. The default is `"justify"`, which aligns them
  21291. * inside the plot area. For columns and bars, this means it will be moved
  21292. * inside the bar. To display data labels outside the plot area, set `crop`
  21293. * to `false` and `overflow` to `"allow"`.
  21294. */
  21295. overflow?: DataLabelsOverflowValue;
  21296. /**
  21297. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  21298. * the `backgroundColor` is set, this is the padding within the box.
  21299. */
  21300. padding?: number;
  21301. /**
  21302. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  21303. * points. If `center` alignment is not possible, it defaults to `right`.
  21304. */
  21305. position?: AlignValue;
  21306. /**
  21307. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  21308. * that due to a more complex structure, backgrounds, borders and padding
  21309. * will be lost on a rotated data label.
  21310. */
  21311. rotation?: number;
  21312. /**
  21313. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  21314. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  21315. * an object configuration containing `color`, `offsetX`, `offsetY`,
  21316. * `opacity` and `width`.
  21317. */
  21318. shadow?: (boolean|ShadowOptionsObject);
  21319. /**
  21320. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  21321. * the border around the label. Symbols are predefined functions on the
  21322. * Renderer object.
  21323. */
  21324. shape?: string;
  21325. /**
  21326. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  21327. * default `color` setting is `"contrast"`, which is a pseudo color that
  21328. * Highcharts picks up and applies the maximum contrast to the underlying
  21329. * point item, for example the bar in a bar chart.
  21330. *
  21331. * The `textOutline` is a pseudo property that applies an outline of the
  21332. * given width with the given color, which by default is the maximum
  21333. * contrast to the text. So a bright text color will result in a black text
  21334. * outline for maximum readability on a mixed background. In some cases,
  21335. * especially with grayscale text, the text outline doesn't work well, in
  21336. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  21337. * is true, the `textOutline` will not be picked up. In this, case, the same
  21338. * effect can be acheived through the `text-shadow` CSS property.
  21339. *
  21340. * For some series types, where each point has an extent, like for example
  21341. * tree maps, the data label may overflow the point. There are two
  21342. * strategies for handling overflow. By default, the text will wrap to
  21343. * multiple lines. The other strategy is to set `style.textOverflow` to
  21344. * `ellipsis`, which will keep the text on one line plus it will break
  21345. * inside long words.
  21346. */
  21347. style?: CSSObject;
  21348. /**
  21349. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  21350. * should follow marker's shape. Border and background are disabled for a
  21351. * label that follows a path.
  21352. *
  21353. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  21354. * to true will disable this option.
  21355. */
  21356. textPath?: DataLabelsTextPathOptionsObject;
  21357. /**
  21358. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  21359. * the labels.
  21360. */
  21361. useHTML?: boolean;
  21362. /**
  21363. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  21364. * label. Can be one of `top`, `middle` or `bottom`. The default value
  21365. * depends on the data, for instance in a column chart, the label is above
  21366. * positive values and below negative values.
  21367. */
  21368. verticalAlign?: (VerticalAlignValue|null);
  21369. /**
  21370. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  21371. * label relative to the point in pixels.
  21372. */
  21373. x?: number;
  21374. /**
  21375. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  21376. * label relative to the point in pixels.
  21377. */
  21378. y?: number;
  21379. /**
  21380. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  21381. * The default Z index puts it above the series. Use a Z index of 2 to
  21382. * display it behind the series.
  21383. */
  21384. z?: number;
  21385. }
  21386. /**
  21387. * (Highcharts, Highstock) Options for the series data sorting.
  21388. */
  21389. export interface PlotAreasplineDataSortingOptions {
  21390. /**
  21391. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  21392. * Use xAxis.reversed to change the sorting order.
  21393. */
  21394. enabled?: boolean;
  21395. /**
  21396. * (Highcharts, Highstock) Whether to allow matching points by name in an
  21397. * update. If this option is disabled, points will be matched by order.
  21398. */
  21399. matchByName?: boolean;
  21400. /**
  21401. * (Highcharts, Highstock) Determines what data value should be used to sort
  21402. * by.
  21403. */
  21404. sortKey?: string;
  21405. }
  21406. /**
  21407. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  21408. * one state by default, the `default` state.
  21409. */
  21410. export interface PlotAreasplineDragDropGuideBoxOptions {
  21411. /**
  21412. * (Highcharts, Highstock) Style options for the guide box default state.
  21413. */
  21414. default?: DragDropGuideBoxOptionsObject;
  21415. }
  21416. /**
  21417. * (Highcharts, Highstock) The area spline series is an area series where the
  21418. * graph between the points is smoothed into a spline.
  21419. *
  21420. * In TypeScript the type option must always be set.
  21421. *
  21422. * Configuration options for the series are given in three levels:
  21423. *
  21424. * 1. Options for all series in a chart are defined in the plotOptions.series
  21425. * object.
  21426. *
  21427. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  21428. *
  21429. * 3. Options for one single series are given in the series instance array. (see
  21430. * online documentation for example)
  21431. */
  21432. export interface PlotAreasplineOptions {
  21433. /**
  21434. * (Highcharts, Highstock) Accessibility options for a series.
  21435. */
  21436. accessibility?: SeriesAccessibilityOptionsObject;
  21437. /**
  21438. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  21439. * rendered. If `true`, areas which don't correspond to a data point, are
  21440. * rendered as `null` points. If `false`, those areas are skipped.
  21441. */
  21442. allAreas?: boolean;
  21443. /**
  21444. * (Highcharts, Highstock) Allow this series' points to be selected by
  21445. * clicking on the graphic (columns, point markers, pie slices, map areas
  21446. * etc).
  21447. *
  21448. * The selected points can be handled by point select and unselect events,
  21449. * or collectively by the getSelectedPoints function.
  21450. *
  21451. * And alternative way of selecting points is through dragging.
  21452. */
  21453. allowPointSelect?: boolean;
  21454. /**
  21455. * (Highcharts, Highstock) Enable or disable the initial animation when a
  21456. * series is displayed. The animation can also be set as a configuration
  21457. * object. Please note that this option only applies to the initial
  21458. * animation of the series itself. For other animations, see chart.animation
  21459. * and the animation parameter under the API methods. The following
  21460. * properties are supported:
  21461. *
  21462. * - `defer`: The animation delay time in milliseconds.
  21463. *
  21464. * - `duration`: The duration of the animation in milliseconds.
  21465. *
  21466. * - `easing`: Can be a string reference to an easing function set on the
  21467. * `Math` object or a function. See the _Custom easing function_ demo below.
  21468. *
  21469. * Due to poor performance, animation is disabled in old IE browsers for
  21470. * several chart types.
  21471. */
  21472. animation?: (boolean|PlotAreasplineAnimationOptions|Partial<AnimationOptionsObject>);
  21473. /**
  21474. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  21475. * initial animation by default when the total number of points in the chart
  21476. * is too high. For example, for a column chart and its derivatives,
  21477. * animation does not run if there is more than 250 points totally. To
  21478. * disable this cap, set `animationLimit` to `Infinity`.
  21479. */
  21480. animationLimit?: number;
  21481. /**
  21482. * (Highmaps) The border color of the map areas.
  21483. *
  21484. * In styled mode, the border stroke is given in the `.highcharts-point`
  21485. * class.
  21486. */
  21487. borderColor?: (ColorString|GradientColorObject|PatternObject);
  21488. /**
  21489. * (Highmaps) The border width of each map area.
  21490. *
  21491. * In styled mode, the border stroke width is given in the
  21492. * `.highcharts-point` class.
  21493. */
  21494. borderWidth?: number;
  21495. /**
  21496. * (Highcharts, Highstock) An additional class name to apply to the series'
  21497. * graphical elements. This option does not replace default class names of
  21498. * the graphical element.
  21499. */
  21500. className?: string;
  21501. /**
  21502. * (Highcharts, Highstock) Disable this option to allow series rendering in
  21503. * the whole plotting area.
  21504. *
  21505. * **Note:** Clipping should be always enabled when chart.zoomType is set
  21506. */
  21507. clip?: boolean;
  21508. /**
  21509. * (Highcharts, Highstock) The main color of the series. In line type series
  21510. * it applies to the line and the point markers unless otherwise specified.
  21511. * In bar type series it applies to the bars unless a color is specified per
  21512. * point. The default value is pulled from the `options.colors` array.
  21513. *
  21514. * In styled mode, the color can be defined by the colorIndex option. Also,
  21515. * the series color can be set with the `.highcharts-series`,
  21516. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  21517. * `.highcharts-series-{n}` class, or individual classes given by the
  21518. * `className` option.
  21519. */
  21520. color?: (ColorString|GradientColorObject|PatternObject);
  21521. /**
  21522. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  21523. * this number defines which colorAxis the particular series is connected
  21524. * to. It refers to either the axis id or the index of the axis in the
  21525. * colorAxis array, with 0 being the first. Set this option to false to
  21526. * prevent a series from connecting to the default color axis.
  21527. *
  21528. * Since v7.2.0 the option can also be an axis id or an axis index instead
  21529. * of a boolean flag.
  21530. */
  21531. colorAxis?: (boolean|number|string);
  21532. /**
  21533. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  21534. * for the series, so its graphic representations are given the class name
  21535. * `highcharts-color-{n}`.
  21536. */
  21537. colorIndex?: number;
  21538. /**
  21539. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  21540. * used to calculate point color if `colorAxis` is used. Requires to set
  21541. * `min` and `max` if some custom point property is used or if approximation
  21542. * for data grouping is set to `'sum'`.
  21543. */
  21544. colorKey?: string;
  21545. /**
  21546. * (Highstock) Compare the values of the series against the first non-null,
  21547. * non- zero value in the visible range. The y axis will show percentage or
  21548. * absolute change depending on whether `compare` is set to `"percent"` or
  21549. * `"value"`. When this is applied to multiple series, it allows comparing
  21550. * the development of the series against each other. Adds a `change` field
  21551. * to every point object.
  21552. */
  21553. compare?: string;
  21554. /**
  21555. * (Highstock) When compare is `percent`, this option dictates whether to
  21556. * use 0 or 100 as the base of comparison.
  21557. */
  21558. compareBase?: (0|100);
  21559. /**
  21560. * (Highstock) Defines if comparison should start from the first point
  21561. * within the visible range or should start from the first point **before**
  21562. * the range.
  21563. *
  21564. * In other words, this flag determines if first point within the visible
  21565. * range will have 0% (`compareStart=true`) or should have been already
  21566. * calculated according to the previous point (`compareStart=false`).
  21567. */
  21568. compareStart?: boolean;
  21569. /**
  21570. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  21571. * series plot across the extremes.
  21572. */
  21573. connectEnds?: boolean;
  21574. /**
  21575. * (Highcharts, Highstock) Whether to connect a graph line across null
  21576. * points, or render a gap between the two points on either side of the
  21577. * null.
  21578. */
  21579. connectNulls?: boolean;
  21580. /**
  21581. * (Gantt) Override Pathfinder connector options for a series. Requires
  21582. * Highcharts Gantt to be loaded.
  21583. */
  21584. connectors?: SeriesConnectorsOptionsObject;
  21585. /**
  21586. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  21587. * rounded to its nearest pixel in order to render sharp on screen. In some
  21588. * cases, when there are a lot of densely packed columns, this leads to
  21589. * visible difference in column widths or distance between columns. In these
  21590. * cases, setting `crisp` to `false` may look better, even though each
  21591. * column is rendered blurry.
  21592. */
  21593. crisp?: boolean;
  21594. /**
  21595. * (Highcharts, Highstock) When the series contains less points than the
  21596. * crop threshold, all points are drawn, even if the points fall outside the
  21597. * visible plot area at the current zoom. The advantage of drawing all
  21598. * points (including markers and columns), is that animation is performed on
  21599. * updates. On the other hand, when the series contains more points than the
  21600. * crop threshold, the series data is cropped to only contain points that
  21601. * fall within the plot area. The advantage of cropping away invisible
  21602. * points is to increase performance on large series.
  21603. */
  21604. cropThreshold?: number;
  21605. /**
  21606. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  21607. * click events attached to the series, to signal to the user that the
  21608. * points and lines can be clicked.
  21609. *
  21610. * In styled mode, the series cursor can be set with the same classes as
  21611. * listed under series.color.
  21612. */
  21613. cursor?: (string|CursorValue);
  21614. /**
  21615. * (Highcharts, Highstock) A reserved subspace to store options and values
  21616. * for customized functionality. Here you can add additional data for your
  21617. * own event callbacks and formatter callbacks.
  21618. */
  21619. custom?: Dictionary<any>;
  21620. /**
  21621. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  21622. * for some series types the outline of each shape.
  21623. *
  21624. * In styled mode, the stroke dash-array can be set with the same classes as
  21625. * listed under series.color.
  21626. */
  21627. dashStyle?: DashStyleValue;
  21628. /**
  21629. * (Highstock) Data grouping is the concept of sampling the data values into
  21630. * larger blocks in order to ease readability and increase performance of
  21631. * the JavaScript charts. Highcharts Stock by default applies data grouping
  21632. * when the points become closer than a certain pixel value, determined by
  21633. * the `groupPixelWidth` option.
  21634. *
  21635. * If data grouping is applied, the grouping information of grouped points
  21636. * can be read from the Point.dataGroup. If point options other than the
  21637. * data itself are set, for example `name` or `color` or custom properties,
  21638. * the grouping logic doesn't know how to group it. In this case the options
  21639. * of the first point instance are copied over to the group point. This can
  21640. * be altered through a custom `approximation` callback function.
  21641. */
  21642. dataGrouping?: DataGroupingOptionsObject;
  21643. /**
  21644. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  21645. * labels, appearing next to each data point.
  21646. *
  21647. * Since v6.2.0, multiple data labels can be applied to each single point by
  21648. * defining them as an array of configs.
  21649. *
  21650. * In styled mode, the data labels can be styled with the
  21651. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  21652. * (see example).
  21653. */
  21654. dataLabels?: (PlotAreasplineDataLabelsOptions|Array<PlotAreasplineDataLabelsOptions>);
  21655. /**
  21656. * (Highcharts, Highstock) Options for the series data sorting.
  21657. */
  21658. dataSorting?: (DataSortingOptionsObject|PlotAreasplineDataSortingOptions);
  21659. /**
  21660. * (Highcharts, Highstock) A description of the series to add to the screen
  21661. * reader information about the series.
  21662. */
  21663. description?: string;
  21664. /**
  21665. * (Highcharts, Highstock) The draggable-points module allows points to be
  21666. * moved around or modified in the chart. In addition to the options
  21667. * mentioned under the `dragDrop` API structure, the module fires three
  21668. * events, point.dragStart, point.drag and point.drop.
  21669. */
  21670. dragDrop?: SeriesDragDropOptionsObject;
  21671. /**
  21672. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  21673. * specific series. This includes point tooltips and click events on graphs
  21674. * and points. For large datasets it improves performance.
  21675. */
  21676. enableMouseTracking?: boolean;
  21677. /**
  21678. * (Highcharts, Highstock) General event handlers for the series items.
  21679. * These event hooks can also be attached to the series at run time using
  21680. * the `Highcharts.addEvent` function.
  21681. */
  21682. events?: SeriesEventsOptionsObject;
  21683. /**
  21684. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  21685. * the series' `color` is used with the series' `fillOpacity`.
  21686. *
  21687. * In styled mode, the fill color can be set with the `.highcharts-area`
  21688. * class name.
  21689. */
  21690. fillColor?: (ColorString|GradientColorObject|PatternObject);
  21691. /**
  21692. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  21693. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  21694. * should define the opacity in the `fillColor` with an rgba color
  21695. * definition. The `fillOpacity` setting, also the default setting,
  21696. * overrides the alpha component of the `color` setting.
  21697. *
  21698. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  21699. * class name.
  21700. */
  21701. fillOpacity?: number;
  21702. /**
  21703. * (Highcharts, Highstock) Determines whether the series should look for the
  21704. * nearest point in both dimensions or just the x-dimension when hovering
  21705. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  21706. * other series. If the data has duplicate x-values, it is recommended to
  21707. * set this to `'xy'` to allow hovering over all points.
  21708. *
  21709. * Applies only to series types using nearest neighbor search (not direct
  21710. * hover) for tooltip.
  21711. */
  21712. findNearestPointBy?: OptionsFindNearestPointByValue;
  21713. /**
  21714. * (Highstock) Defines when to display a gap in the graph, together with the
  21715. * gapUnit option.
  21716. *
  21717. * In case when `dataGrouping` is enabled, points can be grouped into a
  21718. * larger time span. This can make the grouped points to have a greater
  21719. * distance than the absolute value of `gapSize` property, which will result
  21720. * in disappearing graph completely. To prevent this situation the mentioned
  21721. * distance between grouped points is used instead of previously defined
  21722. * `gapSize`.
  21723. *
  21724. * In practice, this option is most often used to visualize gaps in time
  21725. * series. In a stock chart, intraday data is available for daytime hours,
  21726. * while gaps will appear in nights and weekends.
  21727. */
  21728. gapSize?: number;
  21729. /**
  21730. * (Highstock) Together with gapSize, this option defines where to draw gaps
  21731. * in the graph.
  21732. *
  21733. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  21734. * if the distance between two points is greater than 5 times that of the
  21735. * two closest points, the graph will be broken.
  21736. *
  21737. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  21738. * values, which on a datetime axis is milliseconds. This also applies to
  21739. * the navigator series that inherits gap options from the base series.
  21740. */
  21741. gapUnit?: OptionsGapUnitValue;
  21742. /**
  21743. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  21744. * chart width or only the zoomed area when zooming in on parts of the X
  21745. * axis. By default, the Y axis adjusts to the min and max of the visible
  21746. * data. Cartesian series only.
  21747. */
  21748. getExtremesFromAll?: boolean;
  21749. /**
  21750. * (Highcharts, Highstock) When set to `false` will prevent the series data
  21751. * from being included in any form of data export.
  21752. *
  21753. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  21754. * `includeInCSVExport`.
  21755. */
  21756. includeInDataExport?: boolean;
  21757. /**
  21758. * (Highmaps) What property to join the `mapData` to the value data. For
  21759. * example, if joinBy is "code", the mapData items with a specific code is
  21760. * merged into the data with the same code. For maps loaded from GeoJSON,
  21761. * the keys may be held in each point's `properties` object.
  21762. *
  21763. * The joinBy option can also be an array of two values, where the first
  21764. * points to a key in the `mapData`, and the second points to another key in
  21765. * the `data`.
  21766. *
  21767. * When joinBy is `null`, the map items are joined by their position in the
  21768. * array, which performs much better in maps with many data points. This is
  21769. * the recommended option if you are printing more than a thousand data
  21770. * points and have a backend that can preprocess the data into a parallel
  21771. * array of the mapData.
  21772. */
  21773. joinBy?: (string|Array<string>);
  21774. /**
  21775. * (Highcharts, Highstock) An array specifying which option maps to which
  21776. * key in the data point array. This makes it convenient to work with
  21777. * unstructured data arrays from different sources.
  21778. */
  21779. keys?: Array<string>;
  21780. /**
  21781. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  21782. * series as possible in a natural way, seeking to avoid other series. The
  21783. * goal of this feature is to make the chart more easily readable, like if a
  21784. * human designer placed the labels in the optimal position.
  21785. *
  21786. * The series labels currently work with series types having a `graph` or an
  21787. * `area`.
  21788. */
  21789. label?: SeriesLabelOptionsObject;
  21790. /**
  21791. * (Highstock) The line marks the last price from all points.
  21792. */
  21793. lastPrice?: SeriesLastPriceOptionsObject;
  21794. /**
  21795. * (Highstock) The line marks the last price from visible range of points.
  21796. */
  21797. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  21798. /**
  21799. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  21800. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  21801. * the ends and bends.
  21802. */
  21803. linecap?: SeriesLinecapValue;
  21804. /**
  21805. * (Highcharts, Highstock) A separate color for the graph line. By default
  21806. * the line takes the `color` of the series, but the lineColor setting
  21807. * allows setting a separate color for the line without altering the
  21808. * `fillColor`.
  21809. *
  21810. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  21811. * class name.
  21812. */
  21813. lineColor?: (ColorString|GradientColorObject|PatternObject);
  21814. /**
  21815. * (Highcharts, Highstock) Pixel width of the graph line.
  21816. */
  21817. lineWidth?: number;
  21818. /**
  21819. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  21820. * Additionally, the value can be ":previous" to link to the previous
  21821. * series. When two series are linked, only the first one appears in the
  21822. * legend. Toggling the visibility of this also toggles the linked series.
  21823. *
  21824. * If master series uses data sorting and linked series does not have its
  21825. * own sorting definition, the linked series will be sorted in the same
  21826. * order as the master one.
  21827. */
  21828. linkedTo?: string;
  21829. /**
  21830. * (Highcharts, Highstock) Options for the point markers of line-like
  21831. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  21832. * the visual appearance of the markers. Other series types, like column
  21833. * series, don't have markers, but have visual options on the series level
  21834. * instead.
  21835. *
  21836. * In styled mode, the markers can be styled with the `.highcharts-point`,
  21837. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  21838. */
  21839. marker?: PointMarkerOptionsObject;
  21840. /**
  21841. * (Highstock) Options for the corresponding navigator series if
  21842. * `showInNavigator` is `true` for this series. Available options are the
  21843. * same as any series, documented at plotOptions and series.
  21844. *
  21845. * These options are merged with options in navigator.series, and will take
  21846. * precedence if the same option is defined both places.
  21847. */
  21848. navigatorOptions?: PlotSeriesOptions;
  21849. /**
  21850. * (Highcharts, Highstock) The color for the parts of the graph or points
  21851. * that are below the threshold. Note that `zones` takes precedence over the
  21852. * negative color. Using `negativeColor` is equivalent to applying a zone
  21853. * with value of 0.
  21854. */
  21855. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  21856. /**
  21857. * (Highcharts) A separate color for the negative part of the area.
  21858. *
  21859. * In styled mode, a negative color is set with the `.highcharts-negative`
  21860. * class name.
  21861. */
  21862. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  21863. /**
  21864. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  21865. * and dataLabels.
  21866. */
  21867. opacity?: number;
  21868. /**
  21869. * (Highcharts, Highstock) Properties for each single point.
  21870. */
  21871. point?: PlotSeriesPointOptions;
  21872. /**
  21873. * (Highcharts, Highstock) Same as
  21874. * accessibility.series.descriptionFormatter, but for an individual series.
  21875. * Overrides the chart wide configuration.
  21876. */
  21877. pointDescriptionFormatter?: Function;
  21878. /**
  21879. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21880. * a series, `pointInterval` defines the interval of the x values. For
  21881. * example, if a series contains one value every decade starting from year
  21882. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  21883. * `pointInterval` is set in milliseconds.
  21884. *
  21885. * It can be also be combined with `pointIntervalUnit` to draw irregular
  21886. * time intervals.
  21887. *
  21888. * Please note that this options applies to the _series data_, not the
  21889. * interval of the axis ticks, which is independent.
  21890. */
  21891. pointInterval?: number;
  21892. /**
  21893. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  21894. * setting the pointInterval to irregular time units, `day`, `month` and
  21895. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  21896. * also takes the DST crossover into consideration when dealing with local
  21897. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  21898. * months, 10 years etc.
  21899. *
  21900. * Please note that this options applies to the _series data_, not the
  21901. * interval of the axis ticks, which is independent.
  21902. */
  21903. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  21904. /**
  21905. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  21906. * `number`.
  21907. *
  21908. * In a column chart, when pointPlacement is `"on"`, the point will not
  21909. * create any padding of the X axis. In a polar column chart this means that
  21910. * the first column points directly north. If the pointPlacement is
  21911. * `"between"`, the columns will be laid out between ticks. This is useful
  21912. * for example for visualising an amount between two points in time or in a
  21913. * certain sector of a polar chart.
  21914. *
  21915. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  21916. * is on the axis value, -0.5 is between this value and the previous, and
  21917. * 0.5 is between this value and the next. Unlike the textual options,
  21918. * numeric point placement options won't affect axis padding.
  21919. *
  21920. * Note that pointPlacement needs a pointRange to work. For column series
  21921. * this is computed, but for line-type series it needs to be set.
  21922. *
  21923. * For the `xrange` series type and gantt charts, if the Y axis is a
  21924. * category axis, the `pointPlacement` applies to the Y axis rather than the
  21925. * (typically datetime) X axis.
  21926. *
  21927. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  21928. */
  21929. pointPlacement?: (number|string);
  21930. /**
  21931. * (Highstock) The width of each point on the x axis. For example in a
  21932. * column chart with one value each day, the pointRange would be 1 day (= 24
  21933. * * 3600
  21934. *
  21935. * * 1000 milliseconds). This is normally computed automatically, but this
  21936. * option can be used to override the automatic value.
  21937. */
  21938. pointRange?: number;
  21939. /**
  21940. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  21941. * a series, pointStart defines on what value to start. For example, if a
  21942. * series contains one yearly value starting from 1945, set pointStart to
  21943. * 1945.
  21944. */
  21945. pointStart?: number;
  21946. /**
  21947. * (Highcharts, Highstock) Whether to select the series initially. If
  21948. * `showCheckbox` is true, the checkbox next to the series name in the
  21949. * legend will be checked for a selected series.
  21950. */
  21951. selected?: boolean;
  21952. /**
  21953. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  21954. * Since 2.3 the shadow can be an object configuration containing `color`,
  21955. * `offsetX`, `offsetY`, `opacity` and `width`.
  21956. */
  21957. shadow?: (boolean|ShadowOptionsObject);
  21958. /**
  21959. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  21960. * legend item to allow selecting the series. The state of the checkbox is
  21961. * determined by the `selected` option.
  21962. */
  21963. showCheckbox?: boolean;
  21964. /**
  21965. * (Highcharts, Highstock) Whether to display this particular series or
  21966. * series type in the legend. Standalone series are shown in legend by
  21967. * default, and linked series are not. Since v7.2.0 it is possible to show
  21968. * series that use colorAxis by setting this option to `true`.
  21969. */
  21970. showInLegend?: boolean;
  21971. /**
  21972. * (Highstock) Whether or not to show the series in the navigator. Takes
  21973. * precedence over navigator.baseSeries if defined.
  21974. */
  21975. showInNavigator?: boolean;
  21976. /**
  21977. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  21978. * skip past the points in this series for keyboard navigation.
  21979. */
  21980. skipKeyboardNavigation?: boolean;
  21981. /**
  21982. * (Highcharts, Highstock) When this is true, the series will not cause the
  21983. * Y axis to cross the zero plane (or threshold option) unless the data
  21984. * actually crosses the plane.
  21985. *
  21986. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  21987. * make the Y axis show negative values according to the `minPadding`
  21988. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  21989. */
  21990. softThreshold?: boolean;
  21991. /**
  21992. * (Highcharts, Highstock) Whether to stack the values of each series on top
  21993. * of each other. Possible values are `undefined` to disable, `"normal"` to
  21994. * stack by value or `"percent"`.
  21995. *
  21996. * When stacking is enabled, data must be sorted in ascending X order.
  21997. *
  21998. * Some stacking options are related to specific series types. In the
  21999. * streamgraph series type, the stacking option is set to `"stream"`. The
  22000. * second one is `"overlap"`, which only applies to waterfall series.
  22001. */
  22002. stacking?: OptionsStackingValue;
  22003. states?: SeriesStatesOptionsObject;
  22004. /**
  22005. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  22006. * `mouseOut` event on a series isn't triggered until the mouse moves over
  22007. * another series, or out of the plot area. When false, the `mouseOut` event
  22008. * on a series is triggered when the mouse leaves the area around the
  22009. * series' graph or markers. This also implies the tooltip when not shared.
  22010. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  22011. * will be hidden when moving the mouse between series. Defaults to true for
  22012. * line and area type series, but to false for columns, pies etc.
  22013. *
  22014. * **Note:** The boost module will force this option because of technical
  22015. * limitations.
  22016. */
  22017. stickyTracking?: boolean;
  22018. /**
  22019. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  22020. * area, for distinguishing between values above and below a threshold. The
  22021. * area between the graph and the threshold is filled.
  22022. *
  22023. * * If a number is given, the Y axis will scale to the threshold.
  22024. *
  22025. * * If `null`, the scaling behaves like a line series with fill between the
  22026. * graph and the Y axis minimum.
  22027. *
  22028. * * If `Infinity` or `-Infinity`, the area between the graph and the
  22029. * corresponding Y axis extreme is filled (since v6.1.0).
  22030. */
  22031. threshold?: (number|null);
  22032. /**
  22033. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  22034. * of each single series. Properties are inherited from tooltip, but only
  22035. * the following properties can be defined on a series level.
  22036. */
  22037. tooltip?: SeriesTooltipOptionsObject;
  22038. /**
  22039. * (Highcharts, Highstock) Whether the whole area or just the line should
  22040. * respond to mouseover tooltips and other mouse or touch events.
  22041. */
  22042. trackByArea?: boolean;
  22043. /**
  22044. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  22045. * is longer than this, only one dimensional arrays of numbers, or two
  22046. * dimensional arrays with x and y values are allowed. Also, only the first
  22047. * point is tested, and the rest are assumed to be the same format. This
  22048. * saves expensive data checking and indexing in long series. Set it to `0`
  22049. * disable.
  22050. *
  22051. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  22052. * two dimensional arrays are allowed.
  22053. */
  22054. turboThreshold?: number;
  22055. /**
  22056. * (Highcharts, Highstock) Set the initial visibility of the series.
  22057. */
  22058. visible?: boolean;
  22059. /**
  22060. * (Highmaps) Define the z index of the series.
  22061. */
  22062. zIndex?: number;
  22063. /**
  22064. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  22065. */
  22066. zoneAxis?: string;
  22067. /**
  22068. * (Highcharts, Highstock) An array defining zones within a series. Zones
  22069. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  22070. * the `zoneAxis` option. The zone definitions have to be in ascending order
  22071. * regarding to the value.
  22072. *
  22073. * In styled mode, the color zones are styled with the
  22074. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  22075. * option (view live demo).
  22076. */
  22077. zones?: Array<SeriesZonesOptionsObject>;
  22078. }
  22079. /**
  22080. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  22081. * is displayed. The animation can also be set as a configuration object. Please
  22082. * note that this option only applies to the initial animation of the series
  22083. * itself. For other animations, see chart.animation and the animation parameter
  22084. * under the API methods. The following properties are supported:
  22085. *
  22086. * - `defer`: The animation delay time in milliseconds.
  22087. *
  22088. * - `duration`: The duration of the animation in milliseconds.
  22089. *
  22090. * - `easing`: Can be a string reference to an easing function set on the `Math`
  22091. * object or a function. See the _Custom easing function_ demo below.
  22092. *
  22093. * Due to poor performance, animation is disabled in old IE browsers for several
  22094. * chart types.
  22095. */
  22096. export interface PlotAreasplinerangeAnimationOptions {
  22097. defer?: number;
  22098. }
  22099. /**
  22100. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  22101. * is displayed for the `dataLabels`. The animation can also be set as a
  22102. * configuration object. Please note that this option only applies to the
  22103. * initial animation. For other animations, see chart.animation and the
  22104. * animation parameter under the API methods. The following properties are
  22105. * supported:
  22106. *
  22107. * - `defer`: The animation delay time in milliseconds.
  22108. */
  22109. export interface PlotAreasplinerangeDataLabelsAnimationOptions {
  22110. /**
  22111. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  22112. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  22113. * from the series.animation.defer.
  22114. */
  22115. defer?: number;
  22116. }
  22117. /**
  22118. * (Highcharts, Highstock) Options for the series data sorting.
  22119. */
  22120. export interface PlotAreasplinerangeDataSortingOptions {
  22121. /**
  22122. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  22123. * Use xAxis.reversed to change the sorting order.
  22124. */
  22125. enabled?: boolean;
  22126. /**
  22127. * (Highcharts, Highstock) Whether to allow matching points by name in an
  22128. * update. If this option is disabled, points will be matched by order.
  22129. */
  22130. matchByName?: boolean;
  22131. /**
  22132. * (Highcharts, Highstock) Determines what data value should be used to sort
  22133. * by.
  22134. */
  22135. sortKey?: string;
  22136. }
  22137. /**
  22138. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  22139. * one state by default, the `default` state.
  22140. */
  22141. export interface PlotAreasplinerangeDragDropGuideBoxOptions {
  22142. /**
  22143. * (Highcharts, Highstock) Style options for the guide box default state.
  22144. */
  22145. default?: DragDropGuideBoxOptionsObject;
  22146. }
  22147. /**
  22148. * (Highcharts, Highstock) The area spline range is a cartesian series type with
  22149. * higher and lower Y values along an X axis. The area inside the range is
  22150. * colored, and the graph outlining the area is a smoothed spline.
  22151. *
  22152. * In TypeScript the type option must always be set.
  22153. *
  22154. * Configuration options for the series are given in three levels:
  22155. *
  22156. * 1. Options for all series in a chart are defined in the plotOptions.series
  22157. * object.
  22158. *
  22159. * 2. Options for all `areasplinerange` series are defined in
  22160. * plotOptions.areasplinerange.
  22161. *
  22162. * 3. Options for one single series are given in the series instance array. (see
  22163. * online documentation for example)
  22164. */
  22165. export interface PlotAreasplinerangeOptions {
  22166. /**
  22167. * (Highcharts, Highstock) Accessibility options for a series.
  22168. */
  22169. accessibility?: SeriesAccessibilityOptionsObject;
  22170. /**
  22171. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  22172. * rendered. If `true`, areas which don't correspond to a data point, are
  22173. * rendered as `null` points. If `false`, those areas are skipped.
  22174. */
  22175. allAreas?: boolean;
  22176. /**
  22177. * (Highcharts, Highstock) Allow this series' points to be selected by
  22178. * clicking on the graphic (columns, point markers, pie slices, map areas
  22179. * etc).
  22180. *
  22181. * The selected points can be handled by point select and unselect events,
  22182. * or collectively by the getSelectedPoints function.
  22183. *
  22184. * And alternative way of selecting points is through dragging.
  22185. */
  22186. allowPointSelect?: boolean;
  22187. /**
  22188. * (Highcharts, Highstock) Enable or disable the initial animation when a
  22189. * series is displayed. The animation can also be set as a configuration
  22190. * object. Please note that this option only applies to the initial
  22191. * animation of the series itself. For other animations, see chart.animation
  22192. * and the animation parameter under the API methods. The following
  22193. * properties are supported:
  22194. *
  22195. * - `defer`: The animation delay time in milliseconds.
  22196. *
  22197. * - `duration`: The duration of the animation in milliseconds.
  22198. *
  22199. * - `easing`: Can be a string reference to an easing function set on the
  22200. * `Math` object or a function. See the _Custom easing function_ demo below.
  22201. *
  22202. * Due to poor performance, animation is disabled in old IE browsers for
  22203. * several chart types.
  22204. */
  22205. animation?: (boolean|PlotAreasplinerangeAnimationOptions|Partial<AnimationOptionsObject>);
  22206. /**
  22207. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  22208. * initial animation by default when the total number of points in the chart
  22209. * is too high. For example, for a column chart and its derivatives,
  22210. * animation does not run if there is more than 250 points totally. To
  22211. * disable this cap, set `animationLimit` to `Infinity`.
  22212. */
  22213. animationLimit?: number;
  22214. /**
  22215. * (Highmaps) The border color of the map areas.
  22216. *
  22217. * In styled mode, the border stroke is given in the `.highcharts-point`
  22218. * class.
  22219. */
  22220. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22221. /**
  22222. * (Highmaps) The border width of each map area.
  22223. *
  22224. * In styled mode, the border stroke width is given in the
  22225. * `.highcharts-point` class.
  22226. */
  22227. borderWidth?: number;
  22228. /**
  22229. * (Highcharts, Highstock) An additional class name to apply to the series'
  22230. * graphical elements. This option does not replace default class names of
  22231. * the graphical element.
  22232. */
  22233. className?: string;
  22234. /**
  22235. * (Highcharts, Highstock) Disable this option to allow series rendering in
  22236. * the whole plotting area.
  22237. *
  22238. * **Note:** Clipping should be always enabled when chart.zoomType is set
  22239. */
  22240. clip?: boolean;
  22241. /**
  22242. * (Highcharts, Highstock) The main color of the series. In line type series
  22243. * it applies to the line and the point markers unless otherwise specified.
  22244. * In bar type series it applies to the bars unless a color is specified per
  22245. * point. The default value is pulled from the `options.colors` array.
  22246. *
  22247. * In styled mode, the color can be defined by the colorIndex option. Also,
  22248. * the series color can be set with the `.highcharts-series`,
  22249. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  22250. * `.highcharts-series-{n}` class, or individual classes given by the
  22251. * `className` option.
  22252. */
  22253. color?: (ColorString|GradientColorObject|PatternObject);
  22254. /**
  22255. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  22256. * this number defines which colorAxis the particular series is connected
  22257. * to. It refers to either the axis id or the index of the axis in the
  22258. * colorAxis array, with 0 being the first. Set this option to false to
  22259. * prevent a series from connecting to the default color axis.
  22260. *
  22261. * Since v7.2.0 the option can also be an axis id or an axis index instead
  22262. * of a boolean flag.
  22263. */
  22264. colorAxis?: (boolean|number|string);
  22265. /**
  22266. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  22267. * for the series, so its graphic representations are given the class name
  22268. * `highcharts-color-{n}`.
  22269. */
  22270. colorIndex?: number;
  22271. /**
  22272. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  22273. * used to calculate point color if `colorAxis` is used. Requires to set
  22274. * `min` and `max` if some custom point property is used or if approximation
  22275. * for data grouping is set to `'sum'`.
  22276. */
  22277. colorKey?: string;
  22278. /**
  22279. * (Highstock) Compare the values of the series against the first non-null,
  22280. * non- zero value in the visible range. The y axis will show percentage or
  22281. * absolute change depending on whether `compare` is set to `"percent"` or
  22282. * `"value"`. When this is applied to multiple series, it allows comparing
  22283. * the development of the series against each other. Adds a `change` field
  22284. * to every point object.
  22285. */
  22286. compare?: string;
  22287. /**
  22288. * (Highstock) When compare is `percent`, this option dictates whether to
  22289. * use 0 or 100 as the base of comparison.
  22290. */
  22291. compareBase?: (0|100);
  22292. /**
  22293. * (Highstock) Defines if comparison should start from the first point
  22294. * within the visible range or should start from the first point **before**
  22295. * the range.
  22296. *
  22297. * In other words, this flag determines if first point within the visible
  22298. * range will have 0% (`compareStart=true`) or should have been already
  22299. * calculated according to the previous point (`compareStart=false`).
  22300. */
  22301. compareStart?: boolean;
  22302. /**
  22303. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  22304. * series plot across the extremes.
  22305. */
  22306. connectEnds?: boolean;
  22307. /**
  22308. * (Highcharts, Highstock) Whether to connect a graph line across null
  22309. * points, or render a gap between the two points on either side of the
  22310. * null.
  22311. */
  22312. connectNulls?: boolean;
  22313. /**
  22314. * (Gantt) Override Pathfinder connector options for a series. Requires
  22315. * Highcharts Gantt to be loaded.
  22316. */
  22317. connectors?: SeriesConnectorsOptionsObject;
  22318. /**
  22319. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  22320. * rounded to its nearest pixel in order to render sharp on screen. In some
  22321. * cases, when there are a lot of densely packed columns, this leads to
  22322. * visible difference in column widths or distance between columns. In these
  22323. * cases, setting `crisp` to `false` may look better, even though each
  22324. * column is rendered blurry.
  22325. */
  22326. crisp?: boolean;
  22327. /**
  22328. * (Highcharts, Highstock) When the series contains less points than the
  22329. * crop threshold, all points are drawn, even if the points fall outside the
  22330. * visible plot area at the current zoom. The advantage of drawing all
  22331. * points (including markers and columns), is that animation is performed on
  22332. * updates. On the other hand, when the series contains more points than the
  22333. * crop threshold, the series data is cropped to only contain points that
  22334. * fall within the plot area. The advantage of cropping away invisible
  22335. * points is to increase performance on large series.
  22336. */
  22337. cropThreshold?: number;
  22338. /**
  22339. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  22340. * click events attached to the series, to signal to the user that the
  22341. * points and lines can be clicked.
  22342. *
  22343. * In styled mode, the series cursor can be set with the same classes as
  22344. * listed under series.color.
  22345. */
  22346. cursor?: (string|CursorValue);
  22347. /**
  22348. * (Highcharts, Highstock) A reserved subspace to store options and values
  22349. * for customized functionality. Here you can add additional data for your
  22350. * own event callbacks and formatter callbacks.
  22351. */
  22352. custom?: Dictionary<any>;
  22353. /**
  22354. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  22355. * for some series types the outline of each shape.
  22356. *
  22357. * In styled mode, the stroke dash-array can be set with the same classes as
  22358. * listed under series.color.
  22359. */
  22360. dashStyle?: DashStyleValue;
  22361. /**
  22362. * (Highstock) Data grouping is the concept of sampling the data values into
  22363. * larger blocks in order to ease readability and increase performance of
  22364. * the JavaScript charts. Highcharts Stock by default applies data grouping
  22365. * when the points become closer than a certain pixel value, determined by
  22366. * the `groupPixelWidth` option.
  22367. *
  22368. * If data grouping is applied, the grouping information of grouped points
  22369. * can be read from the Point.dataGroup. If point options other than the
  22370. * data itself are set, for example `name` or `color` or custom properties,
  22371. * the grouping logic doesn't know how to group it. In this case the options
  22372. * of the first point instance are copied over to the group point. This can
  22373. * be altered through a custom `approximation` callback function.
  22374. */
  22375. dataGrouping?: DataGroupingOptionsObject;
  22376. /**
  22377. * (Highcharts, Highstock) Extended data labels for range series types.
  22378. * Range series data labels use no `x` and `y` options. Instead, they have
  22379. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  22380. * data label sets individually.
  22381. */
  22382. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  22383. /**
  22384. * (Highcharts, Highstock) Options for the series data sorting.
  22385. */
  22386. dataSorting?: (DataSortingOptionsObject|PlotAreasplinerangeDataSortingOptions);
  22387. /**
  22388. * (Highcharts, Highstock) A description of the series to add to the screen
  22389. * reader information about the series.
  22390. */
  22391. description?: string;
  22392. /**
  22393. * (Highcharts, Highstock) The draggable-points module allows points to be
  22394. * moved around or modified in the chart. In addition to the options
  22395. * mentioned under the `dragDrop` API structure, the module fires three
  22396. * events, point.dragStart, point.drag and point.drop.
  22397. */
  22398. dragDrop?: SeriesDragDropOptionsObject;
  22399. /**
  22400. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  22401. * specific series. This includes point tooltips and click events on graphs
  22402. * and points. For large datasets it improves performance.
  22403. */
  22404. enableMouseTracking?: boolean;
  22405. /**
  22406. * (Highcharts, Highstock) General event handlers for the series items.
  22407. * These event hooks can also be attached to the series at run time using
  22408. * the `Highcharts.addEvent` function.
  22409. */
  22410. events?: SeriesEventsOptionsObject;
  22411. /**
  22412. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  22413. * the series' `color` is used with the series' `fillOpacity`.
  22414. *
  22415. * In styled mode, the fill color can be set with the `.highcharts-area`
  22416. * class name.
  22417. */
  22418. fillColor?: (ColorString|GradientColorObject|PatternObject);
  22419. /**
  22420. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  22421. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  22422. * should define the opacity in the `fillColor` with an rgba color
  22423. * definition. The `fillOpacity` setting, also the default setting,
  22424. * overrides the alpha component of the `color` setting.
  22425. *
  22426. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  22427. * class name.
  22428. */
  22429. fillOpacity?: number;
  22430. /**
  22431. * (Highcharts, Highstock) Determines whether the series should look for the
  22432. * nearest point in both dimensions or just the x-dimension when hovering
  22433. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  22434. * other series. If the data has duplicate x-values, it is recommended to
  22435. * set this to `'xy'` to allow hovering over all points.
  22436. *
  22437. * Applies only to series types using nearest neighbor search (not direct
  22438. * hover) for tooltip.
  22439. */
  22440. findNearestPointBy?: OptionsFindNearestPointByValue;
  22441. /**
  22442. * (Highstock) Defines when to display a gap in the graph, together with the
  22443. * gapUnit option.
  22444. *
  22445. * In case when `dataGrouping` is enabled, points can be grouped into a
  22446. * larger time span. This can make the grouped points to have a greater
  22447. * distance than the absolute value of `gapSize` property, which will result
  22448. * in disappearing graph completely. To prevent this situation the mentioned
  22449. * distance between grouped points is used instead of previously defined
  22450. * `gapSize`.
  22451. *
  22452. * In practice, this option is most often used to visualize gaps in time
  22453. * series. In a stock chart, intraday data is available for daytime hours,
  22454. * while gaps will appear in nights and weekends.
  22455. */
  22456. gapSize?: number;
  22457. /**
  22458. * (Highstock) Together with gapSize, this option defines where to draw gaps
  22459. * in the graph.
  22460. *
  22461. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  22462. * if the distance between two points is greater than 5 times that of the
  22463. * two closest points, the graph will be broken.
  22464. *
  22465. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  22466. * values, which on a datetime axis is milliseconds. This also applies to
  22467. * the navigator series that inherits gap options from the base series.
  22468. */
  22469. gapUnit?: OptionsGapUnitValue;
  22470. /**
  22471. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  22472. * chart width or only the zoomed area when zooming in on parts of the X
  22473. * axis. By default, the Y axis adjusts to the min and max of the visible
  22474. * data. Cartesian series only.
  22475. */
  22476. getExtremesFromAll?: boolean;
  22477. /**
  22478. * (Highcharts, Highstock) When set to `false` will prevent the series data
  22479. * from being included in any form of data export.
  22480. *
  22481. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  22482. * `includeInCSVExport`.
  22483. */
  22484. includeInDataExport?: boolean;
  22485. /**
  22486. * (Highmaps) What property to join the `mapData` to the value data. For
  22487. * example, if joinBy is "code", the mapData items with a specific code is
  22488. * merged into the data with the same code. For maps loaded from GeoJSON,
  22489. * the keys may be held in each point's `properties` object.
  22490. *
  22491. * The joinBy option can also be an array of two values, where the first
  22492. * points to a key in the `mapData`, and the second points to another key in
  22493. * the `data`.
  22494. *
  22495. * When joinBy is `null`, the map items are joined by their position in the
  22496. * array, which performs much better in maps with many data points. This is
  22497. * the recommended option if you are printing more than a thousand data
  22498. * points and have a backend that can preprocess the data into a parallel
  22499. * array of the mapData.
  22500. */
  22501. joinBy?: (string|Array<string>);
  22502. /**
  22503. * (Highcharts, Highstock) An array specifying which option maps to which
  22504. * key in the data point array. This makes it convenient to work with
  22505. * unstructured data arrays from different sources.
  22506. */
  22507. keys?: Array<string>;
  22508. /**
  22509. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  22510. * series as possible in a natural way, seeking to avoid other series. The
  22511. * goal of this feature is to make the chart more easily readable, like if a
  22512. * human designer placed the labels in the optimal position.
  22513. *
  22514. * The series labels currently work with series types having a `graph` or an
  22515. * `area`.
  22516. */
  22517. label?: SeriesLabelOptionsObject;
  22518. /**
  22519. * (Highstock) The line marks the last price from all points.
  22520. */
  22521. lastPrice?: SeriesLastPriceOptionsObject;
  22522. /**
  22523. * (Highstock) The line marks the last price from visible range of points.
  22524. */
  22525. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  22526. /**
  22527. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  22528. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  22529. * the ends and bends.
  22530. */
  22531. linecap?: SeriesLinecapValue;
  22532. /**
  22533. * (Highcharts, Highstock) A separate color for the graph line. By default
  22534. * the line takes the `color` of the series, but the lineColor setting
  22535. * allows setting a separate color for the line without altering the
  22536. * `fillColor`.
  22537. *
  22538. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  22539. * class name.
  22540. */
  22541. lineColor?: (ColorString|GradientColorObject|PatternObject);
  22542. /**
  22543. * (Highcharts, Highstock) Pixel width of the arearange graph line.
  22544. */
  22545. lineWidth?: number;
  22546. /**
  22547. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  22548. * Additionally, the value can be ":previous" to link to the previous
  22549. * series. When two series are linked, only the first one appears in the
  22550. * legend. Toggling the visibility of this also toggles the linked series.
  22551. *
  22552. * If master series uses data sorting and linked series does not have its
  22553. * own sorting definition, the linked series will be sorted in the same
  22554. * order as the master one.
  22555. */
  22556. linkedTo?: string;
  22557. /**
  22558. * (Highcharts, Highstock) Options for the point markers of line-like
  22559. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  22560. * the visual appearance of the markers. Other series types, like column
  22561. * series, don't have markers, but have visual options on the series level
  22562. * instead.
  22563. *
  22564. * In styled mode, the markers can be styled with the `.highcharts-point`,
  22565. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  22566. */
  22567. marker?: PointMarkerOptionsObject;
  22568. /**
  22569. * (Highstock) Options for the corresponding navigator series if
  22570. * `showInNavigator` is `true` for this series. Available options are the
  22571. * same as any series, documented at plotOptions and series.
  22572. *
  22573. * These options are merged with options in navigator.series, and will take
  22574. * precedence if the same option is defined both places.
  22575. */
  22576. navigatorOptions?: PlotSeriesOptions;
  22577. /**
  22578. * (Highcharts, Highstock) The color for the parts of the graph or points
  22579. * that are below the threshold. Note that `zones` takes precedence over the
  22580. * negative color. Using `negativeColor` is equivalent to applying a zone
  22581. * with value of 0.
  22582. */
  22583. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  22584. /**
  22585. * (Highcharts) A separate color for the negative part of the area.
  22586. *
  22587. * In styled mode, a negative color is set with the `.highcharts-negative`
  22588. * class name.
  22589. */
  22590. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  22591. /**
  22592. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  22593. * and dataLabels.
  22594. */
  22595. opacity?: number;
  22596. /**
  22597. * (Highcharts, Highstock) Properties for each single point.
  22598. */
  22599. point?: PlotSeriesPointOptions;
  22600. /**
  22601. * (Highcharts, Highstock) Same as
  22602. * accessibility.series.descriptionFormatter, but for an individual series.
  22603. * Overrides the chart wide configuration.
  22604. */
  22605. pointDescriptionFormatter?: Function;
  22606. /**
  22607. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22608. * a series, `pointInterval` defines the interval of the x values. For
  22609. * example, if a series contains one value every decade starting from year
  22610. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  22611. * `pointInterval` is set in milliseconds.
  22612. *
  22613. * It can be also be combined with `pointIntervalUnit` to draw irregular
  22614. * time intervals.
  22615. *
  22616. * Please note that this options applies to the _series data_, not the
  22617. * interval of the axis ticks, which is independent.
  22618. */
  22619. pointInterval?: number;
  22620. /**
  22621. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  22622. * setting the pointInterval to irregular time units, `day`, `month` and
  22623. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  22624. * also takes the DST crossover into consideration when dealing with local
  22625. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  22626. * months, 10 years etc.
  22627. *
  22628. * Please note that this options applies to the _series data_, not the
  22629. * interval of the axis ticks, which is independent.
  22630. */
  22631. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  22632. /**
  22633. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  22634. * `number`.
  22635. *
  22636. * In a column chart, when pointPlacement is `"on"`, the point will not
  22637. * create any padding of the X axis. In a polar column chart this means that
  22638. * the first column points directly north. If the pointPlacement is
  22639. * `"between"`, the columns will be laid out between ticks. This is useful
  22640. * for example for visualising an amount between two points in time or in a
  22641. * certain sector of a polar chart.
  22642. *
  22643. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  22644. * is on the axis value, -0.5 is between this value and the previous, and
  22645. * 0.5 is between this value and the next. Unlike the textual options,
  22646. * numeric point placement options won't affect axis padding.
  22647. *
  22648. * Note that pointPlacement needs a pointRange to work. For column series
  22649. * this is computed, but for line-type series it needs to be set.
  22650. *
  22651. * For the `xrange` series type and gantt charts, if the Y axis is a
  22652. * category axis, the `pointPlacement` applies to the Y axis rather than the
  22653. * (typically datetime) X axis.
  22654. *
  22655. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  22656. */
  22657. pointPlacement?: (number|string);
  22658. /**
  22659. * (Highstock) The width of each point on the x axis. For example in a
  22660. * column chart with one value each day, the pointRange would be 1 day (= 24
  22661. * * 3600
  22662. *
  22663. * * 1000 milliseconds). This is normally computed automatically, but this
  22664. * option can be used to override the automatic value.
  22665. */
  22666. pointRange?: number;
  22667. /**
  22668. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  22669. * a series, pointStart defines on what value to start. For example, if a
  22670. * series contains one yearly value starting from 1945, set pointStart to
  22671. * 1945.
  22672. */
  22673. pointStart?: number;
  22674. /**
  22675. * (Highcharts, Highstock) Whether to select the series initially. If
  22676. * `showCheckbox` is true, the checkbox next to the series name in the
  22677. * legend will be checked for a selected series.
  22678. */
  22679. selected?: boolean;
  22680. /**
  22681. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  22682. * the shadow can be an object configuration containing `color`, `offsetX`,
  22683. * `offsetY`, `opacity` and `width`.
  22684. */
  22685. shadow?: (boolean|ShadowOptionsObject);
  22686. /**
  22687. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  22688. * legend item to allow selecting the series. The state of the checkbox is
  22689. * determined by the `selected` option.
  22690. */
  22691. showCheckbox?: boolean;
  22692. /**
  22693. * (Highcharts, Highstock) Whether to display this particular series or
  22694. * series type in the legend. Standalone series are shown in legend by
  22695. * default, and linked series are not. Since v7.2.0 it is possible to show
  22696. * series that use colorAxis by setting this option to `true`.
  22697. */
  22698. showInLegend?: boolean;
  22699. /**
  22700. * (Highstock) Whether or not to show the series in the navigator. Takes
  22701. * precedence over navigator.baseSeries if defined.
  22702. */
  22703. showInNavigator?: boolean;
  22704. /**
  22705. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  22706. * skip past the points in this series for keyboard navigation.
  22707. */
  22708. skipKeyboardNavigation?: boolean;
  22709. /**
  22710. * (Highcharts, Highstock) When this is true, the series will not cause the
  22711. * Y axis to cross the zero plane (or threshold option) unless the data
  22712. * actually crosses the plane.
  22713. *
  22714. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  22715. * make the Y axis show negative values according to the `minPadding`
  22716. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  22717. */
  22718. softThreshold?: boolean;
  22719. states?: SeriesStatesOptionsObject;
  22720. /**
  22721. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  22722. * `mouseOut` event on a series isn't triggered until the mouse moves over
  22723. * another series, or out of the plot area. When false, the `mouseOut` event
  22724. * on a series is triggered when the mouse leaves the area around the
  22725. * series' graph or markers. This also implies the tooltip when not shared.
  22726. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  22727. * will be hidden when moving the mouse between series. Defaults to true for
  22728. * line and area type series, but to false for columns, pies etc.
  22729. *
  22730. * **Note:** The boost module will force this option because of technical
  22731. * limitations.
  22732. */
  22733. stickyTracking?: boolean;
  22734. /**
  22735. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  22736. * area, for distinguishing between values above and below a threshold. The
  22737. * area between the graph and the threshold is filled.
  22738. *
  22739. * * If a number is given, the Y axis will scale to the threshold.
  22740. *
  22741. * * If `null`, the scaling behaves like a line series with fill between the
  22742. * graph and the Y axis minimum.
  22743. *
  22744. * * If `Infinity` or `-Infinity`, the area between the graph and the
  22745. * corresponding Y axis extreme is filled (since v6.1.0).
  22746. */
  22747. threshold?: (number|null);
  22748. /**
  22749. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  22750. * of each single series. Properties are inherited from tooltip, but only
  22751. * the following properties can be defined on a series level.
  22752. */
  22753. tooltip?: SeriesTooltipOptionsObject;
  22754. /**
  22755. * (Highcharts, Highstock) Whether the whole area or just the line should
  22756. * respond to mouseover tooltips and other mouse or touch events.
  22757. */
  22758. trackByArea?: boolean;
  22759. /**
  22760. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  22761. * is longer than this, only one dimensional arrays of numbers, or two
  22762. * dimensional arrays with x and y values are allowed. Also, only the first
  22763. * point is tested, and the rest are assumed to be the same format. This
  22764. * saves expensive data checking and indexing in long series. Set it to `0`
  22765. * disable.
  22766. *
  22767. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  22768. * two dimensional arrays are allowed.
  22769. */
  22770. turboThreshold?: number;
  22771. /**
  22772. * (Highcharts, Highstock) Set the initial visibility of the series.
  22773. */
  22774. visible?: boolean;
  22775. /**
  22776. * (Highmaps) Define the z index of the series.
  22777. */
  22778. zIndex?: number;
  22779. /**
  22780. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  22781. */
  22782. zoneAxis?: string;
  22783. /**
  22784. * (Highcharts, Highstock) An array defining zones within a series. Zones
  22785. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  22786. * the `zoneAxis` option. The zone definitions have to be in ascending order
  22787. * regarding to the value.
  22788. *
  22789. * In styled mode, the color zones are styled with the
  22790. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  22791. * option (view live demo).
  22792. */
  22793. zones?: Array<SeriesZonesOptionsObject>;
  22794. }
  22795. /**
  22796. * (Highstock) Enable or disable the initial animation when a series is
  22797. * displayed. The animation can also be set as a configuration object. Please
  22798. * note that this option only applies to the initial animation of the series
  22799. * itself. For other animations, see chart.animation and the animation parameter
  22800. * under the API methods. The following properties are supported:
  22801. *
  22802. * - `defer`: The animation delay time in milliseconds.
  22803. *
  22804. * - `duration`: The duration of the animation in milliseconds.
  22805. *
  22806. * - `easing`: Can be a string reference to an easing function set on the `Math`
  22807. * object or a function. See the _Custom easing function_ demo below.
  22808. *
  22809. * Due to poor performance, animation is disabled in old IE browsers for several
  22810. * chart types.
  22811. */
  22812. export interface PlotAroonAnimationOptions {
  22813. defer?: number;
  22814. }
  22815. /**
  22816. * (Highstock) aroonDown line options.
  22817. */
  22818. export interface PlotAroonAroonDownOptions {
  22819. /**
  22820. * (Highstock) Styles for an aroonDown line.
  22821. */
  22822. styles?: PlotAroonAroonDownStylesOptions;
  22823. }
  22824. /**
  22825. * (Highstock) Styles for an aroonDown line.
  22826. */
  22827. export interface PlotAroonAroonDownStylesOptions {
  22828. /**
  22829. * (Highstock) Color of the line. If not set, it's inherited from
  22830. * plotOptions.aroon.color.
  22831. */
  22832. lineColor?: ColorString;
  22833. /**
  22834. * (Highstock) Pixel width of the line.
  22835. */
  22836. lineWidth?: number;
  22837. }
  22838. /**
  22839. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22840. * animation when a series is displayed for the `dataLabels`. The animation can
  22841. * also be set as a configuration object. Please note that this option only
  22842. * applies to the initial animation. For other animations, see chart.animation
  22843. * and the animation parameter under the API methods. The following properties
  22844. * are supported:
  22845. *
  22846. * - `defer`: The animation delay time in milliseconds.
  22847. */
  22848. export interface PlotAroonDataLabelsAnimationOptions {
  22849. /**
  22850. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  22851. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  22852. * inherits defer time from the series.animation.defer.
  22853. */
  22854. defer?: number;
  22855. }
  22856. /**
  22857. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  22858. * appearing next to each data point.
  22859. *
  22860. * Since v6.2.0, multiple data labels can be applied to each single point by
  22861. * defining them as an array of configs.
  22862. *
  22863. * In styled mode, the data labels can be styled with the
  22864. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  22865. * example).
  22866. */
  22867. export interface PlotAroonDataLabelsOptions {
  22868. /**
  22869. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  22870. * compared to the point. If `right`, the right side of the label should be
  22871. * touching the point. For points with an extent, like columns, the
  22872. * alignments also dictates how to align it inside the box, as given with
  22873. * the inside option. Can be one of `left`, `center` or `right`.
  22874. */
  22875. align?: (AlignValue|null);
  22876. /**
  22877. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  22878. * overlap. To make the labels less sensitive for overlapping, the
  22879. * dataLabels.padding can be set to 0.
  22880. */
  22881. allowOverlap?: boolean;
  22882. /**
  22883. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  22884. * animation when a series is displayed for the `dataLabels`. The animation
  22885. * can also be set as a configuration object. Please note that this option
  22886. * only applies to the initial animation. For other animations, see
  22887. * chart.animation and the animation parameter under the API methods. The
  22888. * following properties are supported:
  22889. *
  22890. * - `defer`: The animation delay time in milliseconds.
  22891. */
  22892. animation?: (boolean|PlotAroonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  22893. /**
  22894. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  22895. * for the data label.
  22896. */
  22897. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  22898. /**
  22899. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  22900. * label. Defaults to `undefined`.
  22901. */
  22902. borderColor?: (ColorString|GradientColorObject|PatternObject);
  22903. /**
  22904. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  22905. * the data label.
  22906. */
  22907. borderRadius?: number;
  22908. /**
  22909. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  22910. * the data label.
  22911. */
  22912. borderWidth?: number;
  22913. /**
  22914. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  22915. * Particularly in styled mode, this can be used to give each series' or
  22916. * point's data label unique styling. In addition to this option, a default
  22917. * color class name is added so that we can give the labels a contrast text
  22918. * shadow.
  22919. */
  22920. className?: string;
  22921. /**
  22922. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  22923. * labels. Defaults to `undefined`. For certain series types, like column or
  22924. * map, the data labels can be drawn inside the points. In this case the
  22925. * data label will be drawn with maximum contrast by default. Additionally,
  22926. * it will be given a `text-outline` style with the opposite color, to
  22927. * further increase the contrast. This can be overridden by setting the
  22928. * `text-outline` style to `none` in the `dataLabels.style` option.
  22929. */
  22930. color?: (ColorString|GradientColorObject|PatternObject);
  22931. /**
  22932. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  22933. * are outside the plot area. By default, the data label is moved inside the
  22934. * plot area according to the overflow option.
  22935. */
  22936. crop?: boolean;
  22937. /**
  22938. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  22939. * labels until the initial series animation has finished. Setting to
  22940. * `false` renders the data label immediately. If set to `true` inherits the
  22941. * defer time set in plotOptions.series.animation. If set to a number, a
  22942. * defer time is specified in milliseconds.
  22943. */
  22944. defer?: (boolean|number);
  22945. /**
  22946. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  22947. * labels.
  22948. */
  22949. enabled?: boolean;
  22950. /**
  22951. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  22952. * of which data labels to display. The declarative filter is designed for
  22953. * use when callback functions are not available, like when the chart
  22954. * options require a pure JSON structure or for use with graphical editors.
  22955. * For programmatic control, use the `formatter` instead, and return
  22956. * `undefined` to disable a single data label.
  22957. */
  22958. filter?: DataLabelsFilterOptionsObject;
  22959. /**
  22960. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  22961. * label. Available variables are the same as for `formatter`.
  22962. */
  22963. format?: string;
  22964. /**
  22965. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  22966. * format the data label. Note that if a `format` is defined, the format
  22967. * takes precedence and the formatter is ignored.
  22968. */
  22969. formatter?: DataLabelsFormatterCallbackFunction;
  22970. /**
  22971. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  22972. * columns or map areas, whether to align the data label inside the box or
  22973. * to the actual value point. Defaults to `false` in most cases, `true` in
  22974. * stacked columns.
  22975. */
  22976. inside?: boolean;
  22977. /**
  22978. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  22979. * of null. Works analogously to format. `nullFormat` can be applied only to
  22980. * series which support displaying null points.
  22981. */
  22982. nullFormat?: (boolean|string);
  22983. /**
  22984. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  22985. * that defines formatting for points with the value of null. Works
  22986. * analogously to formatter. `nullPointFormatter` can be applied only to
  22987. * series which support displaying null points.
  22988. */
  22989. nullFormatter?: DataLabelsFormatterCallbackFunction;
  22990. /**
  22991. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  22992. * flow outside the plot area. The default is `"justify"`, which aligns them
  22993. * inside the plot area. For columns and bars, this means it will be moved
  22994. * inside the bar. To display data labels outside the plot area, set `crop`
  22995. * to `false` and `overflow` to `"allow"`.
  22996. */
  22997. overflow?: DataLabelsOverflowValue;
  22998. /**
  22999. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  23000. * the `backgroundColor` is set, this is the padding within the box.
  23001. */
  23002. padding?: number;
  23003. /**
  23004. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  23005. * points. If `center` alignment is not possible, it defaults to `right`.
  23006. */
  23007. position?: AlignValue;
  23008. /**
  23009. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  23010. * that due to a more complex structure, backgrounds, borders and padding
  23011. * will be lost on a rotated data label.
  23012. */
  23013. rotation?: number;
  23014. /**
  23015. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  23016. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  23017. * an object configuration containing `color`, `offsetX`, `offsetY`,
  23018. * `opacity` and `width`.
  23019. */
  23020. shadow?: (boolean|ShadowOptionsObject);
  23021. /**
  23022. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  23023. * the border around the label. Symbols are predefined functions on the
  23024. * Renderer object.
  23025. */
  23026. shape?: string;
  23027. /**
  23028. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  23029. * default `color` setting is `"contrast"`, which is a pseudo color that
  23030. * Highcharts picks up and applies the maximum contrast to the underlying
  23031. * point item, for example the bar in a bar chart.
  23032. *
  23033. * The `textOutline` is a pseudo property that applies an outline of the
  23034. * given width with the given color, which by default is the maximum
  23035. * contrast to the text. So a bright text color will result in a black text
  23036. * outline for maximum readability on a mixed background. In some cases,
  23037. * especially with grayscale text, the text outline doesn't work well, in
  23038. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  23039. * is true, the `textOutline` will not be picked up. In this, case, the same
  23040. * effect can be acheived through the `text-shadow` CSS property.
  23041. *
  23042. * For some series types, where each point has an extent, like for example
  23043. * tree maps, the data label may overflow the point. There are two
  23044. * strategies for handling overflow. By default, the text will wrap to
  23045. * multiple lines. The other strategy is to set `style.textOverflow` to
  23046. * `ellipsis`, which will keep the text on one line plus it will break
  23047. * inside long words.
  23048. */
  23049. style?: CSSObject;
  23050. /**
  23051. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  23052. * should follow marker's shape. Border and background are disabled for a
  23053. * label that follows a path.
  23054. *
  23055. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  23056. * to true will disable this option.
  23057. */
  23058. textPath?: DataLabelsTextPathOptionsObject;
  23059. /**
  23060. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  23061. * the labels.
  23062. */
  23063. useHTML?: boolean;
  23064. /**
  23065. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  23066. * label. Can be one of `top`, `middle` or `bottom`. The default value
  23067. * depends on the data, for instance in a column chart, the label is above
  23068. * positive values and below negative values.
  23069. */
  23070. verticalAlign?: (VerticalAlignValue|null);
  23071. /**
  23072. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  23073. * label relative to the point in pixels.
  23074. */
  23075. x?: number;
  23076. /**
  23077. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  23078. * label relative to the point in pixels.
  23079. */
  23080. y?: number;
  23081. /**
  23082. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  23083. * The default Z index puts it above the series. Use a Z index of 2 to
  23084. * display it behind the series.
  23085. */
  23086. z?: number;
  23087. }
  23088. /**
  23089. * (Highcharts, Highstock) Options for the series data sorting.
  23090. */
  23091. export interface PlotAroonDataSortingOptions {
  23092. /**
  23093. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  23094. * Use xAxis.reversed to change the sorting order.
  23095. */
  23096. enabled?: boolean;
  23097. /**
  23098. * (Highcharts, Highstock) Whether to allow matching points by name in an
  23099. * update. If this option is disabled, points will be matched by order.
  23100. */
  23101. matchByName?: boolean;
  23102. /**
  23103. * (Highcharts, Highstock) Determines what data value should be used to sort
  23104. * by.
  23105. */
  23106. sortKey?: string;
  23107. }
  23108. /**
  23109. * (Highstock) Aroon. This series requires the `linkedTo` option to be set and
  23110. * should be loaded after the `stock/indicators/indicators.js`.
  23111. *
  23112. * In TypeScript the type option must always be set.
  23113. *
  23114. * Configuration options for the series are given in three levels:
  23115. *
  23116. * 1. Options for all series in a chart are defined in the plotOptions.series
  23117. * object.
  23118. *
  23119. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  23120. *
  23121. * 3. Options for one single series are given in the series instance array. (see
  23122. * online documentation for example)
  23123. */
  23124. export interface PlotAroonOptions {
  23125. /**
  23126. * (Highstock) Accessibility options for a series.
  23127. */
  23128. accessibility?: SeriesAccessibilityOptionsObject;
  23129. /**
  23130. * (Highstock) Allow this series' points to be selected by clicking on the
  23131. * graphic (columns, point markers, pie slices, map areas etc).
  23132. *
  23133. * The selected points can be handled by point select and unselect events,
  23134. * or collectively by the getSelectedPoints function.
  23135. *
  23136. * And alternative way of selecting points is through dragging.
  23137. */
  23138. allowPointSelect?: boolean;
  23139. /**
  23140. * (Highstock) Enable or disable the initial animation when a series is
  23141. * displayed. The animation can also be set as a configuration object.
  23142. * Please note that this option only applies to the initial animation of the
  23143. * series itself. For other animations, see chart.animation and the
  23144. * animation parameter under the API methods. The following properties are
  23145. * supported:
  23146. *
  23147. * - `defer`: The animation delay time in milliseconds.
  23148. *
  23149. * - `duration`: The duration of the animation in milliseconds.
  23150. *
  23151. * - `easing`: Can be a string reference to an easing function set on the
  23152. * `Math` object or a function. See the _Custom easing function_ demo below.
  23153. *
  23154. * Due to poor performance, animation is disabled in old IE browsers for
  23155. * several chart types.
  23156. */
  23157. animation?: (boolean|PlotAroonAnimationOptions|Partial<AnimationOptionsObject>);
  23158. /**
  23159. * (Highstock) For some series, there is a limit that shuts down initial
  23160. * animation by default when the total number of points in the chart is too
  23161. * high. For example, for a column chart and its derivatives, animation does
  23162. * not run if there is more than 250 points totally. To disable this cap,
  23163. * set `animationLimit` to `Infinity`.
  23164. */
  23165. animationLimit?: number;
  23166. /**
  23167. * (Highstock) aroonDown line options.
  23168. */
  23169. aroonDown?: PlotAroonAroonDownOptions;
  23170. /**
  23171. * (Highstock) Sets the color blending in the boost module.
  23172. */
  23173. boostBlending?: OptionsBoostBlendingValue;
  23174. /**
  23175. * (Highstock) Set the point threshold for when a series should enter boost
  23176. * mode.
  23177. *
  23178. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  23179. * there are 2000 or more points in the series.
  23180. *
  23181. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  23182. * it to 1 will force boosting.
  23183. *
  23184. * Note that the cropThreshold also affects this setting. When zooming in on
  23185. * a series that has fewer points than the `cropThreshold`, all points are
  23186. * rendered although outside the visible plot area, and the `boostThreshold`
  23187. * won't take effect.
  23188. */
  23189. boostThreshold?: number;
  23190. /**
  23191. * (Highmaps) The border color of the map areas.
  23192. *
  23193. * In styled mode, the border stroke is given in the `.highcharts-point`
  23194. * class.
  23195. */
  23196. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23197. /**
  23198. * (Highmaps) The border width of each map area.
  23199. *
  23200. * In styled mode, the border stroke width is given in the
  23201. * `.highcharts-point` class.
  23202. */
  23203. borderWidth?: number;
  23204. /**
  23205. * (Highstock) An additional class name to apply to the series' graphical
  23206. * elements. This option does not replace default class names of the
  23207. * graphical element.
  23208. */
  23209. className?: string;
  23210. /**
  23211. * (Highstock) Disable this option to allow series rendering in the whole
  23212. * plotting area.
  23213. *
  23214. * **Note:** Clipping should be always enabled when chart.zoomType is set
  23215. */
  23216. clip?: boolean;
  23217. /**
  23218. * (Highstock) The main color of the series. In line type series it applies
  23219. * to the line and the point markers unless otherwise specified. In bar type
  23220. * series it applies to the bars unless a color is specified per point. The
  23221. * default value is pulled from the `options.colors` array.
  23222. *
  23223. * In styled mode, the color can be defined by the colorIndex option. Also,
  23224. * the series color can be set with the `.highcharts-series`,
  23225. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  23226. * `.highcharts-series-{n}` class, or individual classes given by the
  23227. * `className` option.
  23228. */
  23229. color?: (ColorString|GradientColorObject|PatternObject);
  23230. /**
  23231. * (Highstock) Styled mode only. A specific color index to use for the
  23232. * series, so its graphic representations are given the class name
  23233. * `highcharts-color-{n}`.
  23234. */
  23235. colorIndex?: number;
  23236. /**
  23237. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  23238. * used to calculate point color if `colorAxis` is used. Requires to set
  23239. * `min` and `max` if some custom point property is used or if approximation
  23240. * for data grouping is set to `'sum'`.
  23241. */
  23242. colorKey?: string;
  23243. /**
  23244. * (Highstock) Defines if comparison should start from the first point
  23245. * within the visible range or should start from the first point **before**
  23246. * the range.
  23247. *
  23248. * In other words, this flag determines if first point within the visible
  23249. * range will have 0% (`compareStart=true`) or should have been already
  23250. * calculated according to the previous point (`compareStart=false`).
  23251. */
  23252. compareStart?: boolean;
  23253. /**
  23254. * (Highstock) Whether to compare indicator to the main series values or
  23255. * indicator values.
  23256. */
  23257. compareToMain?: boolean;
  23258. /**
  23259. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  23260. * series plot across the extremes.
  23261. */
  23262. connectEnds?: boolean;
  23263. /**
  23264. * (Highcharts, Highstock) Whether to connect a graph line across null
  23265. * points, or render a gap between the two points on either side of the
  23266. * null.
  23267. */
  23268. connectNulls?: boolean;
  23269. /**
  23270. * (Gantt) Override Pathfinder connector options for a series. Requires
  23271. * Highcharts Gantt to be loaded.
  23272. */
  23273. connectors?: SeriesConnectorsOptionsObject;
  23274. /**
  23275. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  23276. * rounded to its nearest pixel in order to render sharp on screen. In some
  23277. * cases, when there are a lot of densely packed columns, this leads to
  23278. * visible difference in column widths or distance between columns. In these
  23279. * cases, setting `crisp` to `false` may look better, even though each
  23280. * column is rendered blurry.
  23281. */
  23282. crisp?: boolean;
  23283. /**
  23284. * (Highcharts, Highstock) When the series contains less points than the
  23285. * crop threshold, all points are drawn, even if the points fall outside the
  23286. * visible plot area at the current zoom. The advantage of drawing all
  23287. * points (including markers and columns), is that animation is performed on
  23288. * updates. On the other hand, when the series contains more points than the
  23289. * crop threshold, the series data is cropped to only contain points that
  23290. * fall within the plot area. The advantage of cropping away invisible
  23291. * points is to increase performance on large series.
  23292. */
  23293. cropThreshold?: number;
  23294. /**
  23295. * (Highstock) You can set the cursor to "pointer" if you have click events
  23296. * attached to the series, to signal to the user that the points and lines
  23297. * can be clicked.
  23298. *
  23299. * In styled mode, the series cursor can be set with the same classes as
  23300. * listed under series.color.
  23301. */
  23302. cursor?: (string|CursorValue);
  23303. /**
  23304. * (Highstock) A reserved subspace to store options and values for
  23305. * customized functionality. Here you can add additional data for your own
  23306. * event callbacks and formatter callbacks.
  23307. */
  23308. custom?: Dictionary<any>;
  23309. /**
  23310. * (Highstock) Name of the dash style to use for the graph, or for some
  23311. * series types the outline of each shape.
  23312. *
  23313. * In styled mode, the stroke dash-array can be set with the same classes as
  23314. * listed under series.color.
  23315. */
  23316. dashStyle?: DashStyleValue;
  23317. /**
  23318. * (Highstock) Data grouping is the concept of sampling the data values into
  23319. * larger blocks in order to ease readability and increase performance of
  23320. * the JavaScript charts. Highcharts Stock by default applies data grouping
  23321. * when the points become closer than a certain pixel value, determined by
  23322. * the `groupPixelWidth` option.
  23323. *
  23324. * If data grouping is applied, the grouping information of grouped points
  23325. * can be read from the Point.dataGroup. If point options other than the
  23326. * data itself are set, for example `name` or `color` or custom properties,
  23327. * the grouping logic doesn't know how to group it. In this case the options
  23328. * of the first point instance are copied over to the group point. This can
  23329. * be altered through a custom `approximation` callback function.
  23330. */
  23331. dataGrouping?: DataGroupingOptionsObject;
  23332. /**
  23333. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  23334. * labels, appearing next to each data point.
  23335. *
  23336. * Since v6.2.0, multiple data labels can be applied to each single point by
  23337. * defining them as an array of configs.
  23338. *
  23339. * In styled mode, the data labels can be styled with the
  23340. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  23341. * (see example).
  23342. */
  23343. dataLabels?: (PlotAroonDataLabelsOptions|Array<PlotAroonDataLabelsOptions>);
  23344. /**
  23345. * (Highcharts, Highstock) Options for the series data sorting.
  23346. */
  23347. dataSorting?: (DataSortingOptionsObject|PlotAroonDataSortingOptions);
  23348. /**
  23349. * (Highstock) A description of the series to add to the screen reader
  23350. * information about the series.
  23351. */
  23352. description?: string;
  23353. /**
  23354. * (Highstock) Enable or disable the mouse tracking for a specific series.
  23355. * This includes point tooltips and click events on graphs and points. For
  23356. * large datasets it improves performance.
  23357. */
  23358. enableMouseTracking?: boolean;
  23359. /**
  23360. * (Highstock) General event handlers for the series items. These event
  23361. * hooks can also be attached to the series at run time using the
  23362. * `Highcharts.addEvent` function.
  23363. */
  23364. events?: SeriesEventsOptionsObject;
  23365. /**
  23366. * (Highstock) Determines whether the series should look for the nearest
  23367. * point in both dimensions or just the x-dimension when hovering the
  23368. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  23369. * series. If the data has duplicate x-values, it is recommended to set this
  23370. * to `'xy'` to allow hovering over all points.
  23371. *
  23372. * Applies only to series types using nearest neighbor search (not direct
  23373. * hover) for tooltip.
  23374. */
  23375. findNearestPointBy?: OptionsFindNearestPointByValue;
  23376. /**
  23377. * (Highstock) Defines when to display a gap in the graph, together with the
  23378. * gapUnit option.
  23379. *
  23380. * In case when `dataGrouping` is enabled, points can be grouped into a
  23381. * larger time span. This can make the grouped points to have a greater
  23382. * distance than the absolute value of `gapSize` property, which will result
  23383. * in disappearing graph completely. To prevent this situation the mentioned
  23384. * distance between grouped points is used instead of previously defined
  23385. * `gapSize`.
  23386. *
  23387. * In practice, this option is most often used to visualize gaps in time
  23388. * series. In a stock chart, intraday data is available for daytime hours,
  23389. * while gaps will appear in nights and weekends.
  23390. */
  23391. gapSize?: number;
  23392. /**
  23393. * (Highstock) Together with gapSize, this option defines where to draw gaps
  23394. * in the graph.
  23395. *
  23396. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  23397. * if the distance between two points is greater than 5 times that of the
  23398. * two closest points, the graph will be broken.
  23399. *
  23400. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  23401. * values, which on a datetime axis is milliseconds. This also applies to
  23402. * the navigator series that inherits gap options from the base series.
  23403. */
  23404. gapUnit?: OptionsGapUnitValue;
  23405. /**
  23406. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  23407. * chart width or only the zoomed area when zooming in on parts of the X
  23408. * axis. By default, the Y axis adjusts to the min and max of the visible
  23409. * data. Cartesian series only.
  23410. */
  23411. getExtremesFromAll?: boolean;
  23412. /**
  23413. * (Highstock) When set to `false` will prevent the series data from being
  23414. * included in any form of data export.
  23415. *
  23416. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  23417. * `includeInCSVExport`.
  23418. */
  23419. includeInDataExport?: boolean;
  23420. /**
  23421. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  23422. * series as possible in a natural way, seeking to avoid other series. The
  23423. * goal of this feature is to make the chart more easily readable, like if a
  23424. * human designer placed the labels in the optimal position.
  23425. *
  23426. * The series labels currently work with series types having a `graph` or an
  23427. * `area`.
  23428. */
  23429. label?: SeriesLabelOptionsObject;
  23430. /**
  23431. * (Highstock) The line marks the last price from all points.
  23432. */
  23433. lastPrice?: SeriesLastPriceOptionsObject;
  23434. /**
  23435. * (Highstock) The line marks the last price from visible range of points.
  23436. */
  23437. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  23438. /**
  23439. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  23440. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  23441. * the ends and bends.
  23442. */
  23443. linecap?: SeriesLinecapValue;
  23444. /**
  23445. * (Highcharts, Highstock) Pixel width of the graph line.
  23446. */
  23447. lineWidth?: number;
  23448. /**
  23449. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  23450. * based on. Required for this indicator.
  23451. */
  23452. linkedTo?: string;
  23453. /**
  23454. * (Highstock) Options for the point markers of line-like series. Properties
  23455. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  23456. * appearance of the markers. Other series types, like column series, don't
  23457. * have markers, but have visual options on the series level instead.
  23458. *
  23459. * In styled mode, the markers can be styled with the `.highcharts-point`,
  23460. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  23461. */
  23462. marker?: PointMarkerOptionsObject;
  23463. /**
  23464. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  23465. * If not set, it will be based on a technical indicator type and default
  23466. * params.
  23467. */
  23468. name?: string;
  23469. /**
  23470. * (Highstock) The color for the parts of the graph or points that are below
  23471. * the threshold. Note that `zones` takes precedence over the negative
  23472. * color. Using `negativeColor` is equivalent to applying a zone with value
  23473. * of 0.
  23474. */
  23475. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  23476. /**
  23477. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  23478. * dataLabels.
  23479. */
  23480. opacity?: number;
  23481. /**
  23482. * (Highstock) Paramters used in calculation of aroon series points.
  23483. */
  23484. params?: PlotAroonParamsOptions;
  23485. /**
  23486. * (Highstock) Properties for each single point.
  23487. */
  23488. point?: PlotSeriesPointOptions;
  23489. /**
  23490. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  23491. * individual series. Overrides the chart wide configuration.
  23492. */
  23493. pointDescriptionFormatter?: Function;
  23494. /**
  23495. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  23496. * true, the checkbox next to the series name in the legend will be checked
  23497. * for a selected series.
  23498. */
  23499. selected?: boolean;
  23500. /**
  23501. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  23502. * the shadow can be an object configuration containing `color`, `offsetX`,
  23503. * `offsetY`, `opacity` and `width`.
  23504. */
  23505. shadow?: (boolean|ShadowOptionsObject);
  23506. /**
  23507. * (Highstock) If true, a checkbox is displayed next to the legend item to
  23508. * allow selecting the series. The state of the checkbox is determined by
  23509. * the `selected` option.
  23510. */
  23511. showCheckbox?: boolean;
  23512. /**
  23513. * (Highstock) Whether to display this particular series or series type in
  23514. * the legend. Standalone series are shown in legend by default, and linked
  23515. * series are not. Since v7.2.0 it is possible to show series that use
  23516. * colorAxis by setting this option to `true`.
  23517. */
  23518. showInLegend?: boolean;
  23519. /**
  23520. * (Highstock) If set to `true`, the accessibility module will skip past the
  23521. * points in this series for keyboard navigation.
  23522. */
  23523. skipKeyboardNavigation?: boolean;
  23524. /**
  23525. * (Highcharts, Highstock) When this is true, the series will not cause the
  23526. * Y axis to cross the zero plane (or threshold option) unless the data
  23527. * actually crosses the plane.
  23528. *
  23529. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  23530. * make the Y axis show negative values according to the `minPadding`
  23531. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  23532. */
  23533. softThreshold?: boolean;
  23534. states?: SeriesStatesOptionsObject;
  23535. /**
  23536. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  23537. * values are `left`, `center` and `right`.
  23538. */
  23539. step?: OptionsStepValue;
  23540. /**
  23541. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  23542. * event on a series isn't triggered until the mouse moves over another
  23543. * series, or out of the plot area. When false, the `mouseOut` event on a
  23544. * series is triggered when the mouse leaves the area around the series'
  23545. * graph or markers. This also implies the tooltip when not shared. When
  23546. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  23547. * be hidden when moving the mouse between series. Defaults to true for line
  23548. * and area type series, but to false for columns, pies etc.
  23549. *
  23550. * **Note:** The boost module will force this option because of technical
  23551. * limitations.
  23552. */
  23553. stickyTracking?: boolean;
  23554. /**
  23555. * (Highcharts, Highstock) The threshold, also called zero level or base
  23556. * level. For line type series this is only used in conjunction with
  23557. * negativeColor.
  23558. */
  23559. threshold?: (number|null);
  23560. /**
  23561. * (Highstock) A configuration object for the tooltip rendering of each
  23562. * single series. Properties are inherited from tooltip, but only the
  23563. * following properties can be defined on a series level.
  23564. */
  23565. tooltip?: SeriesTooltipOptionsObject;
  23566. /**
  23567. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  23568. * is longer than this, only one dimensional arrays of numbers, or two
  23569. * dimensional arrays with x and y values are allowed. Also, only the first
  23570. * point is tested, and the rest are assumed to be the same format. This
  23571. * saves expensive data checking and indexing in long series. Set it to `0`
  23572. * disable.
  23573. *
  23574. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  23575. * two dimensional arrays are allowed.
  23576. */
  23577. turboThreshold?: number;
  23578. /**
  23579. * (Highstock) Set the initial visibility of the series.
  23580. */
  23581. visible?: boolean;
  23582. /**
  23583. * (Highmaps) Define the z index of the series.
  23584. */
  23585. zIndex?: number;
  23586. /**
  23587. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  23588. */
  23589. zoneAxis?: string;
  23590. /**
  23591. * (Highcharts, Highstock) An array defining zones within a series. Zones
  23592. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  23593. * the `zoneAxis` option. The zone definitions have to be in ascending order
  23594. * regarding to the value.
  23595. *
  23596. * In styled mode, the color zones are styled with the
  23597. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  23598. * option (view live demo).
  23599. */
  23600. zones?: Array<SeriesZonesOptionsObject>;
  23601. }
  23602. /**
  23603. * (Highstock) Enable or disable the initial animation when a series is
  23604. * displayed. The animation can also be set as a configuration object. Please
  23605. * note that this option only applies to the initial animation of the series
  23606. * itself. For other animations, see chart.animation and the animation parameter
  23607. * under the API methods. The following properties are supported:
  23608. *
  23609. * - `defer`: The animation delay time in milliseconds.
  23610. *
  23611. * - `duration`: The duration of the animation in milliseconds.
  23612. *
  23613. * - `easing`: Can be a string reference to an easing function set on the `Math`
  23614. * object or a function. See the _Custom easing function_ demo below.
  23615. *
  23616. * Due to poor performance, animation is disabled in old IE browsers for several
  23617. * chart types.
  23618. */
  23619. export interface PlotAroonoscillatorAnimationOptions {
  23620. defer?: number;
  23621. }
  23622. /**
  23623. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23624. * animation when a series is displayed for the `dataLabels`. The animation can
  23625. * also be set as a configuration object. Please note that this option only
  23626. * applies to the initial animation. For other animations, see chart.animation
  23627. * and the animation parameter under the API methods. The following properties
  23628. * are supported:
  23629. *
  23630. * - `defer`: The animation delay time in milliseconds.
  23631. */
  23632. export interface PlotAroonoscillatorDataLabelsAnimationOptions {
  23633. /**
  23634. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  23635. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  23636. * inherits defer time from the series.animation.defer.
  23637. */
  23638. defer?: number;
  23639. }
  23640. /**
  23641. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  23642. * appearing next to each data point.
  23643. *
  23644. * Since v6.2.0, multiple data labels can be applied to each single point by
  23645. * defining them as an array of configs.
  23646. *
  23647. * In styled mode, the data labels can be styled with the
  23648. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  23649. * example).
  23650. */
  23651. export interface PlotAroonoscillatorDataLabelsOptions {
  23652. /**
  23653. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  23654. * compared to the point. If `right`, the right side of the label should be
  23655. * touching the point. For points with an extent, like columns, the
  23656. * alignments also dictates how to align it inside the box, as given with
  23657. * the inside option. Can be one of `left`, `center` or `right`.
  23658. */
  23659. align?: (AlignValue|null);
  23660. /**
  23661. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  23662. * overlap. To make the labels less sensitive for overlapping, the
  23663. * dataLabels.padding can be set to 0.
  23664. */
  23665. allowOverlap?: boolean;
  23666. /**
  23667. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  23668. * animation when a series is displayed for the `dataLabels`. The animation
  23669. * can also be set as a configuration object. Please note that this option
  23670. * only applies to the initial animation. For other animations, see
  23671. * chart.animation and the animation parameter under the API methods. The
  23672. * following properties are supported:
  23673. *
  23674. * - `defer`: The animation delay time in milliseconds.
  23675. */
  23676. animation?: (boolean|PlotAroonoscillatorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  23677. /**
  23678. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  23679. * for the data label.
  23680. */
  23681. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  23682. /**
  23683. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  23684. * label. Defaults to `undefined`.
  23685. */
  23686. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23687. /**
  23688. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  23689. * the data label.
  23690. */
  23691. borderRadius?: number;
  23692. /**
  23693. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  23694. * the data label.
  23695. */
  23696. borderWidth?: number;
  23697. /**
  23698. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  23699. * Particularly in styled mode, this can be used to give each series' or
  23700. * point's data label unique styling. In addition to this option, a default
  23701. * color class name is added so that we can give the labels a contrast text
  23702. * shadow.
  23703. */
  23704. className?: string;
  23705. /**
  23706. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  23707. * labels. Defaults to `undefined`. For certain series types, like column or
  23708. * map, the data labels can be drawn inside the points. In this case the
  23709. * data label will be drawn with maximum contrast by default. Additionally,
  23710. * it will be given a `text-outline` style with the opposite color, to
  23711. * further increase the contrast. This can be overridden by setting the
  23712. * `text-outline` style to `none` in the `dataLabels.style` option.
  23713. */
  23714. color?: (ColorString|GradientColorObject|PatternObject);
  23715. /**
  23716. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  23717. * are outside the plot area. By default, the data label is moved inside the
  23718. * plot area according to the overflow option.
  23719. */
  23720. crop?: boolean;
  23721. /**
  23722. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  23723. * labels until the initial series animation has finished. Setting to
  23724. * `false` renders the data label immediately. If set to `true` inherits the
  23725. * defer time set in plotOptions.series.animation. If set to a number, a
  23726. * defer time is specified in milliseconds.
  23727. */
  23728. defer?: (boolean|number);
  23729. /**
  23730. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  23731. * labels.
  23732. */
  23733. enabled?: boolean;
  23734. /**
  23735. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  23736. * of which data labels to display. The declarative filter is designed for
  23737. * use when callback functions are not available, like when the chart
  23738. * options require a pure JSON structure or for use with graphical editors.
  23739. * For programmatic control, use the `formatter` instead, and return
  23740. * `undefined` to disable a single data label.
  23741. */
  23742. filter?: DataLabelsFilterOptionsObject;
  23743. /**
  23744. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  23745. * label. Available variables are the same as for `formatter`.
  23746. */
  23747. format?: string;
  23748. /**
  23749. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  23750. * format the data label. Note that if a `format` is defined, the format
  23751. * takes precedence and the formatter is ignored.
  23752. */
  23753. formatter?: DataLabelsFormatterCallbackFunction;
  23754. /**
  23755. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  23756. * columns or map areas, whether to align the data label inside the box or
  23757. * to the actual value point. Defaults to `false` in most cases, `true` in
  23758. * stacked columns.
  23759. */
  23760. inside?: boolean;
  23761. /**
  23762. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  23763. * of null. Works analogously to format. `nullFormat` can be applied only to
  23764. * series which support displaying null points.
  23765. */
  23766. nullFormat?: (boolean|string);
  23767. /**
  23768. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  23769. * that defines formatting for points with the value of null. Works
  23770. * analogously to formatter. `nullPointFormatter` can be applied only to
  23771. * series which support displaying null points.
  23772. */
  23773. nullFormatter?: DataLabelsFormatterCallbackFunction;
  23774. /**
  23775. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  23776. * flow outside the plot area. The default is `"justify"`, which aligns them
  23777. * inside the plot area. For columns and bars, this means it will be moved
  23778. * inside the bar. To display data labels outside the plot area, set `crop`
  23779. * to `false` and `overflow` to `"allow"`.
  23780. */
  23781. overflow?: DataLabelsOverflowValue;
  23782. /**
  23783. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  23784. * the `backgroundColor` is set, this is the padding within the box.
  23785. */
  23786. padding?: number;
  23787. /**
  23788. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  23789. * points. If `center` alignment is not possible, it defaults to `right`.
  23790. */
  23791. position?: AlignValue;
  23792. /**
  23793. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  23794. * that due to a more complex structure, backgrounds, borders and padding
  23795. * will be lost on a rotated data label.
  23796. */
  23797. rotation?: number;
  23798. /**
  23799. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  23800. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  23801. * an object configuration containing `color`, `offsetX`, `offsetY`,
  23802. * `opacity` and `width`.
  23803. */
  23804. shadow?: (boolean|ShadowOptionsObject);
  23805. /**
  23806. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  23807. * the border around the label. Symbols are predefined functions on the
  23808. * Renderer object.
  23809. */
  23810. shape?: string;
  23811. /**
  23812. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  23813. * default `color` setting is `"contrast"`, which is a pseudo color that
  23814. * Highcharts picks up and applies the maximum contrast to the underlying
  23815. * point item, for example the bar in a bar chart.
  23816. *
  23817. * The `textOutline` is a pseudo property that applies an outline of the
  23818. * given width with the given color, which by default is the maximum
  23819. * contrast to the text. So a bright text color will result in a black text
  23820. * outline for maximum readability on a mixed background. In some cases,
  23821. * especially with grayscale text, the text outline doesn't work well, in
  23822. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  23823. * is true, the `textOutline` will not be picked up. In this, case, the same
  23824. * effect can be acheived through the `text-shadow` CSS property.
  23825. *
  23826. * For some series types, where each point has an extent, like for example
  23827. * tree maps, the data label may overflow the point. There are two
  23828. * strategies for handling overflow. By default, the text will wrap to
  23829. * multiple lines. The other strategy is to set `style.textOverflow` to
  23830. * `ellipsis`, which will keep the text on one line plus it will break
  23831. * inside long words.
  23832. */
  23833. style?: CSSObject;
  23834. /**
  23835. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  23836. * should follow marker's shape. Border and background are disabled for a
  23837. * label that follows a path.
  23838. *
  23839. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  23840. * to true will disable this option.
  23841. */
  23842. textPath?: DataLabelsTextPathOptionsObject;
  23843. /**
  23844. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  23845. * the labels.
  23846. */
  23847. useHTML?: boolean;
  23848. /**
  23849. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  23850. * label. Can be one of `top`, `middle` or `bottom`. The default value
  23851. * depends on the data, for instance in a column chart, the label is above
  23852. * positive values and below negative values.
  23853. */
  23854. verticalAlign?: (VerticalAlignValue|null);
  23855. /**
  23856. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  23857. * label relative to the point in pixels.
  23858. */
  23859. x?: number;
  23860. /**
  23861. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  23862. * label relative to the point in pixels.
  23863. */
  23864. y?: number;
  23865. /**
  23866. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  23867. * The default Z index puts it above the series. Use a Z index of 2 to
  23868. * display it behind the series.
  23869. */
  23870. z?: number;
  23871. }
  23872. /**
  23873. * (Highcharts, Highstock) Options for the series data sorting.
  23874. */
  23875. export interface PlotAroonoscillatorDataSortingOptions {
  23876. /**
  23877. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  23878. * Use xAxis.reversed to change the sorting order.
  23879. */
  23880. enabled?: boolean;
  23881. /**
  23882. * (Highcharts, Highstock) Whether to allow matching points by name in an
  23883. * update. If this option is disabled, points will be matched by order.
  23884. */
  23885. matchByName?: boolean;
  23886. /**
  23887. * (Highcharts, Highstock) Determines what data value should be used to sort
  23888. * by.
  23889. */
  23890. sortKey?: string;
  23891. }
  23892. /**
  23893. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option to
  23894. * be set and should be loaded after the `stock/indicators/indicators.js` and
  23895. * `stock/indicators/aroon.js`.
  23896. *
  23897. * In TypeScript the type option must always be set.
  23898. *
  23899. * Configuration options for the series are given in three levels:
  23900. *
  23901. * 1. Options for all series in a chart are defined in the plotOptions.series
  23902. * object.
  23903. *
  23904. * 2. Options for all `aroonoscillator` series are defined in
  23905. * plotOptions.aroonoscillator.
  23906. *
  23907. * 3. Options for one single series are given in the series instance array. (see
  23908. * online documentation for example)
  23909. */
  23910. export interface PlotAroonoscillatorOptions {
  23911. /**
  23912. * (Highstock) Accessibility options for a series.
  23913. */
  23914. accessibility?: SeriesAccessibilityOptionsObject;
  23915. /**
  23916. * (Highstock) Allow this series' points to be selected by clicking on the
  23917. * graphic (columns, point markers, pie slices, map areas etc).
  23918. *
  23919. * The selected points can be handled by point select and unselect events,
  23920. * or collectively by the getSelectedPoints function.
  23921. *
  23922. * And alternative way of selecting points is through dragging.
  23923. */
  23924. allowPointSelect?: boolean;
  23925. /**
  23926. * (Highstock) Enable or disable the initial animation when a series is
  23927. * displayed. The animation can also be set as a configuration object.
  23928. * Please note that this option only applies to the initial animation of the
  23929. * series itself. For other animations, see chart.animation and the
  23930. * animation parameter under the API methods. The following properties are
  23931. * supported:
  23932. *
  23933. * - `defer`: The animation delay time in milliseconds.
  23934. *
  23935. * - `duration`: The duration of the animation in milliseconds.
  23936. *
  23937. * - `easing`: Can be a string reference to an easing function set on the
  23938. * `Math` object or a function. See the _Custom easing function_ demo below.
  23939. *
  23940. * Due to poor performance, animation is disabled in old IE browsers for
  23941. * several chart types.
  23942. */
  23943. animation?: (boolean|PlotAroonoscillatorAnimationOptions|Partial<AnimationOptionsObject>);
  23944. /**
  23945. * (Highstock) For some series, there is a limit that shuts down initial
  23946. * animation by default when the total number of points in the chart is too
  23947. * high. For example, for a column chart and its derivatives, animation does
  23948. * not run if there is more than 250 points totally. To disable this cap,
  23949. * set `animationLimit` to `Infinity`.
  23950. */
  23951. animationLimit?: number;
  23952. /**
  23953. * (Highstock) Sets the color blending in the boost module.
  23954. */
  23955. boostBlending?: OptionsBoostBlendingValue;
  23956. /**
  23957. * (Highstock) Set the point threshold for when a series should enter boost
  23958. * mode.
  23959. *
  23960. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  23961. * there are 2000 or more points in the series.
  23962. *
  23963. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  23964. * it to 1 will force boosting.
  23965. *
  23966. * Note that the cropThreshold also affects this setting. When zooming in on
  23967. * a series that has fewer points than the `cropThreshold`, all points are
  23968. * rendered although outside the visible plot area, and the `boostThreshold`
  23969. * won't take effect.
  23970. */
  23971. boostThreshold?: number;
  23972. /**
  23973. * (Highmaps) The border color of the map areas.
  23974. *
  23975. * In styled mode, the border stroke is given in the `.highcharts-point`
  23976. * class.
  23977. */
  23978. borderColor?: (ColorString|GradientColorObject|PatternObject);
  23979. /**
  23980. * (Highmaps) The border width of each map area.
  23981. *
  23982. * In styled mode, the border stroke width is given in the
  23983. * `.highcharts-point` class.
  23984. */
  23985. borderWidth?: number;
  23986. /**
  23987. * (Highstock) An additional class name to apply to the series' graphical
  23988. * elements. This option does not replace default class names of the
  23989. * graphical element.
  23990. */
  23991. className?: string;
  23992. /**
  23993. * (Highstock) Disable this option to allow series rendering in the whole
  23994. * plotting area.
  23995. *
  23996. * **Note:** Clipping should be always enabled when chart.zoomType is set
  23997. */
  23998. clip?: boolean;
  23999. /**
  24000. * (Highstock) The main color of the series. In line type series it applies
  24001. * to the line and the point markers unless otherwise specified. In bar type
  24002. * series it applies to the bars unless a color is specified per point. The
  24003. * default value is pulled from the `options.colors` array.
  24004. *
  24005. * In styled mode, the color can be defined by the colorIndex option. Also,
  24006. * the series color can be set with the `.highcharts-series`,
  24007. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  24008. * `.highcharts-series-{n}` class, or individual classes given by the
  24009. * `className` option.
  24010. */
  24011. color?: (ColorString|GradientColorObject|PatternObject);
  24012. /**
  24013. * (Highstock) Styled mode only. A specific color index to use for the
  24014. * series, so its graphic representations are given the class name
  24015. * `highcharts-color-{n}`.
  24016. */
  24017. colorIndex?: number;
  24018. /**
  24019. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  24020. * used to calculate point color if `colorAxis` is used. Requires to set
  24021. * `min` and `max` if some custom point property is used or if approximation
  24022. * for data grouping is set to `'sum'`.
  24023. */
  24024. colorKey?: string;
  24025. /**
  24026. * (Highstock) Defines if comparison should start from the first point
  24027. * within the visible range or should start from the first point **before**
  24028. * the range.
  24029. *
  24030. * In other words, this flag determines if first point within the visible
  24031. * range will have 0% (`compareStart=true`) or should have been already
  24032. * calculated according to the previous point (`compareStart=false`).
  24033. */
  24034. compareStart?: boolean;
  24035. /**
  24036. * (Highstock) Whether to compare indicator to the main series values or
  24037. * indicator values.
  24038. */
  24039. compareToMain?: boolean;
  24040. /**
  24041. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  24042. * series plot across the extremes.
  24043. */
  24044. connectEnds?: boolean;
  24045. /**
  24046. * (Highcharts, Highstock) Whether to connect a graph line across null
  24047. * points, or render a gap between the two points on either side of the
  24048. * null.
  24049. */
  24050. connectNulls?: boolean;
  24051. /**
  24052. * (Gantt) Override Pathfinder connector options for a series. Requires
  24053. * Highcharts Gantt to be loaded.
  24054. */
  24055. connectors?: SeriesConnectorsOptionsObject;
  24056. /**
  24057. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  24058. * rounded to its nearest pixel in order to render sharp on screen. In some
  24059. * cases, when there are a lot of densely packed columns, this leads to
  24060. * visible difference in column widths or distance between columns. In these
  24061. * cases, setting `crisp` to `false` may look better, even though each
  24062. * column is rendered blurry.
  24063. */
  24064. crisp?: boolean;
  24065. /**
  24066. * (Highcharts, Highstock) When the series contains less points than the
  24067. * crop threshold, all points are drawn, even if the points fall outside the
  24068. * visible plot area at the current zoom. The advantage of drawing all
  24069. * points (including markers and columns), is that animation is performed on
  24070. * updates. On the other hand, when the series contains more points than the
  24071. * crop threshold, the series data is cropped to only contain points that
  24072. * fall within the plot area. The advantage of cropping away invisible
  24073. * points is to increase performance on large series.
  24074. */
  24075. cropThreshold?: number;
  24076. /**
  24077. * (Highstock) You can set the cursor to "pointer" if you have click events
  24078. * attached to the series, to signal to the user that the points and lines
  24079. * can be clicked.
  24080. *
  24081. * In styled mode, the series cursor can be set with the same classes as
  24082. * listed under series.color.
  24083. */
  24084. cursor?: (string|CursorValue);
  24085. /**
  24086. * (Highstock) A reserved subspace to store options and values for
  24087. * customized functionality. Here you can add additional data for your own
  24088. * event callbacks and formatter callbacks.
  24089. */
  24090. custom?: Dictionary<any>;
  24091. /**
  24092. * (Highstock) Name of the dash style to use for the graph, or for some
  24093. * series types the outline of each shape.
  24094. *
  24095. * In styled mode, the stroke dash-array can be set with the same classes as
  24096. * listed under series.color.
  24097. */
  24098. dashStyle?: DashStyleValue;
  24099. /**
  24100. * (Highstock) Data grouping is the concept of sampling the data values into
  24101. * larger blocks in order to ease readability and increase performance of
  24102. * the JavaScript charts. Highcharts Stock by default applies data grouping
  24103. * when the points become closer than a certain pixel value, determined by
  24104. * the `groupPixelWidth` option.
  24105. *
  24106. * If data grouping is applied, the grouping information of grouped points
  24107. * can be read from the Point.dataGroup. If point options other than the
  24108. * data itself are set, for example `name` or `color` or custom properties,
  24109. * the grouping logic doesn't know how to group it. In this case the options
  24110. * of the first point instance are copied over to the group point. This can
  24111. * be altered through a custom `approximation` callback function.
  24112. */
  24113. dataGrouping?: DataGroupingOptionsObject;
  24114. /**
  24115. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  24116. * labels, appearing next to each data point.
  24117. *
  24118. * Since v6.2.0, multiple data labels can be applied to each single point by
  24119. * defining them as an array of configs.
  24120. *
  24121. * In styled mode, the data labels can be styled with the
  24122. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  24123. * (see example).
  24124. */
  24125. dataLabels?: (PlotAroonoscillatorDataLabelsOptions|Array<PlotAroonoscillatorDataLabelsOptions>);
  24126. /**
  24127. * (Highcharts, Highstock) Options for the series data sorting.
  24128. */
  24129. dataSorting?: (DataSortingOptionsObject|PlotAroonoscillatorDataSortingOptions);
  24130. /**
  24131. * (Highstock) A description of the series to add to the screen reader
  24132. * information about the series.
  24133. */
  24134. description?: string;
  24135. /**
  24136. * (Highstock) Enable or disable the mouse tracking for a specific series.
  24137. * This includes point tooltips and click events on graphs and points. For
  24138. * large datasets it improves performance.
  24139. */
  24140. enableMouseTracking?: boolean;
  24141. /**
  24142. * (Highstock) General event handlers for the series items. These event
  24143. * hooks can also be attached to the series at run time using the
  24144. * `Highcharts.addEvent` function.
  24145. */
  24146. events?: SeriesEventsOptionsObject;
  24147. /**
  24148. * (Highstock) Determines whether the series should look for the nearest
  24149. * point in both dimensions or just the x-dimension when hovering the
  24150. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  24151. * series. If the data has duplicate x-values, it is recommended to set this
  24152. * to `'xy'` to allow hovering over all points.
  24153. *
  24154. * Applies only to series types using nearest neighbor search (not direct
  24155. * hover) for tooltip.
  24156. */
  24157. findNearestPointBy?: OptionsFindNearestPointByValue;
  24158. /**
  24159. * (Highstock) Defines when to display a gap in the graph, together with the
  24160. * gapUnit option.
  24161. *
  24162. * In case when `dataGrouping` is enabled, points can be grouped into a
  24163. * larger time span. This can make the grouped points to have a greater
  24164. * distance than the absolute value of `gapSize` property, which will result
  24165. * in disappearing graph completely. To prevent this situation the mentioned
  24166. * distance between grouped points is used instead of previously defined
  24167. * `gapSize`.
  24168. *
  24169. * In practice, this option is most often used to visualize gaps in time
  24170. * series. In a stock chart, intraday data is available for daytime hours,
  24171. * while gaps will appear in nights and weekends.
  24172. */
  24173. gapSize?: number;
  24174. /**
  24175. * (Highstock) Together with gapSize, this option defines where to draw gaps
  24176. * in the graph.
  24177. *
  24178. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  24179. * if the distance between two points is greater than 5 times that of the
  24180. * two closest points, the graph will be broken.
  24181. *
  24182. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  24183. * values, which on a datetime axis is milliseconds. This also applies to
  24184. * the navigator series that inherits gap options from the base series.
  24185. */
  24186. gapUnit?: OptionsGapUnitValue;
  24187. /**
  24188. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  24189. * chart width or only the zoomed area when zooming in on parts of the X
  24190. * axis. By default, the Y axis adjusts to the min and max of the visible
  24191. * data. Cartesian series only.
  24192. */
  24193. getExtremesFromAll?: boolean;
  24194. /**
  24195. * (Highstock) When set to `false` will prevent the series data from being
  24196. * included in any form of data export.
  24197. *
  24198. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  24199. * `includeInCSVExport`.
  24200. */
  24201. includeInDataExport?: boolean;
  24202. /**
  24203. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  24204. * series as possible in a natural way, seeking to avoid other series. The
  24205. * goal of this feature is to make the chart more easily readable, like if a
  24206. * human designer placed the labels in the optimal position.
  24207. *
  24208. * The series labels currently work with series types having a `graph` or an
  24209. * `area`.
  24210. */
  24211. label?: SeriesLabelOptionsObject;
  24212. /**
  24213. * (Highstock) The line marks the last price from all points.
  24214. */
  24215. lastPrice?: SeriesLastPriceOptionsObject;
  24216. /**
  24217. * (Highstock) The line marks the last price from visible range of points.
  24218. */
  24219. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  24220. /**
  24221. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  24222. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  24223. * the ends and bends.
  24224. */
  24225. linecap?: SeriesLinecapValue;
  24226. /**
  24227. * (Highcharts, Highstock) Pixel width of the graph line.
  24228. */
  24229. lineWidth?: number;
  24230. /**
  24231. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  24232. * based on. Required for this indicator.
  24233. */
  24234. linkedTo?: string;
  24235. /**
  24236. * (Highstock) Options for the point markers of line-like series. Properties
  24237. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  24238. * appearance of the markers. Other series types, like column series, don't
  24239. * have markers, but have visual options on the series level instead.
  24240. *
  24241. * In styled mode, the markers can be styled with the `.highcharts-point`,
  24242. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  24243. */
  24244. marker?: PointMarkerOptionsObject;
  24245. /**
  24246. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  24247. * If not set, it will be based on a technical indicator type and default
  24248. * params.
  24249. */
  24250. name?: string;
  24251. /**
  24252. * (Highstock) The color for the parts of the graph or points that are below
  24253. * the threshold. Note that `zones` takes precedence over the negative
  24254. * color. Using `negativeColor` is equivalent to applying a zone with value
  24255. * of 0.
  24256. */
  24257. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  24258. /**
  24259. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  24260. * dataLabels.
  24261. */
  24262. opacity?: number;
  24263. /**
  24264. * (Highstock) Paramters used in calculation of aroon series points.
  24265. */
  24266. params?: PlotAroonoscillatorParamsOptions;
  24267. /**
  24268. * (Highstock) Properties for each single point.
  24269. */
  24270. point?: PlotSeriesPointOptions;
  24271. /**
  24272. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  24273. * individual series. Overrides the chart wide configuration.
  24274. */
  24275. pointDescriptionFormatter?: Function;
  24276. /**
  24277. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  24278. * true, the checkbox next to the series name in the legend will be checked
  24279. * for a selected series.
  24280. */
  24281. selected?: boolean;
  24282. /**
  24283. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  24284. * the shadow can be an object configuration containing `color`, `offsetX`,
  24285. * `offsetY`, `opacity` and `width`.
  24286. */
  24287. shadow?: (boolean|ShadowOptionsObject);
  24288. /**
  24289. * (Highstock) If true, a checkbox is displayed next to the legend item to
  24290. * allow selecting the series. The state of the checkbox is determined by
  24291. * the `selected` option.
  24292. */
  24293. showCheckbox?: boolean;
  24294. /**
  24295. * (Highstock) Whether to display this particular series or series type in
  24296. * the legend. Standalone series are shown in legend by default, and linked
  24297. * series are not. Since v7.2.0 it is possible to show series that use
  24298. * colorAxis by setting this option to `true`.
  24299. */
  24300. showInLegend?: boolean;
  24301. /**
  24302. * (Highstock) If set to `true`, the accessibility module will skip past the
  24303. * points in this series for keyboard navigation.
  24304. */
  24305. skipKeyboardNavigation?: boolean;
  24306. /**
  24307. * (Highcharts, Highstock) When this is true, the series will not cause the
  24308. * Y axis to cross the zero plane (or threshold option) unless the data
  24309. * actually crosses the plane.
  24310. *
  24311. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  24312. * make the Y axis show negative values according to the `minPadding`
  24313. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  24314. */
  24315. softThreshold?: boolean;
  24316. states?: SeriesStatesOptionsObject;
  24317. /**
  24318. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  24319. * values are `left`, `center` and `right`.
  24320. */
  24321. step?: OptionsStepValue;
  24322. /**
  24323. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  24324. * event on a series isn't triggered until the mouse moves over another
  24325. * series, or out of the plot area. When false, the `mouseOut` event on a
  24326. * series is triggered when the mouse leaves the area around the series'
  24327. * graph or markers. This also implies the tooltip when not shared. When
  24328. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  24329. * be hidden when moving the mouse between series. Defaults to true for line
  24330. * and area type series, but to false for columns, pies etc.
  24331. *
  24332. * **Note:** The boost module will force this option because of technical
  24333. * limitations.
  24334. */
  24335. stickyTracking?: boolean;
  24336. /**
  24337. * (Highcharts, Highstock) The threshold, also called zero level or base
  24338. * level. For line type series this is only used in conjunction with
  24339. * negativeColor.
  24340. */
  24341. threshold?: (number|null);
  24342. /**
  24343. * (Highstock) A configuration object for the tooltip rendering of each
  24344. * single series. Properties are inherited from tooltip, but only the
  24345. * following properties can be defined on a series level.
  24346. */
  24347. tooltip?: SeriesTooltipOptionsObject;
  24348. /**
  24349. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  24350. * is longer than this, only one dimensional arrays of numbers, or two
  24351. * dimensional arrays with x and y values are allowed. Also, only the first
  24352. * point is tested, and the rest are assumed to be the same format. This
  24353. * saves expensive data checking and indexing in long series. Set it to `0`
  24354. * disable.
  24355. *
  24356. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  24357. * two dimensional arrays are allowed.
  24358. */
  24359. turboThreshold?: number;
  24360. /**
  24361. * (Highstock) Set the initial visibility of the series.
  24362. */
  24363. visible?: boolean;
  24364. /**
  24365. * (Highmaps) Define the z index of the series.
  24366. */
  24367. zIndex?: number;
  24368. /**
  24369. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  24370. */
  24371. zoneAxis?: string;
  24372. /**
  24373. * (Highcharts, Highstock) An array defining zones within a series. Zones
  24374. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  24375. * the `zoneAxis` option. The zone definitions have to be in ascending order
  24376. * regarding to the value.
  24377. *
  24378. * In styled mode, the color zones are styled with the
  24379. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  24380. * option (view live demo).
  24381. */
  24382. zones?: Array<SeriesZonesOptionsObject>;
  24383. }
  24384. /**
  24385. * (Highstock) Paramters used in calculation of aroon series points.
  24386. */
  24387. export interface PlotAroonoscillatorParamsOptions {
  24388. index?: string;
  24389. /**
  24390. * (Highstock) The base period for indicator calculations. This is the
  24391. * number of data points which are taken into account for the indicator
  24392. * calculations.
  24393. */
  24394. period?: number;
  24395. }
  24396. /**
  24397. * (Highstock) Paramters used in calculation of aroon series points.
  24398. */
  24399. export interface PlotAroonParamsOptions {
  24400. index?: string;
  24401. /**
  24402. * (Highstock) The base period for indicator calculations. This is the
  24403. * number of data points which are taken into account for the indicator
  24404. * calculations.
  24405. */
  24406. period?: number;
  24407. }
  24408. /**
  24409. * (Highstock) Enable or disable the initial animation when a series is
  24410. * displayed. The animation can also be set as a configuration object. Please
  24411. * note that this option only applies to the initial animation of the series
  24412. * itself. For other animations, see chart.animation and the animation parameter
  24413. * under the API methods. The following properties are supported:
  24414. *
  24415. * - `defer`: The animation delay time in milliseconds.
  24416. *
  24417. * - `duration`: The duration of the animation in milliseconds.
  24418. *
  24419. * - `easing`: Can be a string reference to an easing function set on the `Math`
  24420. * object or a function. See the _Custom easing function_ demo below.
  24421. *
  24422. * Due to poor performance, animation is disabled in old IE browsers for several
  24423. * chart types.
  24424. */
  24425. export interface PlotAtrAnimationOptions {
  24426. defer?: number;
  24427. }
  24428. /**
  24429. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24430. * animation when a series is displayed for the `dataLabels`. The animation can
  24431. * also be set as a configuration object. Please note that this option only
  24432. * applies to the initial animation. For other animations, see chart.animation
  24433. * and the animation parameter under the API methods. The following properties
  24434. * are supported:
  24435. *
  24436. * - `defer`: The animation delay time in milliseconds.
  24437. */
  24438. export interface PlotAtrDataLabelsAnimationOptions {
  24439. /**
  24440. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  24441. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  24442. * inherits defer time from the series.animation.defer.
  24443. */
  24444. defer?: number;
  24445. }
  24446. /**
  24447. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  24448. * appearing next to each data point.
  24449. *
  24450. * Since v6.2.0, multiple data labels can be applied to each single point by
  24451. * defining them as an array of configs.
  24452. *
  24453. * In styled mode, the data labels can be styled with the
  24454. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  24455. * example).
  24456. */
  24457. export interface PlotAtrDataLabelsOptions {
  24458. /**
  24459. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  24460. * compared to the point. If `right`, the right side of the label should be
  24461. * touching the point. For points with an extent, like columns, the
  24462. * alignments also dictates how to align it inside the box, as given with
  24463. * the inside option. Can be one of `left`, `center` or `right`.
  24464. */
  24465. align?: (AlignValue|null);
  24466. /**
  24467. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  24468. * overlap. To make the labels less sensitive for overlapping, the
  24469. * dataLabels.padding can be set to 0.
  24470. */
  24471. allowOverlap?: boolean;
  24472. /**
  24473. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  24474. * animation when a series is displayed for the `dataLabels`. The animation
  24475. * can also be set as a configuration object. Please note that this option
  24476. * only applies to the initial animation. For other animations, see
  24477. * chart.animation and the animation parameter under the API methods. The
  24478. * following properties are supported:
  24479. *
  24480. * - `defer`: The animation delay time in milliseconds.
  24481. */
  24482. animation?: (boolean|PlotAtrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  24483. /**
  24484. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  24485. * for the data label.
  24486. */
  24487. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  24488. /**
  24489. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  24490. * label. Defaults to `undefined`.
  24491. */
  24492. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24493. /**
  24494. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  24495. * the data label.
  24496. */
  24497. borderRadius?: number;
  24498. /**
  24499. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  24500. * the data label.
  24501. */
  24502. borderWidth?: number;
  24503. /**
  24504. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  24505. * Particularly in styled mode, this can be used to give each series' or
  24506. * point's data label unique styling. In addition to this option, a default
  24507. * color class name is added so that we can give the labels a contrast text
  24508. * shadow.
  24509. */
  24510. className?: string;
  24511. /**
  24512. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  24513. * labels. Defaults to `undefined`. For certain series types, like column or
  24514. * map, the data labels can be drawn inside the points. In this case the
  24515. * data label will be drawn with maximum contrast by default. Additionally,
  24516. * it will be given a `text-outline` style with the opposite color, to
  24517. * further increase the contrast. This can be overridden by setting the
  24518. * `text-outline` style to `none` in the `dataLabels.style` option.
  24519. */
  24520. color?: (ColorString|GradientColorObject|PatternObject);
  24521. /**
  24522. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  24523. * are outside the plot area. By default, the data label is moved inside the
  24524. * plot area according to the overflow option.
  24525. */
  24526. crop?: boolean;
  24527. /**
  24528. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  24529. * labels until the initial series animation has finished. Setting to
  24530. * `false` renders the data label immediately. If set to `true` inherits the
  24531. * defer time set in plotOptions.series.animation. If set to a number, a
  24532. * defer time is specified in milliseconds.
  24533. */
  24534. defer?: (boolean|number);
  24535. /**
  24536. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  24537. * labels.
  24538. */
  24539. enabled?: boolean;
  24540. /**
  24541. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  24542. * of which data labels to display. The declarative filter is designed for
  24543. * use when callback functions are not available, like when the chart
  24544. * options require a pure JSON structure or for use with graphical editors.
  24545. * For programmatic control, use the `formatter` instead, and return
  24546. * `undefined` to disable a single data label.
  24547. */
  24548. filter?: DataLabelsFilterOptionsObject;
  24549. /**
  24550. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  24551. * label. Available variables are the same as for `formatter`.
  24552. */
  24553. format?: string;
  24554. /**
  24555. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  24556. * format the data label. Note that if a `format` is defined, the format
  24557. * takes precedence and the formatter is ignored.
  24558. */
  24559. formatter?: DataLabelsFormatterCallbackFunction;
  24560. /**
  24561. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  24562. * columns or map areas, whether to align the data label inside the box or
  24563. * to the actual value point. Defaults to `false` in most cases, `true` in
  24564. * stacked columns.
  24565. */
  24566. inside?: boolean;
  24567. /**
  24568. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  24569. * of null. Works analogously to format. `nullFormat` can be applied only to
  24570. * series which support displaying null points.
  24571. */
  24572. nullFormat?: (boolean|string);
  24573. /**
  24574. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  24575. * that defines formatting for points with the value of null. Works
  24576. * analogously to formatter. `nullPointFormatter` can be applied only to
  24577. * series which support displaying null points.
  24578. */
  24579. nullFormatter?: DataLabelsFormatterCallbackFunction;
  24580. /**
  24581. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  24582. * flow outside the plot area. The default is `"justify"`, which aligns them
  24583. * inside the plot area. For columns and bars, this means it will be moved
  24584. * inside the bar. To display data labels outside the plot area, set `crop`
  24585. * to `false` and `overflow` to `"allow"`.
  24586. */
  24587. overflow?: DataLabelsOverflowValue;
  24588. /**
  24589. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  24590. * the `backgroundColor` is set, this is the padding within the box.
  24591. */
  24592. padding?: number;
  24593. /**
  24594. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  24595. * points. If `center` alignment is not possible, it defaults to `right`.
  24596. */
  24597. position?: AlignValue;
  24598. /**
  24599. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  24600. * that due to a more complex structure, backgrounds, borders and padding
  24601. * will be lost on a rotated data label.
  24602. */
  24603. rotation?: number;
  24604. /**
  24605. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  24606. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  24607. * an object configuration containing `color`, `offsetX`, `offsetY`,
  24608. * `opacity` and `width`.
  24609. */
  24610. shadow?: (boolean|ShadowOptionsObject);
  24611. /**
  24612. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  24613. * the border around the label. Symbols are predefined functions on the
  24614. * Renderer object.
  24615. */
  24616. shape?: string;
  24617. /**
  24618. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  24619. * default `color` setting is `"contrast"`, which is a pseudo color that
  24620. * Highcharts picks up and applies the maximum contrast to the underlying
  24621. * point item, for example the bar in a bar chart.
  24622. *
  24623. * The `textOutline` is a pseudo property that applies an outline of the
  24624. * given width with the given color, which by default is the maximum
  24625. * contrast to the text. So a bright text color will result in a black text
  24626. * outline for maximum readability on a mixed background. In some cases,
  24627. * especially with grayscale text, the text outline doesn't work well, in
  24628. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  24629. * is true, the `textOutline` will not be picked up. In this, case, the same
  24630. * effect can be acheived through the `text-shadow` CSS property.
  24631. *
  24632. * For some series types, where each point has an extent, like for example
  24633. * tree maps, the data label may overflow the point. There are two
  24634. * strategies for handling overflow. By default, the text will wrap to
  24635. * multiple lines. The other strategy is to set `style.textOverflow` to
  24636. * `ellipsis`, which will keep the text on one line plus it will break
  24637. * inside long words.
  24638. */
  24639. style?: CSSObject;
  24640. /**
  24641. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  24642. * should follow marker's shape. Border and background are disabled for a
  24643. * label that follows a path.
  24644. *
  24645. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  24646. * to true will disable this option.
  24647. */
  24648. textPath?: DataLabelsTextPathOptionsObject;
  24649. /**
  24650. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  24651. * the labels.
  24652. */
  24653. useHTML?: boolean;
  24654. /**
  24655. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  24656. * label. Can be one of `top`, `middle` or `bottom`. The default value
  24657. * depends on the data, for instance in a column chart, the label is above
  24658. * positive values and below negative values.
  24659. */
  24660. verticalAlign?: (VerticalAlignValue|null);
  24661. /**
  24662. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  24663. * label relative to the point in pixels.
  24664. */
  24665. x?: number;
  24666. /**
  24667. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  24668. * label relative to the point in pixels.
  24669. */
  24670. y?: number;
  24671. /**
  24672. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  24673. * The default Z index puts it above the series. Use a Z index of 2 to
  24674. * display it behind the series.
  24675. */
  24676. z?: number;
  24677. }
  24678. /**
  24679. * (Highcharts, Highstock) Options for the series data sorting.
  24680. */
  24681. export interface PlotAtrDataSortingOptions {
  24682. /**
  24683. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  24684. * Use xAxis.reversed to change the sorting order.
  24685. */
  24686. enabled?: boolean;
  24687. /**
  24688. * (Highcharts, Highstock) Whether to allow matching points by name in an
  24689. * update. If this option is disabled, points will be matched by order.
  24690. */
  24691. matchByName?: boolean;
  24692. /**
  24693. * (Highcharts, Highstock) Determines what data value should be used to sort
  24694. * by.
  24695. */
  24696. sortKey?: string;
  24697. }
  24698. /**
  24699. * (Highstock) Average true range indicator (ATR). This series requires
  24700. * `linkedTo` option to be set.
  24701. *
  24702. * In TypeScript the type option must always be set.
  24703. *
  24704. * Configuration options for the series are given in three levels:
  24705. *
  24706. * 1. Options for all series in a chart are defined in the plotOptions.series
  24707. * object.
  24708. *
  24709. * 2. Options for all `atr` series are defined in plotOptions.atr.
  24710. *
  24711. * 3. Options for one single series are given in the series instance array. (see
  24712. * online documentation for example)
  24713. */
  24714. export interface PlotAtrOptions {
  24715. /**
  24716. * (Highstock) Accessibility options for a series.
  24717. */
  24718. accessibility?: SeriesAccessibilityOptionsObject;
  24719. /**
  24720. * (Highstock) Allow this series' points to be selected by clicking on the
  24721. * graphic (columns, point markers, pie slices, map areas etc).
  24722. *
  24723. * The selected points can be handled by point select and unselect events,
  24724. * or collectively by the getSelectedPoints function.
  24725. *
  24726. * And alternative way of selecting points is through dragging.
  24727. */
  24728. allowPointSelect?: boolean;
  24729. /**
  24730. * (Highstock) Enable or disable the initial animation when a series is
  24731. * displayed. The animation can also be set as a configuration object.
  24732. * Please note that this option only applies to the initial animation of the
  24733. * series itself. For other animations, see chart.animation and the
  24734. * animation parameter under the API methods. The following properties are
  24735. * supported:
  24736. *
  24737. * - `defer`: The animation delay time in milliseconds.
  24738. *
  24739. * - `duration`: The duration of the animation in milliseconds.
  24740. *
  24741. * - `easing`: Can be a string reference to an easing function set on the
  24742. * `Math` object or a function. See the _Custom easing function_ demo below.
  24743. *
  24744. * Due to poor performance, animation is disabled in old IE browsers for
  24745. * several chart types.
  24746. */
  24747. animation?: (boolean|PlotAtrAnimationOptions|Partial<AnimationOptionsObject>);
  24748. /**
  24749. * (Highstock) For some series, there is a limit that shuts down initial
  24750. * animation by default when the total number of points in the chart is too
  24751. * high. For example, for a column chart and its derivatives, animation does
  24752. * not run if there is more than 250 points totally. To disable this cap,
  24753. * set `animationLimit` to `Infinity`.
  24754. */
  24755. animationLimit?: number;
  24756. /**
  24757. * (Highstock) Sets the color blending in the boost module.
  24758. */
  24759. boostBlending?: OptionsBoostBlendingValue;
  24760. /**
  24761. * (Highstock) Set the point threshold for when a series should enter boost
  24762. * mode.
  24763. *
  24764. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  24765. * there are 2000 or more points in the series.
  24766. *
  24767. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  24768. * it to 1 will force boosting.
  24769. *
  24770. * Note that the cropThreshold also affects this setting. When zooming in on
  24771. * a series that has fewer points than the `cropThreshold`, all points are
  24772. * rendered although outside the visible plot area, and the `boostThreshold`
  24773. * won't take effect.
  24774. */
  24775. boostThreshold?: number;
  24776. /**
  24777. * (Highmaps) The border color of the map areas.
  24778. *
  24779. * In styled mode, the border stroke is given in the `.highcharts-point`
  24780. * class.
  24781. */
  24782. borderColor?: (ColorString|GradientColorObject|PatternObject);
  24783. /**
  24784. * (Highmaps) The border width of each map area.
  24785. *
  24786. * In styled mode, the border stroke width is given in the
  24787. * `.highcharts-point` class.
  24788. */
  24789. borderWidth?: number;
  24790. /**
  24791. * (Highstock) An additional class name to apply to the series' graphical
  24792. * elements. This option does not replace default class names of the
  24793. * graphical element.
  24794. */
  24795. className?: string;
  24796. /**
  24797. * (Highstock) Disable this option to allow series rendering in the whole
  24798. * plotting area.
  24799. *
  24800. * **Note:** Clipping should be always enabled when chart.zoomType is set
  24801. */
  24802. clip?: boolean;
  24803. /**
  24804. * (Highstock) The main color of the series. In line type series it applies
  24805. * to the line and the point markers unless otherwise specified. In bar type
  24806. * series it applies to the bars unless a color is specified per point. The
  24807. * default value is pulled from the `options.colors` array.
  24808. *
  24809. * In styled mode, the color can be defined by the colorIndex option. Also,
  24810. * the series color can be set with the `.highcharts-series`,
  24811. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  24812. * `.highcharts-series-{n}` class, or individual classes given by the
  24813. * `className` option.
  24814. */
  24815. color?: (ColorString|GradientColorObject|PatternObject);
  24816. /**
  24817. * (Highstock) Styled mode only. A specific color index to use for the
  24818. * series, so its graphic representations are given the class name
  24819. * `highcharts-color-{n}`.
  24820. */
  24821. colorIndex?: number;
  24822. /**
  24823. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  24824. * used to calculate point color if `colorAxis` is used. Requires to set
  24825. * `min` and `max` if some custom point property is used or if approximation
  24826. * for data grouping is set to `'sum'`.
  24827. */
  24828. colorKey?: string;
  24829. /**
  24830. * (Highstock) Compare the values of the series against the first non-null,
  24831. * non- zero value in the visible range. The y axis will show percentage or
  24832. * absolute change depending on whether `compare` is set to `"percent"` or
  24833. * `"value"`. When this is applied to multiple series, it allows comparing
  24834. * the development of the series against each other. Adds a `change` field
  24835. * to every point object.
  24836. */
  24837. compare?: string;
  24838. /**
  24839. * (Highstock) When compare is `percent`, this option dictates whether to
  24840. * use 0 or 100 as the base of comparison.
  24841. */
  24842. compareBase?: (0|100);
  24843. /**
  24844. * (Highstock) Defines if comparison should start from the first point
  24845. * within the visible range or should start from the first point **before**
  24846. * the range.
  24847. *
  24848. * In other words, this flag determines if first point within the visible
  24849. * range will have 0% (`compareStart=true`) or should have been already
  24850. * calculated according to the previous point (`compareStart=false`).
  24851. */
  24852. compareStart?: boolean;
  24853. /**
  24854. * (Highstock) Whether to compare indicator to the main series values or
  24855. * indicator values.
  24856. */
  24857. compareToMain?: boolean;
  24858. /**
  24859. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  24860. * series plot across the extremes.
  24861. */
  24862. connectEnds?: boolean;
  24863. /**
  24864. * (Highcharts, Highstock) Whether to connect a graph line across null
  24865. * points, or render a gap between the two points on either side of the
  24866. * null.
  24867. */
  24868. connectNulls?: boolean;
  24869. /**
  24870. * (Gantt) Override Pathfinder connector options for a series. Requires
  24871. * Highcharts Gantt to be loaded.
  24872. */
  24873. connectors?: SeriesConnectorsOptionsObject;
  24874. /**
  24875. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  24876. * rounded to its nearest pixel in order to render sharp on screen. In some
  24877. * cases, when there are a lot of densely packed columns, this leads to
  24878. * visible difference in column widths or distance between columns. In these
  24879. * cases, setting `crisp` to `false` may look better, even though each
  24880. * column is rendered blurry.
  24881. */
  24882. crisp?: boolean;
  24883. /**
  24884. * (Highcharts, Highstock) When the series contains less points than the
  24885. * crop threshold, all points are drawn, even if the points fall outside the
  24886. * visible plot area at the current zoom. The advantage of drawing all
  24887. * points (including markers and columns), is that animation is performed on
  24888. * updates. On the other hand, when the series contains more points than the
  24889. * crop threshold, the series data is cropped to only contain points that
  24890. * fall within the plot area. The advantage of cropping away invisible
  24891. * points is to increase performance on large series.
  24892. */
  24893. cropThreshold?: number;
  24894. /**
  24895. * (Highstock) You can set the cursor to "pointer" if you have click events
  24896. * attached to the series, to signal to the user that the points and lines
  24897. * can be clicked.
  24898. *
  24899. * In styled mode, the series cursor can be set with the same classes as
  24900. * listed under series.color.
  24901. */
  24902. cursor?: (string|CursorValue);
  24903. /**
  24904. * (Highstock) A reserved subspace to store options and values for
  24905. * customized functionality. Here you can add additional data for your own
  24906. * event callbacks and formatter callbacks.
  24907. */
  24908. custom?: Dictionary<any>;
  24909. /**
  24910. * (Highstock) Name of the dash style to use for the graph, or for some
  24911. * series types the outline of each shape.
  24912. *
  24913. * In styled mode, the stroke dash-array can be set with the same classes as
  24914. * listed under series.color.
  24915. */
  24916. dashStyle?: DashStyleValue;
  24917. /**
  24918. * (Highstock) Data grouping is the concept of sampling the data values into
  24919. * larger blocks in order to ease readability and increase performance of
  24920. * the JavaScript charts. Highcharts Stock by default applies data grouping
  24921. * when the points become closer than a certain pixel value, determined by
  24922. * the `groupPixelWidth` option.
  24923. *
  24924. * If data grouping is applied, the grouping information of grouped points
  24925. * can be read from the Point.dataGroup. If point options other than the
  24926. * data itself are set, for example `name` or `color` or custom properties,
  24927. * the grouping logic doesn't know how to group it. In this case the options
  24928. * of the first point instance are copied over to the group point. This can
  24929. * be altered through a custom `approximation` callback function.
  24930. */
  24931. dataGrouping?: DataGroupingOptionsObject;
  24932. /**
  24933. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  24934. * labels, appearing next to each data point.
  24935. *
  24936. * Since v6.2.0, multiple data labels can be applied to each single point by
  24937. * defining them as an array of configs.
  24938. *
  24939. * In styled mode, the data labels can be styled with the
  24940. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  24941. * (see example).
  24942. */
  24943. dataLabels?: (PlotAtrDataLabelsOptions|Array<PlotAtrDataLabelsOptions>);
  24944. /**
  24945. * (Highcharts, Highstock) Options for the series data sorting.
  24946. */
  24947. dataSorting?: (DataSortingOptionsObject|PlotAtrDataSortingOptions);
  24948. /**
  24949. * (Highstock) A description of the series to add to the screen reader
  24950. * information about the series.
  24951. */
  24952. description?: string;
  24953. /**
  24954. * (Highstock) Enable or disable the mouse tracking for a specific series.
  24955. * This includes point tooltips and click events on graphs and points. For
  24956. * large datasets it improves performance.
  24957. */
  24958. enableMouseTracking?: boolean;
  24959. /**
  24960. * (Highstock) General event handlers for the series items. These event
  24961. * hooks can also be attached to the series at run time using the
  24962. * `Highcharts.addEvent` function.
  24963. */
  24964. events?: SeriesEventsOptionsObject;
  24965. /**
  24966. * (Highstock) Determines whether the series should look for the nearest
  24967. * point in both dimensions or just the x-dimension when hovering the
  24968. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  24969. * series. If the data has duplicate x-values, it is recommended to set this
  24970. * to `'xy'` to allow hovering over all points.
  24971. *
  24972. * Applies only to series types using nearest neighbor search (not direct
  24973. * hover) for tooltip.
  24974. */
  24975. findNearestPointBy?: OptionsFindNearestPointByValue;
  24976. /**
  24977. * (Highstock) Defines when to display a gap in the graph, together with the
  24978. * gapUnit option.
  24979. *
  24980. * In case when `dataGrouping` is enabled, points can be grouped into a
  24981. * larger time span. This can make the grouped points to have a greater
  24982. * distance than the absolute value of `gapSize` property, which will result
  24983. * in disappearing graph completely. To prevent this situation the mentioned
  24984. * distance between grouped points is used instead of previously defined
  24985. * `gapSize`.
  24986. *
  24987. * In practice, this option is most often used to visualize gaps in time
  24988. * series. In a stock chart, intraday data is available for daytime hours,
  24989. * while gaps will appear in nights and weekends.
  24990. */
  24991. gapSize?: number;
  24992. /**
  24993. * (Highstock) Together with gapSize, this option defines where to draw gaps
  24994. * in the graph.
  24995. *
  24996. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  24997. * if the distance between two points is greater than 5 times that of the
  24998. * two closest points, the graph will be broken.
  24999. *
  25000. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  25001. * values, which on a datetime axis is milliseconds. This also applies to
  25002. * the navigator series that inherits gap options from the base series.
  25003. */
  25004. gapUnit?: OptionsGapUnitValue;
  25005. /**
  25006. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  25007. * chart width or only the zoomed area when zooming in on parts of the X
  25008. * axis. By default, the Y axis adjusts to the min and max of the visible
  25009. * data. Cartesian series only.
  25010. */
  25011. getExtremesFromAll?: boolean;
  25012. /**
  25013. * (Highstock) When set to `false` will prevent the series data from being
  25014. * included in any form of data export.
  25015. *
  25016. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  25017. * `includeInCSVExport`.
  25018. */
  25019. includeInDataExport?: boolean;
  25020. /**
  25021. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  25022. * series as possible in a natural way, seeking to avoid other series. The
  25023. * goal of this feature is to make the chart more easily readable, like if a
  25024. * human designer placed the labels in the optimal position.
  25025. *
  25026. * The series labels currently work with series types having a `graph` or an
  25027. * `area`.
  25028. */
  25029. label?: SeriesLabelOptionsObject;
  25030. /**
  25031. * (Highstock) The line marks the last price from all points.
  25032. */
  25033. lastPrice?: SeriesLastPriceOptionsObject;
  25034. /**
  25035. * (Highstock) The line marks the last price from visible range of points.
  25036. */
  25037. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  25038. /**
  25039. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  25040. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  25041. * the ends and bends.
  25042. */
  25043. linecap?: SeriesLinecapValue;
  25044. /**
  25045. * (Highcharts, Highstock) Pixel width of the graph line.
  25046. */
  25047. lineWidth?: number;
  25048. /**
  25049. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  25050. * based on. Required for this indicator.
  25051. */
  25052. linkedTo?: string;
  25053. /**
  25054. * (Highstock) Options for the point markers of line-like series. Properties
  25055. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  25056. * appearance of the markers. Other series types, like column series, don't
  25057. * have markers, but have visual options on the series level instead.
  25058. *
  25059. * In styled mode, the markers can be styled with the `.highcharts-point`,
  25060. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  25061. */
  25062. marker?: PointMarkerOptionsObject;
  25063. /**
  25064. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  25065. * If not set, it will be based on a technical indicator type and default
  25066. * params.
  25067. */
  25068. name?: string;
  25069. /**
  25070. * (Highstock) The color for the parts of the graph or points that are below
  25071. * the threshold. Note that `zones` takes precedence over the negative
  25072. * color. Using `negativeColor` is equivalent to applying a zone with value
  25073. * of 0.
  25074. */
  25075. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  25076. /**
  25077. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  25078. * dataLabels.
  25079. */
  25080. opacity?: number;
  25081. /**
  25082. * (Highstock) Paramters used in calculation of regression series' points.
  25083. */
  25084. params?: PlotAtrParamsOptions;
  25085. /**
  25086. * (Highstock) Properties for each single point.
  25087. */
  25088. point?: PlotSeriesPointOptions;
  25089. /**
  25090. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  25091. * individual series. Overrides the chart wide configuration.
  25092. */
  25093. pointDescriptionFormatter?: Function;
  25094. /**
  25095. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  25096. * true, the checkbox next to the series name in the legend will be checked
  25097. * for a selected series.
  25098. */
  25099. selected?: boolean;
  25100. /**
  25101. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  25102. * the shadow can be an object configuration containing `color`, `offsetX`,
  25103. * `offsetY`, `opacity` and `width`.
  25104. */
  25105. shadow?: (boolean|ShadowOptionsObject);
  25106. /**
  25107. * (Highstock) If true, a checkbox is displayed next to the legend item to
  25108. * allow selecting the series. The state of the checkbox is determined by
  25109. * the `selected` option.
  25110. */
  25111. showCheckbox?: boolean;
  25112. /**
  25113. * (Highstock) Whether to display this particular series or series type in
  25114. * the legend. Standalone series are shown in legend by default, and linked
  25115. * series are not. Since v7.2.0 it is possible to show series that use
  25116. * colorAxis by setting this option to `true`.
  25117. */
  25118. showInLegend?: boolean;
  25119. /**
  25120. * (Highstock) If set to `true`, the accessibility module will skip past the
  25121. * points in this series for keyboard navigation.
  25122. */
  25123. skipKeyboardNavigation?: boolean;
  25124. /**
  25125. * (Highcharts, Highstock) When this is true, the series will not cause the
  25126. * Y axis to cross the zero plane (or threshold option) unless the data
  25127. * actually crosses the plane.
  25128. *
  25129. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  25130. * make the Y axis show negative values according to the `minPadding`
  25131. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  25132. */
  25133. softThreshold?: boolean;
  25134. states?: SeriesStatesOptionsObject;
  25135. /**
  25136. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  25137. * values are `left`, `center` and `right`.
  25138. */
  25139. step?: OptionsStepValue;
  25140. /**
  25141. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  25142. * event on a series isn't triggered until the mouse moves over another
  25143. * series, or out of the plot area. When false, the `mouseOut` event on a
  25144. * series is triggered when the mouse leaves the area around the series'
  25145. * graph or markers. This also implies the tooltip when not shared. When
  25146. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  25147. * be hidden when moving the mouse between series. Defaults to true for line
  25148. * and area type series, but to false for columns, pies etc.
  25149. *
  25150. * **Note:** The boost module will force this option because of technical
  25151. * limitations.
  25152. */
  25153. stickyTracking?: boolean;
  25154. /**
  25155. * (Highcharts, Highstock) The threshold, also called zero level or base
  25156. * level. For line type series this is only used in conjunction with
  25157. * negativeColor.
  25158. */
  25159. threshold?: (number|null);
  25160. /**
  25161. * (Highstock) A configuration object for the tooltip rendering of each
  25162. * single series. Properties are inherited from tooltip, but only the
  25163. * following properties can be defined on a series level.
  25164. */
  25165. tooltip?: SeriesTooltipOptionsObject;
  25166. /**
  25167. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  25168. * is longer than this, only one dimensional arrays of numbers, or two
  25169. * dimensional arrays with x and y values are allowed. Also, only the first
  25170. * point is tested, and the rest are assumed to be the same format. This
  25171. * saves expensive data checking and indexing in long series. Set it to `0`
  25172. * disable.
  25173. *
  25174. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  25175. * two dimensional arrays are allowed.
  25176. */
  25177. turboThreshold?: number;
  25178. /**
  25179. * (Highstock) Set the initial visibility of the series.
  25180. */
  25181. visible?: boolean;
  25182. /**
  25183. * (Highmaps) Define the z index of the series.
  25184. */
  25185. zIndex?: number;
  25186. /**
  25187. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  25188. */
  25189. zoneAxis?: string;
  25190. /**
  25191. * (Highcharts, Highstock) An array defining zones within a series. Zones
  25192. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  25193. * the `zoneAxis` option. The zone definitions have to be in ascending order
  25194. * regarding to the value.
  25195. *
  25196. * In styled mode, the color zones are styled with the
  25197. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  25198. * option (view live demo).
  25199. */
  25200. zones?: Array<SeriesZonesOptionsObject>;
  25201. }
  25202. /**
  25203. * (Highstock) Paramters used in calculation of regression series' points.
  25204. */
  25205. export interface PlotAtrParamsOptions {
  25206. index?: string;
  25207. /**
  25208. * (Highstock) The base period for indicator calculations. This is the
  25209. * number of data points which are taken into account for the indicator
  25210. * calculations.
  25211. */
  25212. period?: number;
  25213. }
  25214. /**
  25215. * (Highcharts) Enable or disable the initial animation when a series is
  25216. * displayed. The animation can also be set as a configuration object. Please
  25217. * note that this option only applies to the initial animation of the series
  25218. * itself. For other animations, see chart.animation and the animation parameter
  25219. * under the API methods. The following properties are supported:
  25220. *
  25221. * - `defer`: The animation delay time in milliseconds.
  25222. *
  25223. * - `duration`: The duration of the animation in milliseconds.
  25224. *
  25225. * - `easing`: Can be a string reference to an easing function set on the `Math`
  25226. * object or a function. See the _Custom easing function_ demo below.
  25227. *
  25228. * Due to poor performance, animation is disabled in old IE browsers for several
  25229. * chart types.
  25230. */
  25231. export interface PlotBarAnimationOptions {
  25232. defer?: number;
  25233. }
  25234. /**
  25235. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25236. * animation when a series is displayed for the `dataLabels`. The animation can
  25237. * also be set as a configuration object. Please note that this option only
  25238. * applies to the initial animation. For other animations, see chart.animation
  25239. * and the animation parameter under the API methods. The following properties
  25240. * are supported:
  25241. *
  25242. * - `defer`: The animation delay time in milliseconds.
  25243. */
  25244. export interface PlotBarDataLabelsAnimationOptions {
  25245. /**
  25246. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  25247. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  25248. * inherits defer time from the series.animation.defer.
  25249. */
  25250. defer?: number;
  25251. }
  25252. /**
  25253. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  25254. * appearing next to each data point.
  25255. *
  25256. * Since v6.2.0, multiple data labels can be applied to each single point by
  25257. * defining them as an array of configs.
  25258. *
  25259. * In styled mode, the data labels can be styled with the
  25260. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  25261. * example).
  25262. */
  25263. export interface PlotBarDataLabelsOptions {
  25264. /**
  25265. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  25266. * compared to the point. If `right`, the right side of the label should be
  25267. * touching the point. For points with an extent, like columns, the
  25268. * alignments also dictates how to align it inside the box, as given with
  25269. * the inside option. Can be one of `left`, `center` or `right`.
  25270. */
  25271. align?: string;
  25272. /**
  25273. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  25274. * overlap. To make the labels less sensitive for overlapping, the
  25275. * dataLabels.padding can be set to 0.
  25276. */
  25277. allowOverlap?: boolean;
  25278. /**
  25279. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  25280. * animation when a series is displayed for the `dataLabels`. The animation
  25281. * can also be set as a configuration object. Please note that this option
  25282. * only applies to the initial animation. For other animations, see
  25283. * chart.animation and the animation parameter under the API methods. The
  25284. * following properties are supported:
  25285. *
  25286. * - `defer`: The animation delay time in milliseconds.
  25287. */
  25288. animation?: (boolean|PlotBarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  25289. /**
  25290. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  25291. * for the data label.
  25292. */
  25293. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  25294. /**
  25295. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  25296. * label. Defaults to `undefined`.
  25297. */
  25298. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25299. /**
  25300. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  25301. * the data label.
  25302. */
  25303. borderRadius?: number;
  25304. /**
  25305. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  25306. * the data label.
  25307. */
  25308. borderWidth?: number;
  25309. /**
  25310. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  25311. * Particularly in styled mode, this can be used to give each series' or
  25312. * point's data label unique styling. In addition to this option, a default
  25313. * color class name is added so that we can give the labels a contrast text
  25314. * shadow.
  25315. */
  25316. className?: string;
  25317. /**
  25318. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  25319. * labels. Defaults to `undefined`. For certain series types, like column or
  25320. * map, the data labels can be drawn inside the points. In this case the
  25321. * data label will be drawn with maximum contrast by default. Additionally,
  25322. * it will be given a `text-outline` style with the opposite color, to
  25323. * further increase the contrast. This can be overridden by setting the
  25324. * `text-outline` style to `none` in the `dataLabels.style` option.
  25325. */
  25326. color?: (ColorString|GradientColorObject|PatternObject);
  25327. /**
  25328. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  25329. * are outside the plot area. By default, the data label is moved inside the
  25330. * plot area according to the overflow option.
  25331. */
  25332. crop?: boolean;
  25333. /**
  25334. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  25335. * labels until the initial series animation has finished. Setting to
  25336. * `false` renders the data label immediately. If set to `true` inherits the
  25337. * defer time set in plotOptions.series.animation. If set to a number, a
  25338. * defer time is specified in milliseconds.
  25339. */
  25340. defer?: (boolean|number);
  25341. /**
  25342. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  25343. * labels.
  25344. */
  25345. enabled?: boolean;
  25346. /**
  25347. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  25348. * of which data labels to display. The declarative filter is designed for
  25349. * use when callback functions are not available, like when the chart
  25350. * options require a pure JSON structure or for use with graphical editors.
  25351. * For programmatic control, use the `formatter` instead, and return
  25352. * `undefined` to disable a single data label.
  25353. */
  25354. filter?: DataLabelsFilterOptionsObject;
  25355. /**
  25356. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  25357. * label. Available variables are the same as for `formatter`.
  25358. */
  25359. format?: string;
  25360. /**
  25361. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  25362. * format the data label. Note that if a `format` is defined, the format
  25363. * takes precedence and the formatter is ignored.
  25364. */
  25365. formatter?: DataLabelsFormatterCallbackFunction;
  25366. /**
  25367. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  25368. * columns or map areas, whether to align the data label inside the box or
  25369. * to the actual value point. Defaults to `false` in most cases, `true` in
  25370. * stacked columns.
  25371. */
  25372. inside?: boolean;
  25373. /**
  25374. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  25375. * of null. Works analogously to format. `nullFormat` can be applied only to
  25376. * series which support displaying null points.
  25377. */
  25378. nullFormat?: (boolean|string);
  25379. /**
  25380. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  25381. * that defines formatting for points with the value of null. Works
  25382. * analogously to formatter. `nullPointFormatter` can be applied only to
  25383. * series which support displaying null points.
  25384. */
  25385. nullFormatter?: DataLabelsFormatterCallbackFunction;
  25386. /**
  25387. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  25388. * flow outside the plot area. The default is `"justify"`, which aligns them
  25389. * inside the plot area. For columns and bars, this means it will be moved
  25390. * inside the bar. To display data labels outside the plot area, set `crop`
  25391. * to `false` and `overflow` to `"allow"`.
  25392. */
  25393. overflow?: DataLabelsOverflowValue;
  25394. /**
  25395. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  25396. * the `backgroundColor` is set, this is the padding within the box.
  25397. */
  25398. padding?: number;
  25399. /**
  25400. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  25401. * points. If `center` alignment is not possible, it defaults to `right`.
  25402. */
  25403. position?: AlignValue;
  25404. /**
  25405. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  25406. * that due to a more complex structure, backgrounds, borders and padding
  25407. * will be lost on a rotated data label.
  25408. */
  25409. rotation?: number;
  25410. /**
  25411. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  25412. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  25413. * an object configuration containing `color`, `offsetX`, `offsetY`,
  25414. * `opacity` and `width`.
  25415. */
  25416. shadow?: (boolean|ShadowOptionsObject);
  25417. /**
  25418. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  25419. * the border around the label. Symbols are predefined functions on the
  25420. * Renderer object.
  25421. */
  25422. shape?: string;
  25423. /**
  25424. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  25425. * default `color` setting is `"contrast"`, which is a pseudo color that
  25426. * Highcharts picks up and applies the maximum contrast to the underlying
  25427. * point item, for example the bar in a bar chart.
  25428. *
  25429. * The `textOutline` is a pseudo property that applies an outline of the
  25430. * given width with the given color, which by default is the maximum
  25431. * contrast to the text. So a bright text color will result in a black text
  25432. * outline for maximum readability on a mixed background. In some cases,
  25433. * especially with grayscale text, the text outline doesn't work well, in
  25434. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  25435. * is true, the `textOutline` will not be picked up. In this, case, the same
  25436. * effect can be acheived through the `text-shadow` CSS property.
  25437. *
  25438. * For some series types, where each point has an extent, like for example
  25439. * tree maps, the data label may overflow the point. There are two
  25440. * strategies for handling overflow. By default, the text will wrap to
  25441. * multiple lines. The other strategy is to set `style.textOverflow` to
  25442. * `ellipsis`, which will keep the text on one line plus it will break
  25443. * inside long words.
  25444. */
  25445. style?: CSSObject;
  25446. /**
  25447. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  25448. * should follow marker's shape. Border and background are disabled for a
  25449. * label that follows a path.
  25450. *
  25451. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  25452. * to true will disable this option.
  25453. */
  25454. textPath?: DataLabelsTextPathOptionsObject;
  25455. /**
  25456. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  25457. * the labels.
  25458. */
  25459. useHTML?: boolean;
  25460. /**
  25461. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  25462. * label. Can be one of `top`, `middle` or `bottom`. The default value
  25463. * depends on the data, for instance in a column chart, the label is above
  25464. * positive values and below negative values.
  25465. */
  25466. verticalAlign?: string;
  25467. /**
  25468. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  25469. * label relative to the point in pixels.
  25470. */
  25471. x?: number;
  25472. /**
  25473. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  25474. * label relative to the point in pixels.
  25475. */
  25476. y?: number;
  25477. /**
  25478. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  25479. * The default Z index puts it above the series. Use a Z index of 2 to
  25480. * display it behind the series.
  25481. */
  25482. z?: number;
  25483. }
  25484. /**
  25485. * (Highcharts, Highstock) Options for the series data sorting.
  25486. */
  25487. export interface PlotBarDataSortingOptions {
  25488. /**
  25489. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  25490. * Use xAxis.reversed to change the sorting order.
  25491. */
  25492. enabled?: boolean;
  25493. /**
  25494. * (Highcharts, Highstock) Whether to allow matching points by name in an
  25495. * update. If this option is disabled, points will be matched by order.
  25496. */
  25497. matchByName?: boolean;
  25498. /**
  25499. * (Highcharts, Highstock) Determines what data value should be used to sort
  25500. * by.
  25501. */
  25502. sortKey?: string;
  25503. }
  25504. /**
  25505. * (Highcharts) Style options for the guide box. The guide box has one state by
  25506. * default, the `default` state.
  25507. */
  25508. export interface PlotBarDragDropGuideBoxOptions {
  25509. /**
  25510. * (Highcharts) Style options for the guide box default state.
  25511. */
  25512. default?: DragDropGuideBoxOptionsObject;
  25513. }
  25514. /**
  25515. * (Highcharts) A bar series is a special type of column series where the
  25516. * columns are horizontal.
  25517. *
  25518. * In TypeScript the type option must always be set.
  25519. *
  25520. * Configuration options for the series are given in three levels:
  25521. *
  25522. * 1. Options for all series in a chart are defined in the plotOptions.series
  25523. * object.
  25524. *
  25525. * 2. Options for all `bar` series are defined in plotOptions.bar.
  25526. *
  25527. * 3. Options for one single series are given in the series instance array. (see
  25528. * online documentation for example)
  25529. */
  25530. export interface PlotBarOptions {
  25531. /**
  25532. * (Highcharts) Accessibility options for a series.
  25533. */
  25534. accessibility?: SeriesAccessibilityOptionsObject;
  25535. /**
  25536. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  25537. * rendered. If `true`, areas which don't correspond to a data point, are
  25538. * rendered as `null` points. If `false`, those areas are skipped.
  25539. */
  25540. allAreas?: boolean;
  25541. /**
  25542. * (Highcharts) Allow this series' points to be selected by clicking on the
  25543. * graphic (columns, point markers, pie slices, map areas etc).
  25544. *
  25545. * The selected points can be handled by point select and unselect events,
  25546. * or collectively by the getSelectedPoints function.
  25547. *
  25548. * And alternative way of selecting points is through dragging.
  25549. */
  25550. allowPointSelect?: boolean;
  25551. /**
  25552. * (Highcharts) Enable or disable the initial animation when a series is
  25553. * displayed. The animation can also be set as a configuration object.
  25554. * Please note that this option only applies to the initial animation of the
  25555. * series itself. For other animations, see chart.animation and the
  25556. * animation parameter under the API methods. The following properties are
  25557. * supported:
  25558. *
  25559. * - `defer`: The animation delay time in milliseconds.
  25560. *
  25561. * - `duration`: The duration of the animation in milliseconds.
  25562. *
  25563. * - `easing`: Can be a string reference to an easing function set on the
  25564. * `Math` object or a function. See the _Custom easing function_ demo below.
  25565. *
  25566. * Due to poor performance, animation is disabled in old IE browsers for
  25567. * several chart types.
  25568. */
  25569. animation?: (boolean|PlotBarAnimationOptions|Partial<AnimationOptionsObject>);
  25570. /**
  25571. * (Highcharts) For some series, there is a limit that shuts down initial
  25572. * animation by default when the total number of points in the chart is too
  25573. * high. For example, for a column chart and its derivatives, animation does
  25574. * not run if there is more than 250 points totally. To disable this cap,
  25575. * set `animationLimit` to `Infinity`.
  25576. */
  25577. animationLimit?: number;
  25578. /**
  25579. * (Highcharts) Sets the color blending in the boost module.
  25580. */
  25581. boostBlending?: OptionsBoostBlendingValue;
  25582. /**
  25583. * (Highcharts) Set the point threshold for when a series should enter boost
  25584. * mode.
  25585. *
  25586. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  25587. * there are 2000 or more points in the series.
  25588. *
  25589. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  25590. * it to 1 will force boosting.
  25591. *
  25592. * Note that the cropThreshold also affects this setting. When zooming in on
  25593. * a series that has fewer points than the `cropThreshold`, all points are
  25594. * rendered although outside the visible plot area, and the `boostThreshold`
  25595. * won't take effect.
  25596. */
  25597. boostThreshold?: number;
  25598. /**
  25599. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  25600. * column or bar.
  25601. *
  25602. * In styled mode, the border stroke can be set with the `.highcharts-point`
  25603. * rule.
  25604. */
  25605. borderColor?: (ColorString|GradientColorObject|PatternObject);
  25606. /**
  25607. * (Highcharts, Highstock, Gantt) The corner radius of the border
  25608. * surrounding each column or bar.
  25609. */
  25610. borderRadius?: number;
  25611. /**
  25612. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  25613. * column or bar. Defaults to `1` when there is room for a border, but to
  25614. * `0` when the columns are so dense that a border would cover the next
  25615. * column.
  25616. *
  25617. * In styled mode, the stroke width can be set with the `.highcharts-point`
  25618. * rule.
  25619. */
  25620. borderWidth?: number;
  25621. /**
  25622. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  25623. * the category, ignoring null or missing points. When `false`, space will
  25624. * be reserved for null or missing points.
  25625. */
  25626. centerInCategory?: boolean;
  25627. /**
  25628. * (Highcharts) An additional class name to apply to the series' graphical
  25629. * elements. This option does not replace default class names of the
  25630. * graphical element.
  25631. */
  25632. className?: string;
  25633. /**
  25634. * (Highcharts) Disable this option to allow series rendering in the whole
  25635. * plotting area.
  25636. *
  25637. * **Note:** Clipping should be always enabled when chart.zoomType is set
  25638. */
  25639. clip?: boolean;
  25640. /**
  25641. * (Highcharts) The main color of the series. In line type series it applies
  25642. * to the line and the point markers unless otherwise specified. In bar type
  25643. * series it applies to the bars unless a color is specified per point. The
  25644. * default value is pulled from the `options.colors` array.
  25645. *
  25646. * In styled mode, the color can be defined by the colorIndex option. Also,
  25647. * the series color can be set with the `.highcharts-series`,
  25648. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  25649. * `.highcharts-series-{n}` class, or individual classes given by the
  25650. * `className` option.
  25651. */
  25652. color?: (ColorString|GradientColorObject|PatternObject);
  25653. /**
  25654. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  25655. * this number defines which colorAxis the particular series is connected
  25656. * to. It refers to either the axis id or the index of the axis in the
  25657. * colorAxis array, with 0 being the first. Set this option to false to
  25658. * prevent a series from connecting to the default color axis.
  25659. *
  25660. * Since v7.2.0 the option can also be an axis id or an axis index instead
  25661. * of a boolean flag.
  25662. */
  25663. colorAxis?: (boolean|number|string);
  25664. /**
  25665. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  25666. * from the global colors or series-specific plotOptions.column.colors
  25667. * collections, this option determines whether the chart should receive one
  25668. * color per series or one color per point.
  25669. *
  25670. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  25671. * and instead this option gives the points individual color class names on
  25672. * the form `highcharts-color-{n}`.
  25673. */
  25674. colorByPoint?: boolean;
  25675. /**
  25676. * (Highcharts) Styled mode only. A specific color index to use for the
  25677. * series, so its graphic representations are given the class name
  25678. * `highcharts-color-{n}`.
  25679. */
  25680. colorIndex?: number;
  25681. /**
  25682. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  25683. * used to calculate point color if `colorAxis` is used. Requires to set
  25684. * `min` and `max` if some custom point property is used or if approximation
  25685. * for data grouping is set to `'sum'`.
  25686. */
  25687. colorKey?: string;
  25688. /**
  25689. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  25690. * color set to apply instead of the global colors when colorByPoint is
  25691. * true.
  25692. */
  25693. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  25694. /**
  25695. * (Highstock) Compare the values of the series against the first non-null,
  25696. * non- zero value in the visible range. The y axis will show percentage or
  25697. * absolute change depending on whether `compare` is set to `"percent"` or
  25698. * `"value"`. When this is applied to multiple series, it allows comparing
  25699. * the development of the series against each other. Adds a `change` field
  25700. * to every point object.
  25701. */
  25702. compare?: string;
  25703. /**
  25704. * (Highstock) When compare is `percent`, this option dictates whether to
  25705. * use 0 or 100 as the base of comparison.
  25706. */
  25707. compareBase?: (0|100);
  25708. /**
  25709. * (Highstock) Defines if comparison should start from the first point
  25710. * within the visible range or should start from the first point **before**
  25711. * the range.
  25712. *
  25713. * In other words, this flag determines if first point within the visible
  25714. * range will have 0% (`compareStart=true`) or should have been already
  25715. * calculated according to the previous point (`compareStart=false`).
  25716. */
  25717. compareStart?: boolean;
  25718. /**
  25719. * (Gantt) Override Pathfinder connector options for a series. Requires
  25720. * Highcharts Gantt to be loaded.
  25721. */
  25722. connectors?: SeriesConnectorsOptionsObject;
  25723. /**
  25724. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  25725. * rounded to its nearest pixel in order to render sharp on screen. In some
  25726. * cases, when there are a lot of densely packed columns, this leads to
  25727. * visible difference in column widths or distance between columns. In these
  25728. * cases, setting `crisp` to `false` may look better, even though each
  25729. * column is rendered blurry.
  25730. */
  25731. crisp?: boolean;
  25732. /**
  25733. * (Highcharts, Highstock, Gantt) When the series contains less points than
  25734. * the crop threshold, all points are drawn, event if the points fall
  25735. * outside the visible plot area at the current zoom. The advantage of
  25736. * drawing all points (including markers and columns), is that animation is
  25737. * performed on updates. On the other hand, when the series contains more
  25738. * points than the crop threshold, the series data is cropped to only
  25739. * contain points that fall within the plot area. The advantage of cropping
  25740. * away invisible points is to increase performance on large series.
  25741. */
  25742. cropThreshold?: number;
  25743. /**
  25744. * (Highcharts) You can set the cursor to "pointer" if you have click events
  25745. * attached to the series, to signal to the user that the points and lines
  25746. * can be clicked.
  25747. *
  25748. * In styled mode, the series cursor can be set with the same classes as
  25749. * listed under series.color.
  25750. */
  25751. cursor?: (string|CursorValue);
  25752. /**
  25753. * (Highcharts) A reserved subspace to store options and values for
  25754. * customized functionality. Here you can add additional data for your own
  25755. * event callbacks and formatter callbacks.
  25756. */
  25757. custom?: Dictionary<any>;
  25758. /**
  25759. * (Highcharts) Name of the dash style to use for the graph, or for some
  25760. * series types the outline of each shape.
  25761. *
  25762. * In styled mode, the stroke dash-array can be set with the same classes as
  25763. * listed under series.color.
  25764. */
  25765. dashStyle?: DashStyleValue;
  25766. /**
  25767. * (Highstock) Data grouping is the concept of sampling the data values into
  25768. * larger blocks in order to ease readability and increase performance of
  25769. * the JavaScript charts. Highcharts Stock by default applies data grouping
  25770. * when the points become closer than a certain pixel value, determined by
  25771. * the `groupPixelWidth` option.
  25772. *
  25773. * If data grouping is applied, the grouping information of grouped points
  25774. * can be read from the Point.dataGroup. If point options other than the
  25775. * data itself are set, for example `name` or `color` or custom properties,
  25776. * the grouping logic doesn't know how to group it. In this case the options
  25777. * of the first point instance are copied over to the group point. This can
  25778. * be altered through a custom `approximation` callback function.
  25779. */
  25780. dataGrouping?: DataGroupingOptionsObject;
  25781. /**
  25782. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  25783. * labels, appearing next to each data point.
  25784. *
  25785. * Since v6.2.0, multiple data labels can be applied to each single point by
  25786. * defining them as an array of configs.
  25787. *
  25788. * In styled mode, the data labels can be styled with the
  25789. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  25790. * (see example).
  25791. */
  25792. dataLabels?: (PlotBarDataLabelsOptions|Array<PlotBarDataLabelsOptions>);
  25793. /**
  25794. * (Highcharts, Highstock) Options for the series data sorting.
  25795. */
  25796. dataSorting?: (DataSortingOptionsObject|PlotBarDataSortingOptions);
  25797. /**
  25798. * (Highcharts) Depth of the columns in a 3D column chart.
  25799. */
  25800. depth?: number;
  25801. /**
  25802. * (Highcharts) A description of the series to add to the screen reader
  25803. * information about the series.
  25804. */
  25805. description?: string;
  25806. /**
  25807. * (Highcharts) The draggable-points module allows points to be moved around
  25808. * or modified in the chart. In addition to the options mentioned under the
  25809. * `dragDrop` API structure, the module fires three events, point.dragStart,
  25810. * point.drag and point.drop.
  25811. */
  25812. dragDrop?: SeriesDragDropOptionsObject;
  25813. /**
  25814. * (Highcharts) 3D columns only. The color of the edges. Similar to
  25815. * `borderColor`, except it defaults to the same color as the column.
  25816. */
  25817. edgeColor?: ColorString;
  25818. /**
  25819. * (Highcharts) 3D columns only. The width of the colored edges.
  25820. */
  25821. edgeWidth?: number;
  25822. /**
  25823. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  25824. * This includes point tooltips and click events on graphs and points. For
  25825. * large datasets it improves performance.
  25826. */
  25827. enableMouseTracking?: boolean;
  25828. /**
  25829. * (Highcharts) General event handlers for the series items. These event
  25830. * hooks can also be attached to the series at run time using the
  25831. * `Highcharts.addEvent` function.
  25832. */
  25833. events?: SeriesEventsOptionsObject;
  25834. /**
  25835. * (Highcharts) Determines whether the series should look for the nearest
  25836. * point in both dimensions or just the x-dimension when hovering the
  25837. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  25838. * series. If the data has duplicate x-values, it is recommended to set this
  25839. * to `'xy'` to allow hovering over all points.
  25840. *
  25841. * Applies only to series types using nearest neighbor search (not direct
  25842. * hover) for tooltip.
  25843. */
  25844. findNearestPointBy?: OptionsFindNearestPointByValue;
  25845. /**
  25846. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  25847. * chart width or only the zoomed area when zooming in on parts of the X
  25848. * axis. By default, the Y axis adjusts to the min and max of the visible
  25849. * data. Cartesian series only.
  25850. */
  25851. getExtremesFromAll?: boolean;
  25852. /**
  25853. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  25854. * let them render independent of each other. Non-grouped columns will be
  25855. * laid out individually and overlap each other.
  25856. */
  25857. grouping?: boolean;
  25858. /**
  25859. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  25860. * axis units.
  25861. */
  25862. groupPadding?: number;
  25863. /**
  25864. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  25865. */
  25866. groupZPadding?: number;
  25867. /**
  25868. * (Highcharts) When set to `false` will prevent the series data from being
  25869. * included in any form of data export.
  25870. *
  25871. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  25872. * `includeInCSVExport`.
  25873. */
  25874. includeInDataExport?: boolean;
  25875. /**
  25876. * (Highmaps) What property to join the `mapData` to the value data. For
  25877. * example, if joinBy is "code", the mapData items with a specific code is
  25878. * merged into the data with the same code. For maps loaded from GeoJSON,
  25879. * the keys may be held in each point's `properties` object.
  25880. *
  25881. * The joinBy option can also be an array of two values, where the first
  25882. * points to a key in the `mapData`, and the second points to another key in
  25883. * the `data`.
  25884. *
  25885. * When joinBy is `null`, the map items are joined by their position in the
  25886. * array, which performs much better in maps with many data points. This is
  25887. * the recommended option if you are printing more than a thousand data
  25888. * points and have a backend that can preprocess the data into a parallel
  25889. * array of the mapData.
  25890. */
  25891. joinBy?: (string|Array<string>);
  25892. /**
  25893. * (Highcharts) An array specifying which option maps to which key in the
  25894. * data point array. This makes it convenient to work with unstructured data
  25895. * arrays from different sources.
  25896. */
  25897. keys?: Array<string>;
  25898. /**
  25899. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  25900. * series as possible in a natural way, seeking to avoid other series. The
  25901. * goal of this feature is to make the chart more easily readable, like if a
  25902. * human designer placed the labels in the optimal position.
  25903. *
  25904. * The series labels currently work with series types having a `graph` or an
  25905. * `area`.
  25906. */
  25907. label?: SeriesLabelOptionsObject;
  25908. /**
  25909. * (Highstock) The line marks the last price from all points.
  25910. */
  25911. lastPrice?: SeriesLastPriceOptionsObject;
  25912. /**
  25913. * (Highstock) The line marks the last price from visible range of points.
  25914. */
  25915. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  25916. /**
  25917. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  25918. * Additionally, the value can be ":previous" to link to the previous
  25919. * series. When two series are linked, only the first one appears in the
  25920. * legend. Toggling the visibility of this also toggles the linked series.
  25921. *
  25922. * If master series uses data sorting and linked series does not have its
  25923. * own sorting definition, the linked series will be sorted in the same
  25924. * order as the master one.
  25925. */
  25926. linkedTo?: string;
  25927. /**
  25928. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  25929. * column, translated to the height of a bar in a bar chart. This prevents
  25930. * the columns from becoming too wide when there is a small number of points
  25931. * in the chart.
  25932. */
  25933. maxPointWidth?: number;
  25934. /**
  25935. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  25936. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  25937. * to zero) point, set the minimal point length to a pixel value like 3\. In
  25938. * stacked column charts, minPointLength might not be respected for tightly
  25939. * packed values.
  25940. */
  25941. minPointLength?: number;
  25942. /**
  25943. * (Highstock) Options for the corresponding navigator series if
  25944. * `showInNavigator` is `true` for this series. Available options are the
  25945. * same as any series, documented at plotOptions and series.
  25946. *
  25947. * These options are merged with options in navigator.series, and will take
  25948. * precedence if the same option is defined both places.
  25949. */
  25950. navigatorOptions?: PlotSeriesOptions;
  25951. /**
  25952. * (Highcharts) The color for the parts of the graph or points that are
  25953. * below the threshold. Note that `zones` takes precedence over the negative
  25954. * color. Using `negativeColor` is equivalent to applying a zone with value
  25955. * of 0.
  25956. */
  25957. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  25958. /**
  25959. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  25960. * dataLabels.
  25961. */
  25962. opacity?: number;
  25963. /**
  25964. * (Highcharts) Properties for each single point.
  25965. */
  25966. point?: PlotSeriesPointOptions;
  25967. /**
  25968. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  25969. * an individual series. Overrides the chart wide configuration.
  25970. */
  25971. pointDescriptionFormatter?: Function;
  25972. /**
  25973. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  25974. * a series, `pointInterval` defines the interval of the x values. For
  25975. * example, if a series contains one value every decade starting from year
  25976. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  25977. * `pointInterval` is set in milliseconds.
  25978. *
  25979. * It can be also be combined with `pointIntervalUnit` to draw irregular
  25980. * time intervals.
  25981. *
  25982. * Please note that this options applies to the _series data_, not the
  25983. * interval of the axis ticks, which is independent.
  25984. */
  25985. pointInterval?: number;
  25986. /**
  25987. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  25988. * setting the pointInterval to irregular time units, `day`, `month` and
  25989. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  25990. * also takes the DST crossover into consideration when dealing with local
  25991. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  25992. * months, 10 years etc.
  25993. *
  25994. * Please note that this options applies to the _series data_, not the
  25995. * interval of the axis ticks, which is independent.
  25996. */
  25997. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  25998. /**
  25999. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  26000. * axis units.
  26001. */
  26002. pointPadding?: number;
  26003. /**
  26004. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  26005. * `number`.
  26006. *
  26007. * In a column chart, when pointPlacement is `"on"`, the point will not
  26008. * create any padding of the X axis. In a polar column chart this means that
  26009. * the first column points directly north. If the pointPlacement is
  26010. * `"between"`, the columns will be laid out between ticks. This is useful
  26011. * for example for visualising an amount between two points in time or in a
  26012. * certain sector of a polar chart.
  26013. *
  26014. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  26015. * is on the axis value, -0.5 is between this value and the previous, and
  26016. * 0.5 is between this value and the next. Unlike the textual options,
  26017. * numeric point placement options won't affect axis padding.
  26018. *
  26019. * Note that pointPlacement needs a pointRange to work. For column series
  26020. * this is computed, but for line-type series it needs to be set.
  26021. *
  26022. * For the `xrange` series type and gantt charts, if the Y axis is a
  26023. * category axis, the `pointPlacement` applies to the Y axis rather than the
  26024. * (typically datetime) X axis.
  26025. *
  26026. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  26027. */
  26028. pointPlacement?: (number|string);
  26029. /**
  26030. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  26031. * for. This determines the width of the column. On a categorized axis, the
  26032. * range will be 1 by default (one category unit). On linear and datetime
  26033. * axes, the range will be computed as the distance between the two closest
  26034. * data points.
  26035. *
  26036. * The default `null` means it is computed automatically, but this option
  26037. * can be used to override the automatic value.
  26038. *
  26039. * This option is set by default to 1 if data sorting is enabled.
  26040. */
  26041. pointRange?: (number|null);
  26042. /**
  26043. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  26044. * a series, pointStart defines on what value to start. For example, if a
  26045. * series contains one yearly value starting from 1945, set pointStart to
  26046. * 1945.
  26047. */
  26048. pointStart?: number;
  26049. /**
  26050. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  26051. * each column or bar point. When set to `undefined`, the width is
  26052. * calculated from the `pointPadding` and `groupPadding`. The width effects
  26053. * the dimension that is not based on the point value. For column series it
  26054. * is the hoizontal length and for bar series it is the vertical length.
  26055. */
  26056. pointWidth?: number;
  26057. /**
  26058. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  26059. * true, the checkbox next to the series name in the legend will be checked
  26060. * for a selected series.
  26061. */
  26062. selected?: boolean;
  26063. /**
  26064. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  26065. * the shadow can be an object configuration containing `color`, `offsetX`,
  26066. * `offsetY`, `opacity` and `width`.
  26067. */
  26068. shadow?: (boolean|ShadowOptionsObject);
  26069. /**
  26070. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  26071. * allow selecting the series. The state of the checkbox is determined by
  26072. * the `selected` option.
  26073. */
  26074. showCheckbox?: boolean;
  26075. /**
  26076. * (Highcharts) Whether to display this particular series or series type in
  26077. * the legend. Standalone series are shown in legend by default, and linked
  26078. * series are not. Since v7.2.0 it is possible to show series that use
  26079. * colorAxis by setting this option to `true`.
  26080. */
  26081. showInLegend?: boolean;
  26082. /**
  26083. * (Highstock) Whether or not to show the series in the navigator. Takes
  26084. * precedence over navigator.baseSeries if defined.
  26085. */
  26086. showInNavigator?: boolean;
  26087. /**
  26088. * (Highcharts) If set to `true`, the accessibility module will skip past
  26089. * the points in this series for keyboard navigation.
  26090. */
  26091. skipKeyboardNavigation?: boolean;
  26092. /**
  26093. * (Highcharts, Highstock) When this is true, the series will not cause the
  26094. * Y axis to cross the zero plane (or threshold option) unless the data
  26095. * actually crosses the plane.
  26096. *
  26097. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  26098. * make the Y axis show negative values according to the `minPadding`
  26099. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  26100. */
  26101. softThreshold?: boolean;
  26102. /**
  26103. * (Highcharts, Highstock) Whether to stack the values of each series on top
  26104. * of each other. Possible values are `undefined` to disable, `"normal"` to
  26105. * stack by value or `"percent"`.
  26106. *
  26107. * When stacking is enabled, data must be sorted in ascending X order.
  26108. *
  26109. * Some stacking options are related to specific series types. In the
  26110. * streamgraph series type, the stacking option is set to `"stream"`. The
  26111. * second one is `"overlap"`, which only applies to waterfall series.
  26112. */
  26113. stacking?: OptionsStackingValue;
  26114. states?: SeriesStatesOptionsObject;
  26115. /**
  26116. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  26117. * event on a series isn't triggered until the mouse moves over another
  26118. * series, or out of the plot area. When false, the `mouseOut` event on a
  26119. * series is triggered when the mouse leaves the area around the series'
  26120. * graph or markers. This also implies the tooltip when not shared. When
  26121. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  26122. * be hidden when moving the mouse between series. Defaults to true for line
  26123. * and area type series, but to false for columns, pies etc.
  26124. *
  26125. * **Note:** The boost module will force this option because of technical
  26126. * limitations.
  26127. */
  26128. stickyTracking?: boolean;
  26129. /**
  26130. * (Highcharts) The Y axis value to serve as the base for the columns, for
  26131. * distinguishing between values above and below a threshold. If `null`, the
  26132. * columns extend from the padding Y axis minimum.
  26133. */
  26134. threshold?: (number|null);
  26135. /**
  26136. * (Highcharts) A configuration object for the tooltip rendering of each
  26137. * single series. Properties are inherited from tooltip, but only the
  26138. * following properties can be defined on a series level.
  26139. */
  26140. tooltip?: SeriesTooltipOptionsObject;
  26141. /**
  26142. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  26143. * is longer than this, only one dimensional arrays of numbers, or two
  26144. * dimensional arrays with x and y values are allowed. Also, only the first
  26145. * point is tested, and the rest are assumed to be the same format. This
  26146. * saves expensive data checking and indexing in long series. Set it to `0`
  26147. * disable.
  26148. *
  26149. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  26150. * two dimensional arrays are allowed.
  26151. */
  26152. turboThreshold?: number;
  26153. /**
  26154. * (Highcharts) Set the initial visibility of the series.
  26155. */
  26156. visible?: boolean;
  26157. /**
  26158. * (Highmaps) Define the z index of the series.
  26159. */
  26160. zIndex?: number;
  26161. /**
  26162. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  26163. */
  26164. zoneAxis?: string;
  26165. /**
  26166. * (Highcharts, Highstock) An array defining zones within a series. Zones
  26167. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  26168. * the `zoneAxis` option. The zone definitions have to be in ascending order
  26169. * regarding to the value.
  26170. *
  26171. * In styled mode, the color zones are styled with the
  26172. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  26173. * option (view live demo).
  26174. */
  26175. zones?: Array<SeriesZonesOptionsObject>;
  26176. }
  26177. /**
  26178. * (Highstock) Enable or disable the initial animation when a series is
  26179. * displayed. The animation can also be set as a configuration object. Please
  26180. * note that this option only applies to the initial animation of the series
  26181. * itself. For other animations, see chart.animation and the animation parameter
  26182. * under the API methods. The following properties are supported:
  26183. *
  26184. * - `defer`: The animation delay time in milliseconds.
  26185. *
  26186. * - `duration`: The duration of the animation in milliseconds.
  26187. *
  26188. * - `easing`: Can be a string reference to an easing function set on the `Math`
  26189. * object or a function. See the _Custom easing function_ demo below.
  26190. *
  26191. * Due to poor performance, animation is disabled in old IE browsers for several
  26192. * chart types.
  26193. */
  26194. export interface PlotBbAnimationOptions {
  26195. defer?: number;
  26196. }
  26197. /**
  26198. * (Highstock) Bottom line options.
  26199. */
  26200. export interface PlotBbBottomLineOptions {
  26201. /**
  26202. * (Highstock) Styles for a bottom line.
  26203. */
  26204. styles?: PlotBbBottomLineStylesOptions;
  26205. }
  26206. /**
  26207. * (Highstock) Styles for a bottom line.
  26208. */
  26209. export interface PlotBbBottomLineStylesOptions {
  26210. /**
  26211. * (Highstock) Color of the line. If not set, it's inherited from
  26212. * plotOptions.bb.color.
  26213. */
  26214. lineColor?: ColorString;
  26215. /**
  26216. * (Highstock) Pixel width of the line.
  26217. */
  26218. lineWidth?: number;
  26219. }
  26220. /**
  26221. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26222. * animation when a series is displayed for the `dataLabels`. The animation can
  26223. * also be set as a configuration object. Please note that this option only
  26224. * applies to the initial animation. For other animations, see chart.animation
  26225. * and the animation parameter under the API methods. The following properties
  26226. * are supported:
  26227. *
  26228. * - `defer`: The animation delay time in milliseconds.
  26229. */
  26230. export interface PlotBbDataLabelsAnimationOptions {
  26231. /**
  26232. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  26233. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  26234. * inherits defer time from the series.animation.defer.
  26235. */
  26236. defer?: number;
  26237. }
  26238. /**
  26239. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  26240. * appearing next to each data point.
  26241. *
  26242. * Since v6.2.0, multiple data labels can be applied to each single point by
  26243. * defining them as an array of configs.
  26244. *
  26245. * In styled mode, the data labels can be styled with the
  26246. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  26247. * example).
  26248. */
  26249. export interface PlotBbDataLabelsOptions {
  26250. /**
  26251. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  26252. * compared to the point. If `right`, the right side of the label should be
  26253. * touching the point. For points with an extent, like columns, the
  26254. * alignments also dictates how to align it inside the box, as given with
  26255. * the inside option. Can be one of `left`, `center` or `right`.
  26256. */
  26257. align?: (AlignValue|null);
  26258. /**
  26259. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  26260. * overlap. To make the labels less sensitive for overlapping, the
  26261. * dataLabels.padding can be set to 0.
  26262. */
  26263. allowOverlap?: boolean;
  26264. /**
  26265. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  26266. * animation when a series is displayed for the `dataLabels`. The animation
  26267. * can also be set as a configuration object. Please note that this option
  26268. * only applies to the initial animation. For other animations, see
  26269. * chart.animation and the animation parameter under the API methods. The
  26270. * following properties are supported:
  26271. *
  26272. * - `defer`: The animation delay time in milliseconds.
  26273. */
  26274. animation?: (boolean|PlotBbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  26275. /**
  26276. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  26277. * for the data label.
  26278. */
  26279. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  26280. /**
  26281. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  26282. * label. Defaults to `undefined`.
  26283. */
  26284. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26285. /**
  26286. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  26287. * the data label.
  26288. */
  26289. borderRadius?: number;
  26290. /**
  26291. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  26292. * the data label.
  26293. */
  26294. borderWidth?: number;
  26295. /**
  26296. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  26297. * Particularly in styled mode, this can be used to give each series' or
  26298. * point's data label unique styling. In addition to this option, a default
  26299. * color class name is added so that we can give the labels a contrast text
  26300. * shadow.
  26301. */
  26302. className?: string;
  26303. /**
  26304. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  26305. * labels. Defaults to `undefined`. For certain series types, like column or
  26306. * map, the data labels can be drawn inside the points. In this case the
  26307. * data label will be drawn with maximum contrast by default. Additionally,
  26308. * it will be given a `text-outline` style with the opposite color, to
  26309. * further increase the contrast. This can be overridden by setting the
  26310. * `text-outline` style to `none` in the `dataLabels.style` option.
  26311. */
  26312. color?: (ColorString|GradientColorObject|PatternObject);
  26313. /**
  26314. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  26315. * are outside the plot area. By default, the data label is moved inside the
  26316. * plot area according to the overflow option.
  26317. */
  26318. crop?: boolean;
  26319. /**
  26320. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  26321. * labels until the initial series animation has finished. Setting to
  26322. * `false` renders the data label immediately. If set to `true` inherits the
  26323. * defer time set in plotOptions.series.animation. If set to a number, a
  26324. * defer time is specified in milliseconds.
  26325. */
  26326. defer?: (boolean|number);
  26327. /**
  26328. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  26329. * labels.
  26330. */
  26331. enabled?: boolean;
  26332. /**
  26333. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  26334. * of which data labels to display. The declarative filter is designed for
  26335. * use when callback functions are not available, like when the chart
  26336. * options require a pure JSON structure or for use with graphical editors.
  26337. * For programmatic control, use the `formatter` instead, and return
  26338. * `undefined` to disable a single data label.
  26339. */
  26340. filter?: DataLabelsFilterOptionsObject;
  26341. /**
  26342. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  26343. * label. Available variables are the same as for `formatter`.
  26344. */
  26345. format?: string;
  26346. /**
  26347. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  26348. * format the data label. Note that if a `format` is defined, the format
  26349. * takes precedence and the formatter is ignored.
  26350. */
  26351. formatter?: DataLabelsFormatterCallbackFunction;
  26352. /**
  26353. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  26354. * columns or map areas, whether to align the data label inside the box or
  26355. * to the actual value point. Defaults to `false` in most cases, `true` in
  26356. * stacked columns.
  26357. */
  26358. inside?: boolean;
  26359. /**
  26360. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  26361. * of null. Works analogously to format. `nullFormat` can be applied only to
  26362. * series which support displaying null points.
  26363. */
  26364. nullFormat?: (boolean|string);
  26365. /**
  26366. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  26367. * that defines formatting for points with the value of null. Works
  26368. * analogously to formatter. `nullPointFormatter` can be applied only to
  26369. * series which support displaying null points.
  26370. */
  26371. nullFormatter?: DataLabelsFormatterCallbackFunction;
  26372. /**
  26373. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  26374. * flow outside the plot area. The default is `"justify"`, which aligns them
  26375. * inside the plot area. For columns and bars, this means it will be moved
  26376. * inside the bar. To display data labels outside the plot area, set `crop`
  26377. * to `false` and `overflow` to `"allow"`.
  26378. */
  26379. overflow?: DataLabelsOverflowValue;
  26380. /**
  26381. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  26382. * the `backgroundColor` is set, this is the padding within the box.
  26383. */
  26384. padding?: number;
  26385. /**
  26386. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  26387. * points. If `center` alignment is not possible, it defaults to `right`.
  26388. */
  26389. position?: AlignValue;
  26390. /**
  26391. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  26392. * that due to a more complex structure, backgrounds, borders and padding
  26393. * will be lost on a rotated data label.
  26394. */
  26395. rotation?: number;
  26396. /**
  26397. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  26398. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  26399. * an object configuration containing `color`, `offsetX`, `offsetY`,
  26400. * `opacity` and `width`.
  26401. */
  26402. shadow?: (boolean|ShadowOptionsObject);
  26403. /**
  26404. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  26405. * the border around the label. Symbols are predefined functions on the
  26406. * Renderer object.
  26407. */
  26408. shape?: string;
  26409. /**
  26410. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  26411. * default `color` setting is `"contrast"`, which is a pseudo color that
  26412. * Highcharts picks up and applies the maximum contrast to the underlying
  26413. * point item, for example the bar in a bar chart.
  26414. *
  26415. * The `textOutline` is a pseudo property that applies an outline of the
  26416. * given width with the given color, which by default is the maximum
  26417. * contrast to the text. So a bright text color will result in a black text
  26418. * outline for maximum readability on a mixed background. In some cases,
  26419. * especially with grayscale text, the text outline doesn't work well, in
  26420. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  26421. * is true, the `textOutline` will not be picked up. In this, case, the same
  26422. * effect can be acheived through the `text-shadow` CSS property.
  26423. *
  26424. * For some series types, where each point has an extent, like for example
  26425. * tree maps, the data label may overflow the point. There are two
  26426. * strategies for handling overflow. By default, the text will wrap to
  26427. * multiple lines. The other strategy is to set `style.textOverflow` to
  26428. * `ellipsis`, which will keep the text on one line plus it will break
  26429. * inside long words.
  26430. */
  26431. style?: CSSObject;
  26432. /**
  26433. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  26434. * should follow marker's shape. Border and background are disabled for a
  26435. * label that follows a path.
  26436. *
  26437. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  26438. * to true will disable this option.
  26439. */
  26440. textPath?: DataLabelsTextPathOptionsObject;
  26441. /**
  26442. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  26443. * the labels.
  26444. */
  26445. useHTML?: boolean;
  26446. /**
  26447. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  26448. * label. Can be one of `top`, `middle` or `bottom`. The default value
  26449. * depends on the data, for instance in a column chart, the label is above
  26450. * positive values and below negative values.
  26451. */
  26452. verticalAlign?: (VerticalAlignValue|null);
  26453. /**
  26454. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  26455. * label relative to the point in pixels.
  26456. */
  26457. x?: number;
  26458. /**
  26459. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  26460. * label relative to the point in pixels.
  26461. */
  26462. y?: number;
  26463. /**
  26464. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  26465. * The default Z index puts it above the series. Use a Z index of 2 to
  26466. * display it behind the series.
  26467. */
  26468. z?: number;
  26469. }
  26470. /**
  26471. * (Highcharts, Highstock) Options for the series data sorting.
  26472. */
  26473. export interface PlotBbDataSortingOptions {
  26474. /**
  26475. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  26476. * Use xAxis.reversed to change the sorting order.
  26477. */
  26478. enabled?: boolean;
  26479. /**
  26480. * (Highcharts, Highstock) Whether to allow matching points by name in an
  26481. * update. If this option is disabled, points will be matched by order.
  26482. */
  26483. matchByName?: boolean;
  26484. /**
  26485. * (Highcharts, Highstock) Determines what data value should be used to sort
  26486. * by.
  26487. */
  26488. sortKey?: string;
  26489. }
  26490. /**
  26491. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo` option
  26492. * to be set and should be loaded after the `stock/indicators/indicators.js`
  26493. * file.
  26494. *
  26495. * In TypeScript the type option must always be set.
  26496. *
  26497. * Configuration options for the series are given in three levels:
  26498. *
  26499. * 1. Options for all series in a chart are defined in the plotOptions.series
  26500. * object.
  26501. *
  26502. * 2. Options for all `bb` series are defined in plotOptions.bb.
  26503. *
  26504. * 3. Options for one single series are given in the series instance array. (see
  26505. * online documentation for example)
  26506. */
  26507. export interface PlotBbOptions {
  26508. /**
  26509. * (Highstock) Accessibility options for a series.
  26510. */
  26511. accessibility?: SeriesAccessibilityOptionsObject;
  26512. /**
  26513. * (Highstock) Allow this series' points to be selected by clicking on the
  26514. * graphic (columns, point markers, pie slices, map areas etc).
  26515. *
  26516. * The selected points can be handled by point select and unselect events,
  26517. * or collectively by the getSelectedPoints function.
  26518. *
  26519. * And alternative way of selecting points is through dragging.
  26520. */
  26521. allowPointSelect?: boolean;
  26522. /**
  26523. * (Highstock) Enable or disable the initial animation when a series is
  26524. * displayed. The animation can also be set as a configuration object.
  26525. * Please note that this option only applies to the initial animation of the
  26526. * series itself. For other animations, see chart.animation and the
  26527. * animation parameter under the API methods. The following properties are
  26528. * supported:
  26529. *
  26530. * - `defer`: The animation delay time in milliseconds.
  26531. *
  26532. * - `duration`: The duration of the animation in milliseconds.
  26533. *
  26534. * - `easing`: Can be a string reference to an easing function set on the
  26535. * `Math` object or a function. See the _Custom easing function_ demo below.
  26536. *
  26537. * Due to poor performance, animation is disabled in old IE browsers for
  26538. * several chart types.
  26539. */
  26540. animation?: (boolean|PlotBbAnimationOptions|Partial<AnimationOptionsObject>);
  26541. /**
  26542. * (Highstock) For some series, there is a limit that shuts down initial
  26543. * animation by default when the total number of points in the chart is too
  26544. * high. For example, for a column chart and its derivatives, animation does
  26545. * not run if there is more than 250 points totally. To disable this cap,
  26546. * set `animationLimit` to `Infinity`.
  26547. */
  26548. animationLimit?: number;
  26549. /**
  26550. * (Highstock) Sets the color blending in the boost module.
  26551. */
  26552. boostBlending?: OptionsBoostBlendingValue;
  26553. /**
  26554. * (Highstock) Set the point threshold for when a series should enter boost
  26555. * mode.
  26556. *
  26557. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  26558. * there are 2000 or more points in the series.
  26559. *
  26560. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  26561. * it to 1 will force boosting.
  26562. *
  26563. * Note that the cropThreshold also affects this setting. When zooming in on
  26564. * a series that has fewer points than the `cropThreshold`, all points are
  26565. * rendered although outside the visible plot area, and the `boostThreshold`
  26566. * won't take effect.
  26567. */
  26568. boostThreshold?: number;
  26569. /**
  26570. * (Highmaps) The border color of the map areas.
  26571. *
  26572. * In styled mode, the border stroke is given in the `.highcharts-point`
  26573. * class.
  26574. */
  26575. borderColor?: (ColorString|GradientColorObject|PatternObject);
  26576. /**
  26577. * (Highmaps) The border width of each map area.
  26578. *
  26579. * In styled mode, the border stroke width is given in the
  26580. * `.highcharts-point` class.
  26581. */
  26582. borderWidth?: number;
  26583. /**
  26584. * (Highstock) Bottom line options.
  26585. */
  26586. bottomLine?: PlotBbBottomLineOptions;
  26587. /**
  26588. * (Highstock) An additional class name to apply to the series' graphical
  26589. * elements. This option does not replace default class names of the
  26590. * graphical element.
  26591. */
  26592. className?: string;
  26593. /**
  26594. * (Highstock) Disable this option to allow series rendering in the whole
  26595. * plotting area.
  26596. *
  26597. * **Note:** Clipping should be always enabled when chart.zoomType is set
  26598. */
  26599. clip?: boolean;
  26600. /**
  26601. * (Highstock) The main color of the series. In line type series it applies
  26602. * to the line and the point markers unless otherwise specified. In bar type
  26603. * series it applies to the bars unless a color is specified per point. The
  26604. * default value is pulled from the `options.colors` array.
  26605. *
  26606. * In styled mode, the color can be defined by the colorIndex option. Also,
  26607. * the series color can be set with the `.highcharts-series`,
  26608. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  26609. * `.highcharts-series-{n}` class, or individual classes given by the
  26610. * `className` option.
  26611. */
  26612. color?: (ColorString|GradientColorObject|PatternObject);
  26613. /**
  26614. * (Highstock) Styled mode only. A specific color index to use for the
  26615. * series, so its graphic representations are given the class name
  26616. * `highcharts-color-{n}`.
  26617. */
  26618. colorIndex?: number;
  26619. /**
  26620. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  26621. * used to calculate point color if `colorAxis` is used. Requires to set
  26622. * `min` and `max` if some custom point property is used or if approximation
  26623. * for data grouping is set to `'sum'`.
  26624. */
  26625. colorKey?: string;
  26626. /**
  26627. * (Highstock) Compare the values of the series against the first non-null,
  26628. * non- zero value in the visible range. The y axis will show percentage or
  26629. * absolute change depending on whether `compare` is set to `"percent"` or
  26630. * `"value"`. When this is applied to multiple series, it allows comparing
  26631. * the development of the series against each other. Adds a `change` field
  26632. * to every point object.
  26633. */
  26634. compare?: string;
  26635. /**
  26636. * (Highstock) When compare is `percent`, this option dictates whether to
  26637. * use 0 or 100 as the base of comparison.
  26638. */
  26639. compareBase?: (0|100);
  26640. /**
  26641. * (Highstock) Defines if comparison should start from the first point
  26642. * within the visible range or should start from the first point **before**
  26643. * the range.
  26644. *
  26645. * In other words, this flag determines if first point within the visible
  26646. * range will have 0% (`compareStart=true`) or should have been already
  26647. * calculated according to the previous point (`compareStart=false`).
  26648. */
  26649. compareStart?: boolean;
  26650. /**
  26651. * (Highstock) Whether to compare indicator to the main series values or
  26652. * indicator values.
  26653. */
  26654. compareToMain?: boolean;
  26655. /**
  26656. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  26657. * series plot across the extremes.
  26658. */
  26659. connectEnds?: boolean;
  26660. /**
  26661. * (Highcharts, Highstock) Whether to connect a graph line across null
  26662. * points, or render a gap between the two points on either side of the
  26663. * null.
  26664. */
  26665. connectNulls?: boolean;
  26666. /**
  26667. * (Gantt) Override Pathfinder connector options for a series. Requires
  26668. * Highcharts Gantt to be loaded.
  26669. */
  26670. connectors?: SeriesConnectorsOptionsObject;
  26671. /**
  26672. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  26673. * rounded to its nearest pixel in order to render sharp on screen. In some
  26674. * cases, when there are a lot of densely packed columns, this leads to
  26675. * visible difference in column widths or distance between columns. In these
  26676. * cases, setting `crisp` to `false` may look better, even though each
  26677. * column is rendered blurry.
  26678. */
  26679. crisp?: boolean;
  26680. /**
  26681. * (Highcharts, Highstock) When the series contains less points than the
  26682. * crop threshold, all points are drawn, even if the points fall outside the
  26683. * visible plot area at the current zoom. The advantage of drawing all
  26684. * points (including markers and columns), is that animation is performed on
  26685. * updates. On the other hand, when the series contains more points than the
  26686. * crop threshold, the series data is cropped to only contain points that
  26687. * fall within the plot area. The advantage of cropping away invisible
  26688. * points is to increase performance on large series.
  26689. */
  26690. cropThreshold?: number;
  26691. /**
  26692. * (Highstock) You can set the cursor to "pointer" if you have click events
  26693. * attached to the series, to signal to the user that the points and lines
  26694. * can be clicked.
  26695. *
  26696. * In styled mode, the series cursor can be set with the same classes as
  26697. * listed under series.color.
  26698. */
  26699. cursor?: (string|CursorValue);
  26700. /**
  26701. * (Highstock) A reserved subspace to store options and values for
  26702. * customized functionality. Here you can add additional data for your own
  26703. * event callbacks and formatter callbacks.
  26704. */
  26705. custom?: Dictionary<any>;
  26706. /**
  26707. * (Highstock) Name of the dash style to use for the graph, or for some
  26708. * series types the outline of each shape.
  26709. *
  26710. * In styled mode, the stroke dash-array can be set with the same classes as
  26711. * listed under series.color.
  26712. */
  26713. dashStyle?: DashStyleValue;
  26714. /**
  26715. * (Highstock) Data grouping is the concept of sampling the data values into
  26716. * larger blocks in order to ease readability and increase performance of
  26717. * the JavaScript charts. Highcharts Stock by default applies data grouping
  26718. * when the points become closer than a certain pixel value, determined by
  26719. * the `groupPixelWidth` option.
  26720. *
  26721. * If data grouping is applied, the grouping information of grouped points
  26722. * can be read from the Point.dataGroup. If point options other than the
  26723. * data itself are set, for example `name` or `color` or custom properties,
  26724. * the grouping logic doesn't know how to group it. In this case the options
  26725. * of the first point instance are copied over to the group point. This can
  26726. * be altered through a custom `approximation` callback function.
  26727. */
  26728. dataGrouping?: DataGroupingOptionsObject;
  26729. /**
  26730. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  26731. * labels, appearing next to each data point.
  26732. *
  26733. * Since v6.2.0, multiple data labels can be applied to each single point by
  26734. * defining them as an array of configs.
  26735. *
  26736. * In styled mode, the data labels can be styled with the
  26737. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  26738. * (see example).
  26739. */
  26740. dataLabels?: (PlotBbDataLabelsOptions|Array<PlotBbDataLabelsOptions>);
  26741. /**
  26742. * (Highcharts, Highstock) Options for the series data sorting.
  26743. */
  26744. dataSorting?: (DataSortingOptionsObject|PlotBbDataSortingOptions);
  26745. /**
  26746. * (Highstock) A description of the series to add to the screen reader
  26747. * information about the series.
  26748. */
  26749. description?: string;
  26750. /**
  26751. * (Highstock) Enable or disable the mouse tracking for a specific series.
  26752. * This includes point tooltips and click events on graphs and points. For
  26753. * large datasets it improves performance.
  26754. */
  26755. enableMouseTracking?: boolean;
  26756. /**
  26757. * (Highstock) General event handlers for the series items. These event
  26758. * hooks can also be attached to the series at run time using the
  26759. * `Highcharts.addEvent` function.
  26760. */
  26761. events?: SeriesEventsOptionsObject;
  26762. /**
  26763. * (Highstock) Determines whether the series should look for the nearest
  26764. * point in both dimensions or just the x-dimension when hovering the
  26765. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  26766. * series. If the data has duplicate x-values, it is recommended to set this
  26767. * to `'xy'` to allow hovering over all points.
  26768. *
  26769. * Applies only to series types using nearest neighbor search (not direct
  26770. * hover) for tooltip.
  26771. */
  26772. findNearestPointBy?: OptionsFindNearestPointByValue;
  26773. /**
  26774. * (Highstock) Defines when to display a gap in the graph, together with the
  26775. * gapUnit option.
  26776. *
  26777. * In case when `dataGrouping` is enabled, points can be grouped into a
  26778. * larger time span. This can make the grouped points to have a greater
  26779. * distance than the absolute value of `gapSize` property, which will result
  26780. * in disappearing graph completely. To prevent this situation the mentioned
  26781. * distance between grouped points is used instead of previously defined
  26782. * `gapSize`.
  26783. *
  26784. * In practice, this option is most often used to visualize gaps in time
  26785. * series. In a stock chart, intraday data is available for daytime hours,
  26786. * while gaps will appear in nights and weekends.
  26787. */
  26788. gapSize?: number;
  26789. /**
  26790. * (Highstock) Together with gapSize, this option defines where to draw gaps
  26791. * in the graph.
  26792. *
  26793. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  26794. * if the distance between two points is greater than 5 times that of the
  26795. * two closest points, the graph will be broken.
  26796. *
  26797. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  26798. * values, which on a datetime axis is milliseconds. This also applies to
  26799. * the navigator series that inherits gap options from the base series.
  26800. */
  26801. gapUnit?: OptionsGapUnitValue;
  26802. /**
  26803. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  26804. * chart width or only the zoomed area when zooming in on parts of the X
  26805. * axis. By default, the Y axis adjusts to the min and max of the visible
  26806. * data. Cartesian series only.
  26807. */
  26808. getExtremesFromAll?: boolean;
  26809. /**
  26810. * (Highstock) When set to `false` will prevent the series data from being
  26811. * included in any form of data export.
  26812. *
  26813. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  26814. * `includeInCSVExport`.
  26815. */
  26816. includeInDataExport?: boolean;
  26817. /**
  26818. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  26819. * series as possible in a natural way, seeking to avoid other series. The
  26820. * goal of this feature is to make the chart more easily readable, like if a
  26821. * human designer placed the labels in the optimal position.
  26822. *
  26823. * The series labels currently work with series types having a `graph` or an
  26824. * `area`.
  26825. */
  26826. label?: SeriesLabelOptionsObject;
  26827. /**
  26828. * (Highstock) The line marks the last price from all points.
  26829. */
  26830. lastPrice?: SeriesLastPriceOptionsObject;
  26831. /**
  26832. * (Highstock) The line marks the last price from visible range of points.
  26833. */
  26834. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  26835. /**
  26836. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  26837. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  26838. * the ends and bends.
  26839. */
  26840. linecap?: SeriesLinecapValue;
  26841. /**
  26842. * (Highcharts, Highstock) Pixel width of the graph line.
  26843. */
  26844. lineWidth?: number;
  26845. /**
  26846. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  26847. * based on. Required for this indicator.
  26848. */
  26849. linkedTo?: string;
  26850. /**
  26851. * (Highstock) Options for the point markers of line-like series. Properties
  26852. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  26853. * appearance of the markers. Other series types, like column series, don't
  26854. * have markers, but have visual options on the series level instead.
  26855. *
  26856. * In styled mode, the markers can be styled with the `.highcharts-point`,
  26857. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  26858. */
  26859. marker?: PointMarkerOptionsObject;
  26860. /**
  26861. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  26862. * If not set, it will be based on a technical indicator type and default
  26863. * params.
  26864. */
  26865. name?: string;
  26866. /**
  26867. * (Highstock) The color for the parts of the graph or points that are below
  26868. * the threshold. Note that `zones` takes precedence over the negative
  26869. * color. Using `negativeColor` is equivalent to applying a zone with value
  26870. * of 0.
  26871. */
  26872. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  26873. /**
  26874. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  26875. * dataLabels.
  26876. */
  26877. opacity?: number;
  26878. /**
  26879. * (Highstock) Paramters used in calculation of regression series' points.
  26880. */
  26881. params?: PlotBbParamsOptions;
  26882. /**
  26883. * (Highstock) Properties for each single point.
  26884. */
  26885. point?: PlotSeriesPointOptions;
  26886. /**
  26887. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  26888. * individual series. Overrides the chart wide configuration.
  26889. */
  26890. pointDescriptionFormatter?: Function;
  26891. /**
  26892. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  26893. * true, the checkbox next to the series name in the legend will be checked
  26894. * for a selected series.
  26895. */
  26896. selected?: boolean;
  26897. /**
  26898. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  26899. * the shadow can be an object configuration containing `color`, `offsetX`,
  26900. * `offsetY`, `opacity` and `width`.
  26901. */
  26902. shadow?: (boolean|ShadowOptionsObject);
  26903. /**
  26904. * (Highstock) If true, a checkbox is displayed next to the legend item to
  26905. * allow selecting the series. The state of the checkbox is determined by
  26906. * the `selected` option.
  26907. */
  26908. showCheckbox?: boolean;
  26909. /**
  26910. * (Highstock) Whether to display this particular series or series type in
  26911. * the legend. Standalone series are shown in legend by default, and linked
  26912. * series are not. Since v7.2.0 it is possible to show series that use
  26913. * colorAxis by setting this option to `true`.
  26914. */
  26915. showInLegend?: boolean;
  26916. /**
  26917. * (Highstock) If set to `true`, the accessibility module will skip past the
  26918. * points in this series for keyboard navigation.
  26919. */
  26920. skipKeyboardNavigation?: boolean;
  26921. /**
  26922. * (Highcharts, Highstock) When this is true, the series will not cause the
  26923. * Y axis to cross the zero plane (or threshold option) unless the data
  26924. * actually crosses the plane.
  26925. *
  26926. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  26927. * make the Y axis show negative values according to the `minPadding`
  26928. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  26929. */
  26930. softThreshold?: boolean;
  26931. states?: SeriesStatesOptionsObject;
  26932. /**
  26933. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  26934. * values are `left`, `center` and `right`.
  26935. */
  26936. step?: OptionsStepValue;
  26937. /**
  26938. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  26939. * event on a series isn't triggered until the mouse moves over another
  26940. * series, or out of the plot area. When false, the `mouseOut` event on a
  26941. * series is triggered when the mouse leaves the area around the series'
  26942. * graph or markers. This also implies the tooltip when not shared. When
  26943. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  26944. * be hidden when moving the mouse between series. Defaults to true for line
  26945. * and area type series, but to false for columns, pies etc.
  26946. *
  26947. * **Note:** The boost module will force this option because of technical
  26948. * limitations.
  26949. */
  26950. stickyTracking?: boolean;
  26951. /**
  26952. * (Highcharts, Highstock) The threshold, also called zero level or base
  26953. * level. For line type series this is only used in conjunction with
  26954. * negativeColor.
  26955. */
  26956. threshold?: (number|null);
  26957. /**
  26958. * (Highstock) A configuration object for the tooltip rendering of each
  26959. * single series. Properties are inherited from tooltip, but only the
  26960. * following properties can be defined on a series level.
  26961. */
  26962. tooltip?: SeriesTooltipOptionsObject;
  26963. /**
  26964. * (Highstock) Top line options.
  26965. */
  26966. topLine?: PlotBbTopLineOptions;
  26967. /**
  26968. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  26969. * is longer than this, only one dimensional arrays of numbers, or two
  26970. * dimensional arrays with x and y values are allowed. Also, only the first
  26971. * point is tested, and the rest are assumed to be the same format. This
  26972. * saves expensive data checking and indexing in long series. Set it to `0`
  26973. * disable.
  26974. *
  26975. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  26976. * two dimensional arrays are allowed.
  26977. */
  26978. turboThreshold?: number;
  26979. /**
  26980. * (Highstock) Set the initial visibility of the series.
  26981. */
  26982. visible?: boolean;
  26983. /**
  26984. * (Highmaps) Define the z index of the series.
  26985. */
  26986. zIndex?: number;
  26987. /**
  26988. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  26989. */
  26990. zoneAxis?: string;
  26991. /**
  26992. * (Highcharts, Highstock) An array defining zones within a series. Zones
  26993. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  26994. * the `zoneAxis` option. The zone definitions have to be in ascending order
  26995. * regarding to the value.
  26996. *
  26997. * In styled mode, the color zones are styled with the
  26998. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  26999. * option (view live demo).
  27000. */
  27001. zones?: Array<SeriesZonesOptionsObject>;
  27002. }
  27003. /**
  27004. * (Highstock) Paramters used in calculation of regression series' points.
  27005. */
  27006. export interface PlotBbParamsOptions {
  27007. /**
  27008. * (Highstock) The point index which indicator calculations will base. For
  27009. * example using OHLC data, index=2 means the indicator will be calculated
  27010. * using Low values.
  27011. */
  27012. index?: number;
  27013. /**
  27014. * (Highstock) The base period for indicator calculations. This is the
  27015. * number of data points which are taken into account for the indicator
  27016. * calculations.
  27017. */
  27018. period?: number;
  27019. /**
  27020. * (Highstock) Standard deviation for top and bottom bands.
  27021. */
  27022. standardDeviation?: number;
  27023. }
  27024. /**
  27025. * (Highstock) Top line options.
  27026. */
  27027. export interface PlotBbTopLineOptions {
  27028. /**
  27029. * (Highstock) Styles for a bottom line.
  27030. */
  27031. styles?: PlotBbTopLineStylesOptions;
  27032. }
  27033. /**
  27034. * (Highstock) Styles for a bottom line.
  27035. */
  27036. export interface PlotBbTopLineStylesOptions {
  27037. /**
  27038. * (Highstock) Color of the line. If not set, it's inherited from
  27039. * plotOptions.bb.color.
  27040. */
  27041. lineColor?: ColorString;
  27042. /**
  27043. * (Highstock) Pixel width of the line.
  27044. */
  27045. lineWidth?: number;
  27046. }
  27047. /**
  27048. * (Highcharts) Enable or disable the initial animation when a series is
  27049. * displayed. The animation can also be set as a configuration object. Please
  27050. * note that this option only applies to the initial animation of the series
  27051. * itself. For other animations, see chart.animation and the animation parameter
  27052. * under the API methods. The following properties are supported:
  27053. *
  27054. * - `defer`: The animation delay time in milliseconds.
  27055. *
  27056. * - `duration`: The duration of the animation in milliseconds.
  27057. *
  27058. * - `easing`: Can be a string reference to an easing function set on the `Math`
  27059. * object or a function. See the _Custom easing function_ demo below.
  27060. *
  27061. * Due to poor performance, animation is disabled in old IE browsers for several
  27062. * chart types.
  27063. */
  27064. export interface PlotBellcurveAnimationOptions {
  27065. defer?: number;
  27066. }
  27067. /**
  27068. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27069. * animation when a series is displayed for the `dataLabels`. The animation can
  27070. * also be set as a configuration object. Please note that this option only
  27071. * applies to the initial animation. For other animations, see chart.animation
  27072. * and the animation parameter under the API methods. The following properties
  27073. * are supported:
  27074. *
  27075. * - `defer`: The animation delay time in milliseconds.
  27076. */
  27077. export interface PlotBellcurveDataLabelsAnimationOptions {
  27078. /**
  27079. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  27080. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  27081. * inherits defer time from the series.animation.defer.
  27082. */
  27083. defer?: number;
  27084. }
  27085. /**
  27086. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  27087. * appearing next to each data point.
  27088. *
  27089. * Since v6.2.0, multiple data labels can be applied to each single point by
  27090. * defining them as an array of configs.
  27091. *
  27092. * In styled mode, the data labels can be styled with the
  27093. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  27094. * example).
  27095. */
  27096. export interface PlotBellcurveDataLabelsOptions {
  27097. /**
  27098. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  27099. * compared to the point. If `right`, the right side of the label should be
  27100. * touching the point. For points with an extent, like columns, the
  27101. * alignments also dictates how to align it inside the box, as given with
  27102. * the inside option. Can be one of `left`, `center` or `right`.
  27103. */
  27104. align?: (AlignValue|null);
  27105. /**
  27106. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  27107. * overlap. To make the labels less sensitive for overlapping, the
  27108. * dataLabels.padding can be set to 0.
  27109. */
  27110. allowOverlap?: boolean;
  27111. /**
  27112. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27113. * animation when a series is displayed for the `dataLabels`. The animation
  27114. * can also be set as a configuration object. Please note that this option
  27115. * only applies to the initial animation. For other animations, see
  27116. * chart.animation and the animation parameter under the API methods. The
  27117. * following properties are supported:
  27118. *
  27119. * - `defer`: The animation delay time in milliseconds.
  27120. */
  27121. animation?: (boolean|PlotBellcurveDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  27122. /**
  27123. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  27124. * for the data label.
  27125. */
  27126. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  27127. /**
  27128. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  27129. * label. Defaults to `undefined`.
  27130. */
  27131. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27132. /**
  27133. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  27134. * the data label.
  27135. */
  27136. borderRadius?: number;
  27137. /**
  27138. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  27139. * the data label.
  27140. */
  27141. borderWidth?: number;
  27142. /**
  27143. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  27144. * Particularly in styled mode, this can be used to give each series' or
  27145. * point's data label unique styling. In addition to this option, a default
  27146. * color class name is added so that we can give the labels a contrast text
  27147. * shadow.
  27148. */
  27149. className?: string;
  27150. /**
  27151. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  27152. * labels. Defaults to `undefined`. For certain series types, like column or
  27153. * map, the data labels can be drawn inside the points. In this case the
  27154. * data label will be drawn with maximum contrast by default. Additionally,
  27155. * it will be given a `text-outline` style with the opposite color, to
  27156. * further increase the contrast. This can be overridden by setting the
  27157. * `text-outline` style to `none` in the `dataLabels.style` option.
  27158. */
  27159. color?: (ColorString|GradientColorObject|PatternObject);
  27160. /**
  27161. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  27162. * are outside the plot area. By default, the data label is moved inside the
  27163. * plot area according to the overflow option.
  27164. */
  27165. crop?: boolean;
  27166. /**
  27167. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  27168. * labels until the initial series animation has finished. Setting to
  27169. * `false` renders the data label immediately. If set to `true` inherits the
  27170. * defer time set in plotOptions.series.animation. If set to a number, a
  27171. * defer time is specified in milliseconds.
  27172. */
  27173. defer?: (boolean|number);
  27174. /**
  27175. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  27176. * labels.
  27177. */
  27178. enabled?: boolean;
  27179. /**
  27180. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  27181. * of which data labels to display. The declarative filter is designed for
  27182. * use when callback functions are not available, like when the chart
  27183. * options require a pure JSON structure or for use with graphical editors.
  27184. * For programmatic control, use the `formatter` instead, and return
  27185. * `undefined` to disable a single data label.
  27186. */
  27187. filter?: DataLabelsFilterOptionsObject;
  27188. /**
  27189. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  27190. * label. Available variables are the same as for `formatter`.
  27191. */
  27192. format?: string;
  27193. /**
  27194. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  27195. * format the data label. Note that if a `format` is defined, the format
  27196. * takes precedence and the formatter is ignored.
  27197. */
  27198. formatter?: DataLabelsFormatterCallbackFunction;
  27199. /**
  27200. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  27201. * columns or map areas, whether to align the data label inside the box or
  27202. * to the actual value point. Defaults to `false` in most cases, `true` in
  27203. * stacked columns.
  27204. */
  27205. inside?: boolean;
  27206. /**
  27207. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  27208. * of null. Works analogously to format. `nullFormat` can be applied only to
  27209. * series which support displaying null points.
  27210. */
  27211. nullFormat?: (boolean|string);
  27212. /**
  27213. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  27214. * that defines formatting for points with the value of null. Works
  27215. * analogously to formatter. `nullPointFormatter` can be applied only to
  27216. * series which support displaying null points.
  27217. */
  27218. nullFormatter?: DataLabelsFormatterCallbackFunction;
  27219. /**
  27220. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  27221. * flow outside the plot area. The default is `"justify"`, which aligns them
  27222. * inside the plot area. For columns and bars, this means it will be moved
  27223. * inside the bar. To display data labels outside the plot area, set `crop`
  27224. * to `false` and `overflow` to `"allow"`.
  27225. */
  27226. overflow?: DataLabelsOverflowValue;
  27227. /**
  27228. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  27229. * the `backgroundColor` is set, this is the padding within the box.
  27230. */
  27231. padding?: number;
  27232. /**
  27233. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  27234. * points. If `center` alignment is not possible, it defaults to `right`.
  27235. */
  27236. position?: AlignValue;
  27237. /**
  27238. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  27239. * that due to a more complex structure, backgrounds, borders and padding
  27240. * will be lost on a rotated data label.
  27241. */
  27242. rotation?: number;
  27243. /**
  27244. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  27245. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  27246. * an object configuration containing `color`, `offsetX`, `offsetY`,
  27247. * `opacity` and `width`.
  27248. */
  27249. shadow?: (boolean|ShadowOptionsObject);
  27250. /**
  27251. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  27252. * the border around the label. Symbols are predefined functions on the
  27253. * Renderer object.
  27254. */
  27255. shape?: string;
  27256. /**
  27257. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  27258. * default `color` setting is `"contrast"`, which is a pseudo color that
  27259. * Highcharts picks up and applies the maximum contrast to the underlying
  27260. * point item, for example the bar in a bar chart.
  27261. *
  27262. * The `textOutline` is a pseudo property that applies an outline of the
  27263. * given width with the given color, which by default is the maximum
  27264. * contrast to the text. So a bright text color will result in a black text
  27265. * outline for maximum readability on a mixed background. In some cases,
  27266. * especially with grayscale text, the text outline doesn't work well, in
  27267. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  27268. * is true, the `textOutline` will not be picked up. In this, case, the same
  27269. * effect can be acheived through the `text-shadow` CSS property.
  27270. *
  27271. * For some series types, where each point has an extent, like for example
  27272. * tree maps, the data label may overflow the point. There are two
  27273. * strategies for handling overflow. By default, the text will wrap to
  27274. * multiple lines. The other strategy is to set `style.textOverflow` to
  27275. * `ellipsis`, which will keep the text on one line plus it will break
  27276. * inside long words.
  27277. */
  27278. style?: CSSObject;
  27279. /**
  27280. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  27281. * should follow marker's shape. Border and background are disabled for a
  27282. * label that follows a path.
  27283. *
  27284. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  27285. * to true will disable this option.
  27286. */
  27287. textPath?: DataLabelsTextPathOptionsObject;
  27288. /**
  27289. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  27290. * the labels.
  27291. */
  27292. useHTML?: boolean;
  27293. /**
  27294. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  27295. * label. Can be one of `top`, `middle` or `bottom`. The default value
  27296. * depends on the data, for instance in a column chart, the label is above
  27297. * positive values and below negative values.
  27298. */
  27299. verticalAlign?: (VerticalAlignValue|null);
  27300. /**
  27301. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  27302. * label relative to the point in pixels.
  27303. */
  27304. x?: number;
  27305. /**
  27306. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  27307. * label relative to the point in pixels.
  27308. */
  27309. y?: number;
  27310. /**
  27311. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  27312. * The default Z index puts it above the series. Use a Z index of 2 to
  27313. * display it behind the series.
  27314. */
  27315. z?: number;
  27316. }
  27317. /**
  27318. * (Highcharts, Highstock) Options for the series data sorting.
  27319. */
  27320. export interface PlotBellcurveDataSortingOptions {
  27321. /**
  27322. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  27323. * Use xAxis.reversed to change the sorting order.
  27324. */
  27325. enabled?: boolean;
  27326. /**
  27327. * (Highcharts, Highstock) Whether to allow matching points by name in an
  27328. * update. If this option is disabled, points will be matched by order.
  27329. */
  27330. matchByName?: boolean;
  27331. /**
  27332. * (Highcharts, Highstock) Determines what data value should be used to sort
  27333. * by.
  27334. */
  27335. sortKey?: string;
  27336. }
  27337. /**
  27338. * (Highcharts) A bell curve is an areaspline series which represents the
  27339. * probability density function of the normal distribution. It calculates mean
  27340. * and standard deviation of the base series data and plots the curve according
  27341. * to the calculated parameters.
  27342. *
  27343. * In TypeScript the type option must always be set.
  27344. *
  27345. * Configuration options for the series are given in three levels:
  27346. *
  27347. * 1. Options for all series in a chart are defined in the plotOptions.series
  27348. * object.
  27349. *
  27350. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  27351. *
  27352. * 3. Options for one single series are given in the series instance array. (see
  27353. * online documentation for example)
  27354. */
  27355. export interface PlotBellcurveOptions {
  27356. /**
  27357. * (Highcharts) Accessibility options for a series.
  27358. */
  27359. accessibility?: SeriesAccessibilityOptionsObject;
  27360. /**
  27361. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  27362. * rendered. If `true`, areas which don't correspond to a data point, are
  27363. * rendered as `null` points. If `false`, those areas are skipped.
  27364. */
  27365. allAreas?: boolean;
  27366. /**
  27367. * (Highcharts) Allow this series' points to be selected by clicking on the
  27368. * graphic (columns, point markers, pie slices, map areas etc).
  27369. *
  27370. * The selected points can be handled by point select and unselect events,
  27371. * or collectively by the getSelectedPoints function.
  27372. *
  27373. * And alternative way of selecting points is through dragging.
  27374. */
  27375. allowPointSelect?: boolean;
  27376. /**
  27377. * (Highcharts) Enable or disable the initial animation when a series is
  27378. * displayed. The animation can also be set as a configuration object.
  27379. * Please note that this option only applies to the initial animation of the
  27380. * series itself. For other animations, see chart.animation and the
  27381. * animation parameter under the API methods. The following properties are
  27382. * supported:
  27383. *
  27384. * - `defer`: The animation delay time in milliseconds.
  27385. *
  27386. * - `duration`: The duration of the animation in milliseconds.
  27387. *
  27388. * - `easing`: Can be a string reference to an easing function set on the
  27389. * `Math` object or a function. See the _Custom easing function_ demo below.
  27390. *
  27391. * Due to poor performance, animation is disabled in old IE browsers for
  27392. * several chart types.
  27393. */
  27394. animation?: (boolean|PlotBellcurveAnimationOptions|Partial<AnimationOptionsObject>);
  27395. /**
  27396. * (Highcharts) For some series, there is a limit that shuts down initial
  27397. * animation by default when the total number of points in the chart is too
  27398. * high. For example, for a column chart and its derivatives, animation does
  27399. * not run if there is more than 250 points totally. To disable this cap,
  27400. * set `animationLimit` to `Infinity`.
  27401. */
  27402. animationLimit?: number;
  27403. /**
  27404. * (Highmaps) The border color of the map areas.
  27405. *
  27406. * In styled mode, the border stroke is given in the `.highcharts-point`
  27407. * class.
  27408. */
  27409. borderColor?: (ColorString|GradientColorObject|PatternObject);
  27410. /**
  27411. * (Highmaps) The border width of each map area.
  27412. *
  27413. * In styled mode, the border stroke width is given in the
  27414. * `.highcharts-point` class.
  27415. */
  27416. borderWidth?: number;
  27417. /**
  27418. * (Highcharts) An additional class name to apply to the series' graphical
  27419. * elements. This option does not replace default class names of the
  27420. * graphical element.
  27421. */
  27422. className?: string;
  27423. /**
  27424. * (Highcharts) Disable this option to allow series rendering in the whole
  27425. * plotting area.
  27426. *
  27427. * **Note:** Clipping should be always enabled when chart.zoomType is set
  27428. */
  27429. clip?: boolean;
  27430. /**
  27431. * (Highcharts) The main color of the series. In line type series it applies
  27432. * to the line and the point markers unless otherwise specified. In bar type
  27433. * series it applies to the bars unless a color is specified per point. The
  27434. * default value is pulled from the `options.colors` array.
  27435. *
  27436. * In styled mode, the color can be defined by the colorIndex option. Also,
  27437. * the series color can be set with the `.highcharts-series`,
  27438. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  27439. * `.highcharts-series-{n}` class, or individual classes given by the
  27440. * `className` option.
  27441. */
  27442. color?: (ColorString|GradientColorObject|PatternObject);
  27443. /**
  27444. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  27445. * this number defines which colorAxis the particular series is connected
  27446. * to. It refers to either the axis id or the index of the axis in the
  27447. * colorAxis array, with 0 being the first. Set this option to false to
  27448. * prevent a series from connecting to the default color axis.
  27449. *
  27450. * Since v7.2.0 the option can also be an axis id or an axis index instead
  27451. * of a boolean flag.
  27452. */
  27453. colorAxis?: (boolean|number|string);
  27454. /**
  27455. * (Highcharts) Styled mode only. A specific color index to use for the
  27456. * series, so its graphic representations are given the class name
  27457. * `highcharts-color-{n}`.
  27458. */
  27459. colorIndex?: number;
  27460. /**
  27461. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  27462. * used to calculate point color if `colorAxis` is used. Requires to set
  27463. * `min` and `max` if some custom point property is used or if approximation
  27464. * for data grouping is set to `'sum'`.
  27465. */
  27466. colorKey?: string;
  27467. /**
  27468. * (Highstock) Compare the values of the series against the first non-null,
  27469. * non- zero value in the visible range. The y axis will show percentage or
  27470. * absolute change depending on whether `compare` is set to `"percent"` or
  27471. * `"value"`. When this is applied to multiple series, it allows comparing
  27472. * the development of the series against each other. Adds a `change` field
  27473. * to every point object.
  27474. */
  27475. compare?: string;
  27476. /**
  27477. * (Highstock) When compare is `percent`, this option dictates whether to
  27478. * use 0 or 100 as the base of comparison.
  27479. */
  27480. compareBase?: (0|100);
  27481. /**
  27482. * (Highstock) Defines if comparison should start from the first point
  27483. * within the visible range or should start from the first point **before**
  27484. * the range.
  27485. *
  27486. * In other words, this flag determines if first point within the visible
  27487. * range will have 0% (`compareStart=true`) or should have been already
  27488. * calculated according to the previous point (`compareStart=false`).
  27489. */
  27490. compareStart?: boolean;
  27491. /**
  27492. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  27493. * series plot across the extremes.
  27494. */
  27495. connectEnds?: boolean;
  27496. /**
  27497. * (Gantt) Override Pathfinder connector options for a series. Requires
  27498. * Highcharts Gantt to be loaded.
  27499. */
  27500. connectors?: SeriesConnectorsOptionsObject;
  27501. /**
  27502. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  27503. * rounded to its nearest pixel in order to render sharp on screen. In some
  27504. * cases, when there are a lot of densely packed columns, this leads to
  27505. * visible difference in column widths or distance between columns. In these
  27506. * cases, setting `crisp` to `false` may look better, even though each
  27507. * column is rendered blurry.
  27508. */
  27509. crisp?: boolean;
  27510. /**
  27511. * (Highcharts, Highstock) When the series contains less points than the
  27512. * crop threshold, all points are drawn, even if the points fall outside the
  27513. * visible plot area at the current zoom. The advantage of drawing all
  27514. * points (including markers and columns), is that animation is performed on
  27515. * updates. On the other hand, when the series contains more points than the
  27516. * crop threshold, the series data is cropped to only contain points that
  27517. * fall within the plot area. The advantage of cropping away invisible
  27518. * points is to increase performance on large series.
  27519. */
  27520. cropThreshold?: number;
  27521. /**
  27522. * (Highcharts) You can set the cursor to "pointer" if you have click events
  27523. * attached to the series, to signal to the user that the points and lines
  27524. * can be clicked.
  27525. *
  27526. * In styled mode, the series cursor can be set with the same classes as
  27527. * listed under series.color.
  27528. */
  27529. cursor?: (string|CursorValue);
  27530. /**
  27531. * (Highcharts) A reserved subspace to store options and values for
  27532. * customized functionality. Here you can add additional data for your own
  27533. * event callbacks and formatter callbacks.
  27534. */
  27535. custom?: Dictionary<any>;
  27536. /**
  27537. * (Highcharts) Name of the dash style to use for the graph, or for some
  27538. * series types the outline of each shape.
  27539. *
  27540. * In styled mode, the stroke dash-array can be set with the same classes as
  27541. * listed under series.color.
  27542. */
  27543. dashStyle?: DashStyleValue;
  27544. /**
  27545. * (Highstock) Data grouping is the concept of sampling the data values into
  27546. * larger blocks in order to ease readability and increase performance of
  27547. * the JavaScript charts. Highcharts Stock by default applies data grouping
  27548. * when the points become closer than a certain pixel value, determined by
  27549. * the `groupPixelWidth` option.
  27550. *
  27551. * If data grouping is applied, the grouping information of grouped points
  27552. * can be read from the Point.dataGroup. If point options other than the
  27553. * data itself are set, for example `name` or `color` or custom properties,
  27554. * the grouping logic doesn't know how to group it. In this case the options
  27555. * of the first point instance are copied over to the group point. This can
  27556. * be altered through a custom `approximation` callback function.
  27557. */
  27558. dataGrouping?: DataGroupingOptionsObject;
  27559. /**
  27560. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  27561. * labels, appearing next to each data point.
  27562. *
  27563. * Since v6.2.0, multiple data labels can be applied to each single point by
  27564. * defining them as an array of configs.
  27565. *
  27566. * In styled mode, the data labels can be styled with the
  27567. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  27568. * (see example).
  27569. */
  27570. dataLabels?: (PlotBellcurveDataLabelsOptions|Array<PlotBellcurveDataLabelsOptions>);
  27571. /**
  27572. * (Highcharts, Highstock) Options for the series data sorting.
  27573. */
  27574. dataSorting?: (DataSortingOptionsObject|PlotBellcurveDataSortingOptions);
  27575. /**
  27576. * (Highcharts) A description of the series to add to the screen reader
  27577. * information about the series.
  27578. */
  27579. description?: string;
  27580. /**
  27581. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  27582. * This includes point tooltips and click events on graphs and points. For
  27583. * large datasets it improves performance.
  27584. */
  27585. enableMouseTracking?: boolean;
  27586. /**
  27587. * (Highcharts) General event handlers for the series items. These event
  27588. * hooks can also be attached to the series at run time using the
  27589. * `Highcharts.addEvent` function.
  27590. */
  27591. events?: SeriesEventsOptionsObject;
  27592. /**
  27593. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  27594. * the series' `color` is used with the series' `fillOpacity`.
  27595. *
  27596. * In styled mode, the fill color can be set with the `.highcharts-area`
  27597. * class name.
  27598. */
  27599. fillColor?: (ColorString|GradientColorObject|PatternObject);
  27600. /**
  27601. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  27602. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  27603. * should define the opacity in the `fillColor` with an rgba color
  27604. * definition. The `fillOpacity` setting, also the default setting,
  27605. * overrides the alpha component of the `color` setting.
  27606. *
  27607. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  27608. * class name.
  27609. */
  27610. fillOpacity?: number;
  27611. /**
  27612. * (Highcharts) Determines whether the series should look for the nearest
  27613. * point in both dimensions or just the x-dimension when hovering the
  27614. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  27615. * series. If the data has duplicate x-values, it is recommended to set this
  27616. * to `'xy'` to allow hovering over all points.
  27617. *
  27618. * Applies only to series types using nearest neighbor search (not direct
  27619. * hover) for tooltip.
  27620. */
  27621. findNearestPointBy?: OptionsFindNearestPointByValue;
  27622. /**
  27623. * (Highstock) Defines when to display a gap in the graph, together with the
  27624. * gapUnit option.
  27625. *
  27626. * In case when `dataGrouping` is enabled, points can be grouped into a
  27627. * larger time span. This can make the grouped points to have a greater
  27628. * distance than the absolute value of `gapSize` property, which will result
  27629. * in disappearing graph completely. To prevent this situation the mentioned
  27630. * distance between grouped points is used instead of previously defined
  27631. * `gapSize`.
  27632. *
  27633. * In practice, this option is most often used to visualize gaps in time
  27634. * series. In a stock chart, intraday data is available for daytime hours,
  27635. * while gaps will appear in nights and weekends.
  27636. */
  27637. gapSize?: number;
  27638. /**
  27639. * (Highstock) Together with gapSize, this option defines where to draw gaps
  27640. * in the graph.
  27641. *
  27642. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  27643. * if the distance between two points is greater than 5 times that of the
  27644. * two closest points, the graph will be broken.
  27645. *
  27646. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  27647. * values, which on a datetime axis is milliseconds. This also applies to
  27648. * the navigator series that inherits gap options from the base series.
  27649. */
  27650. gapUnit?: OptionsGapUnitValue;
  27651. /**
  27652. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  27653. * chart width or only the zoomed area when zooming in on parts of the X
  27654. * axis. By default, the Y axis adjusts to the min and max of the visible
  27655. * data. Cartesian series only.
  27656. */
  27657. getExtremesFromAll?: boolean;
  27658. /**
  27659. * (Highcharts) When set to `false` will prevent the series data from being
  27660. * included in any form of data export.
  27661. *
  27662. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  27663. * `includeInCSVExport`.
  27664. */
  27665. includeInDataExport?: boolean;
  27666. /**
  27667. * (Highcharts) This option allows to define the length of the bell curve. A
  27668. * unit of the length of the bell curve is standard deviation.
  27669. */
  27670. intervals?: number;
  27671. /**
  27672. * (Highmaps) What property to join the `mapData` to the value data. For
  27673. * example, if joinBy is "code", the mapData items with a specific code is
  27674. * merged into the data with the same code. For maps loaded from GeoJSON,
  27675. * the keys may be held in each point's `properties` object.
  27676. *
  27677. * The joinBy option can also be an array of two values, where the first
  27678. * points to a key in the `mapData`, and the second points to another key in
  27679. * the `data`.
  27680. *
  27681. * When joinBy is `null`, the map items are joined by their position in the
  27682. * array, which performs much better in maps with many data points. This is
  27683. * the recommended option if you are printing more than a thousand data
  27684. * points and have a backend that can preprocess the data into a parallel
  27685. * array of the mapData.
  27686. */
  27687. joinBy?: (string|Array<string>);
  27688. /**
  27689. * (Highcharts) An array specifying which option maps to which key in the
  27690. * data point array. This makes it convenient to work with unstructured data
  27691. * arrays from different sources.
  27692. */
  27693. keys?: Array<string>;
  27694. /**
  27695. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  27696. * series as possible in a natural way, seeking to avoid other series. The
  27697. * goal of this feature is to make the chart more easily readable, like if a
  27698. * human designer placed the labels in the optimal position.
  27699. *
  27700. * The series labels currently work with series types having a `graph` or an
  27701. * `area`.
  27702. */
  27703. label?: SeriesLabelOptionsObject;
  27704. /**
  27705. * (Highstock) The line marks the last price from all points.
  27706. */
  27707. lastPrice?: SeriesLastPriceOptionsObject;
  27708. /**
  27709. * (Highstock) The line marks the last price from visible range of points.
  27710. */
  27711. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  27712. /**
  27713. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  27714. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  27715. * the ends and bends.
  27716. */
  27717. linecap?: SeriesLinecapValue;
  27718. /**
  27719. * (Highcharts, Highstock) A separate color for the graph line. By default
  27720. * the line takes the `color` of the series, but the lineColor setting
  27721. * allows setting a separate color for the line without altering the
  27722. * `fillColor`.
  27723. *
  27724. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  27725. * class name.
  27726. */
  27727. lineColor?: (ColorString|GradientColorObject|PatternObject);
  27728. /**
  27729. * (Highcharts, Highstock) Pixel width of the graph line.
  27730. */
  27731. lineWidth?: number;
  27732. /**
  27733. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  27734. * Additionally, the value can be ":previous" to link to the previous
  27735. * series. When two series are linked, only the first one appears in the
  27736. * legend. Toggling the visibility of this also toggles the linked series.
  27737. *
  27738. * If master series uses data sorting and linked series does not have its
  27739. * own sorting definition, the linked series will be sorted in the same
  27740. * order as the master one.
  27741. */
  27742. linkedTo?: string;
  27743. /**
  27744. * (Highcharts) Options for the point markers of line-like series.
  27745. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  27746. * visual appearance of the markers. Other series types, like column series,
  27747. * don't have markers, but have visual options on the series level instead.
  27748. *
  27749. * In styled mode, the markers can be styled with the `.highcharts-point`,
  27750. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  27751. */
  27752. marker?: PointMarkerOptionsObject;
  27753. /**
  27754. * (Highstock) Options for the corresponding navigator series if
  27755. * `showInNavigator` is `true` for this series. Available options are the
  27756. * same as any series, documented at plotOptions and series.
  27757. *
  27758. * These options are merged with options in navigator.series, and will take
  27759. * precedence if the same option is defined both places.
  27760. */
  27761. navigatorOptions?: PlotSeriesOptions;
  27762. /**
  27763. * (Highcharts) The color for the parts of the graph or points that are
  27764. * below the threshold. Note that `zones` takes precedence over the negative
  27765. * color. Using `negativeColor` is equivalent to applying a zone with value
  27766. * of 0.
  27767. */
  27768. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  27769. /**
  27770. * (Highcharts) A separate color for the negative part of the area.
  27771. *
  27772. * In styled mode, a negative color is set with the `.highcharts-negative`
  27773. * class name.
  27774. */
  27775. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  27776. /**
  27777. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  27778. * dataLabels.
  27779. */
  27780. opacity?: number;
  27781. /**
  27782. * (Highcharts) Properties for each single point.
  27783. */
  27784. point?: PlotSeriesPointOptions;
  27785. /**
  27786. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  27787. * an individual series. Overrides the chart wide configuration.
  27788. */
  27789. pointDescriptionFormatter?: Function;
  27790. /**
  27791. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  27792. * `number`.
  27793. *
  27794. * In a column chart, when pointPlacement is `"on"`, the point will not
  27795. * create any padding of the X axis. In a polar column chart this means that
  27796. * the first column points directly north. If the pointPlacement is
  27797. * `"between"`, the columns will be laid out between ticks. This is useful
  27798. * for example for visualising an amount between two points in time or in a
  27799. * certain sector of a polar chart.
  27800. *
  27801. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  27802. * is on the axis value, -0.5 is between this value and the previous, and
  27803. * 0.5 is between this value and the next. Unlike the textual options,
  27804. * numeric point placement options won't affect axis padding.
  27805. *
  27806. * Note that pointPlacement needs a pointRange to work. For column series
  27807. * this is computed, but for line-type series it needs to be set.
  27808. *
  27809. * For the `xrange` series type and gantt charts, if the Y axis is a
  27810. * category axis, the `pointPlacement` applies to the Y axis rather than the
  27811. * (typically datetime) X axis.
  27812. *
  27813. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  27814. */
  27815. pointPlacement?: (number|string);
  27816. /**
  27817. * (Highstock) The width of each point on the x axis. For example in a
  27818. * column chart with one value each day, the pointRange would be 1 day (= 24
  27819. * * 3600
  27820. *
  27821. * * 1000 milliseconds). This is normally computed automatically, but this
  27822. * option can be used to override the automatic value.
  27823. */
  27824. pointRange?: number;
  27825. /**
  27826. * (Highcharts) Defines how many points should be plotted within 1 interval.
  27827. * See `plotOptions.bellcurve.intervals`.
  27828. */
  27829. pointsInInterval?: number;
  27830. /**
  27831. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  27832. * a series, pointStart defines on what value to start. For example, if a
  27833. * series contains one yearly value starting from 1945, set pointStart to
  27834. * 1945.
  27835. */
  27836. pointStart?: number;
  27837. /**
  27838. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  27839. * true, the checkbox next to the series name in the legend will be checked
  27840. * for a selected series.
  27841. */
  27842. selected?: boolean;
  27843. /**
  27844. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  27845. * the shadow can be an object configuration containing `color`, `offsetX`,
  27846. * `offsetY`, `opacity` and `width`.
  27847. */
  27848. shadow?: (boolean|ShadowOptionsObject);
  27849. /**
  27850. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  27851. * allow selecting the series. The state of the checkbox is determined by
  27852. * the `selected` option.
  27853. */
  27854. showCheckbox?: boolean;
  27855. /**
  27856. * (Highcharts) Whether to display this particular series or series type in
  27857. * the legend. Standalone series are shown in legend by default, and linked
  27858. * series are not. Since v7.2.0 it is possible to show series that use
  27859. * colorAxis by setting this option to `true`.
  27860. */
  27861. showInLegend?: boolean;
  27862. /**
  27863. * (Highstock) Whether or not to show the series in the navigator. Takes
  27864. * precedence over navigator.baseSeries if defined.
  27865. */
  27866. showInNavigator?: boolean;
  27867. /**
  27868. * (Highcharts) If set to `true`, the accessibility module will skip past
  27869. * the points in this series for keyboard navigation.
  27870. */
  27871. skipKeyboardNavigation?: boolean;
  27872. /**
  27873. * (Highcharts, Highstock) When this is true, the series will not cause the
  27874. * Y axis to cross the zero plane (or threshold option) unless the data
  27875. * actually crosses the plane.
  27876. *
  27877. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  27878. * make the Y axis show negative values according to the `minPadding`
  27879. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  27880. */
  27881. softThreshold?: boolean;
  27882. states?: SeriesStatesOptionsObject;
  27883. /**
  27884. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  27885. * event on a series isn't triggered until the mouse moves over another
  27886. * series, or out of the plot area. When false, the `mouseOut` event on a
  27887. * series is triggered when the mouse leaves the area around the series'
  27888. * graph or markers. This also implies the tooltip when not shared. When
  27889. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  27890. * be hidden when moving the mouse between series. Defaults to true for line
  27891. * and area type series, but to false for columns, pies etc.
  27892. *
  27893. * **Note:** The boost module will force this option because of technical
  27894. * limitations.
  27895. */
  27896. stickyTracking?: boolean;
  27897. /**
  27898. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  27899. * area, for distinguishing between values above and below a threshold. The
  27900. * area between the graph and the threshold is filled.
  27901. *
  27902. * * If a number is given, the Y axis will scale to the threshold.
  27903. *
  27904. * * If `null`, the scaling behaves like a line series with fill between the
  27905. * graph and the Y axis minimum.
  27906. *
  27907. * * If `Infinity` or `-Infinity`, the area between the graph and the
  27908. * corresponding Y axis extreme is filled (since v6.1.0).
  27909. */
  27910. threshold?: (number|null);
  27911. /**
  27912. * (Highcharts) A configuration object for the tooltip rendering of each
  27913. * single series. Properties are inherited from tooltip, but only the
  27914. * following properties can be defined on a series level.
  27915. */
  27916. tooltip?: SeriesTooltipOptionsObject;
  27917. /**
  27918. * (Highcharts, Highstock) Whether the whole area or just the line should
  27919. * respond to mouseover tooltips and other mouse or touch events.
  27920. */
  27921. trackByArea?: boolean;
  27922. /**
  27923. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  27924. * is longer than this, only one dimensional arrays of numbers, or two
  27925. * dimensional arrays with x and y values are allowed. Also, only the first
  27926. * point is tested, and the rest are assumed to be the same format. This
  27927. * saves expensive data checking and indexing in long series. Set it to `0`
  27928. * disable.
  27929. *
  27930. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  27931. * two dimensional arrays are allowed.
  27932. */
  27933. turboThreshold?: number;
  27934. /**
  27935. * (Highcharts) Set the initial visibility of the series.
  27936. */
  27937. visible?: boolean;
  27938. /**
  27939. * (Highmaps) Define the z index of the series.
  27940. */
  27941. zIndex?: number;
  27942. /**
  27943. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  27944. */
  27945. zoneAxis?: string;
  27946. /**
  27947. * (Highcharts, Highstock) An array defining zones within a series. Zones
  27948. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  27949. * the `zoneAxis` option. The zone definitions have to be in ascending order
  27950. * regarding to the value.
  27951. *
  27952. * In styled mode, the color zones are styled with the
  27953. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  27954. * option (view live demo).
  27955. */
  27956. zones?: Array<SeriesZonesOptionsObject>;
  27957. }
  27958. /**
  27959. * (Highcharts) Enable or disable the initial animation when a series is
  27960. * displayed. The animation can also be set as a configuration object. Please
  27961. * note that this option only applies to the initial animation of the series
  27962. * itself. For other animations, see chart.animation and the animation parameter
  27963. * under the API methods. The following properties are supported:
  27964. *
  27965. * - `defer`: The animation delay time in milliseconds.
  27966. *
  27967. * - `duration`: The duration of the animation in milliseconds.
  27968. *
  27969. * - `easing`: Can be a string reference to an easing function set on the `Math`
  27970. * object or a function. See the _Custom easing function_ demo below.
  27971. *
  27972. * Due to poor performance, animation is disabled in old IE browsers for several
  27973. * chart types.
  27974. */
  27975. export interface PlotBoxplotAnimationOptions {
  27976. defer?: number;
  27977. }
  27978. /**
  27979. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  27980. * animation when a series is displayed for the `dataLabels`. The animation can
  27981. * also be set as a configuration object. Please note that this option only
  27982. * applies to the initial animation. For other animations, see chart.animation
  27983. * and the animation parameter under the API methods. The following properties
  27984. * are supported:
  27985. *
  27986. * - `defer`: The animation delay time in milliseconds.
  27987. */
  27988. export interface PlotBoxplotDataLabelsAnimationOptions {
  27989. /**
  27990. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  27991. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  27992. * inherits defer time from the series.animation.defer.
  27993. */
  27994. defer?: number;
  27995. }
  27996. /**
  27997. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  27998. * appearing next to each data point.
  27999. *
  28000. * Since v6.2.0, multiple data labels can be applied to each single point by
  28001. * defining them as an array of configs.
  28002. *
  28003. * In styled mode, the data labels can be styled with the
  28004. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  28005. * example).
  28006. */
  28007. export interface PlotBoxplotDataLabelsOptions {
  28008. /**
  28009. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  28010. * compared to the point. If `right`, the right side of the label should be
  28011. * touching the point. For points with an extent, like columns, the
  28012. * alignments also dictates how to align it inside the box, as given with
  28013. * the inside option. Can be one of `left`, `center` or `right`.
  28014. */
  28015. align?: string;
  28016. /**
  28017. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  28018. * overlap. To make the labels less sensitive for overlapping, the
  28019. * dataLabels.padding can be set to 0.
  28020. */
  28021. allowOverlap?: boolean;
  28022. /**
  28023. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28024. * animation when a series is displayed for the `dataLabels`. The animation
  28025. * can also be set as a configuration object. Please note that this option
  28026. * only applies to the initial animation. For other animations, see
  28027. * chart.animation and the animation parameter under the API methods. The
  28028. * following properties are supported:
  28029. *
  28030. * - `defer`: The animation delay time in milliseconds.
  28031. */
  28032. animation?: (boolean|PlotBoxplotDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  28033. /**
  28034. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  28035. * for the data label.
  28036. */
  28037. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  28038. /**
  28039. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  28040. * label. Defaults to `undefined`.
  28041. */
  28042. borderColor?: (ColorString|GradientColorObject|PatternObject);
  28043. /**
  28044. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  28045. * the data label.
  28046. */
  28047. borderRadius?: number;
  28048. /**
  28049. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  28050. * the data label.
  28051. */
  28052. borderWidth?: number;
  28053. /**
  28054. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  28055. * Particularly in styled mode, this can be used to give each series' or
  28056. * point's data label unique styling. In addition to this option, a default
  28057. * color class name is added so that we can give the labels a contrast text
  28058. * shadow.
  28059. */
  28060. className?: string;
  28061. /**
  28062. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  28063. * labels. Defaults to `undefined`. For certain series types, like column or
  28064. * map, the data labels can be drawn inside the points. In this case the
  28065. * data label will be drawn with maximum contrast by default. Additionally,
  28066. * it will be given a `text-outline` style with the opposite color, to
  28067. * further increase the contrast. This can be overridden by setting the
  28068. * `text-outline` style to `none` in the `dataLabels.style` option.
  28069. */
  28070. color?: (ColorString|GradientColorObject|PatternObject);
  28071. /**
  28072. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  28073. * are outside the plot area. By default, the data label is moved inside the
  28074. * plot area according to the overflow option.
  28075. */
  28076. crop?: boolean;
  28077. /**
  28078. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  28079. * labels until the initial series animation has finished. Setting to
  28080. * `false` renders the data label immediately. If set to `true` inherits the
  28081. * defer time set in plotOptions.series.animation. If set to a number, a
  28082. * defer time is specified in milliseconds.
  28083. */
  28084. defer?: (boolean|number);
  28085. /**
  28086. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  28087. * labels.
  28088. */
  28089. enabled?: boolean;
  28090. /**
  28091. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  28092. * of which data labels to display. The declarative filter is designed for
  28093. * use when callback functions are not available, like when the chart
  28094. * options require a pure JSON structure or for use with graphical editors.
  28095. * For programmatic control, use the `formatter` instead, and return
  28096. * `undefined` to disable a single data label.
  28097. */
  28098. filter?: DataLabelsFilterOptionsObject;
  28099. /**
  28100. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  28101. * label. Available variables are the same as for `formatter`.
  28102. */
  28103. format?: string;
  28104. /**
  28105. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  28106. * format the data label. Note that if a `format` is defined, the format
  28107. * takes precedence and the formatter is ignored.
  28108. */
  28109. formatter?: DataLabelsFormatterCallbackFunction;
  28110. /**
  28111. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  28112. * columns or map areas, whether to align the data label inside the box or
  28113. * to the actual value point. Defaults to `false` in most cases, `true` in
  28114. * stacked columns.
  28115. */
  28116. inside?: boolean;
  28117. /**
  28118. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  28119. * of null. Works analogously to format. `nullFormat` can be applied only to
  28120. * series which support displaying null points.
  28121. */
  28122. nullFormat?: (boolean|string);
  28123. /**
  28124. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  28125. * that defines formatting for points with the value of null. Works
  28126. * analogously to formatter. `nullPointFormatter` can be applied only to
  28127. * series which support displaying null points.
  28128. */
  28129. nullFormatter?: DataLabelsFormatterCallbackFunction;
  28130. /**
  28131. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  28132. * flow outside the plot area. The default is `"justify"`, which aligns them
  28133. * inside the plot area. For columns and bars, this means it will be moved
  28134. * inside the bar. To display data labels outside the plot area, set `crop`
  28135. * to `false` and `overflow` to `"allow"`.
  28136. */
  28137. overflow?: DataLabelsOverflowValue;
  28138. /**
  28139. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  28140. * the `backgroundColor` is set, this is the padding within the box.
  28141. */
  28142. padding?: number;
  28143. /**
  28144. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  28145. * points. If `center` alignment is not possible, it defaults to `right`.
  28146. */
  28147. position?: AlignValue;
  28148. /**
  28149. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  28150. * that due to a more complex structure, backgrounds, borders and padding
  28151. * will be lost on a rotated data label.
  28152. */
  28153. rotation?: number;
  28154. /**
  28155. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  28156. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  28157. * an object configuration containing `color`, `offsetX`, `offsetY`,
  28158. * `opacity` and `width`.
  28159. */
  28160. shadow?: (boolean|ShadowOptionsObject);
  28161. /**
  28162. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  28163. * the border around the label. Symbols are predefined functions on the
  28164. * Renderer object.
  28165. */
  28166. shape?: string;
  28167. /**
  28168. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  28169. * default `color` setting is `"contrast"`, which is a pseudo color that
  28170. * Highcharts picks up and applies the maximum contrast to the underlying
  28171. * point item, for example the bar in a bar chart.
  28172. *
  28173. * The `textOutline` is a pseudo property that applies an outline of the
  28174. * given width with the given color, which by default is the maximum
  28175. * contrast to the text. So a bright text color will result in a black text
  28176. * outline for maximum readability on a mixed background. In some cases,
  28177. * especially with grayscale text, the text outline doesn't work well, in
  28178. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  28179. * is true, the `textOutline` will not be picked up. In this, case, the same
  28180. * effect can be acheived through the `text-shadow` CSS property.
  28181. *
  28182. * For some series types, where each point has an extent, like for example
  28183. * tree maps, the data label may overflow the point. There are two
  28184. * strategies for handling overflow. By default, the text will wrap to
  28185. * multiple lines. The other strategy is to set `style.textOverflow` to
  28186. * `ellipsis`, which will keep the text on one line plus it will break
  28187. * inside long words.
  28188. */
  28189. style?: CSSObject;
  28190. /**
  28191. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  28192. * should follow marker's shape. Border and background are disabled for a
  28193. * label that follows a path.
  28194. *
  28195. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  28196. * to true will disable this option.
  28197. */
  28198. textPath?: DataLabelsTextPathOptionsObject;
  28199. /**
  28200. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  28201. * the labels.
  28202. */
  28203. useHTML?: boolean;
  28204. /**
  28205. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  28206. * label. Can be one of `top`, `middle` or `bottom`. The default value
  28207. * depends on the data, for instance in a column chart, the label is above
  28208. * positive values and below negative values.
  28209. */
  28210. verticalAlign?: string;
  28211. /**
  28212. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  28213. * label relative to the point in pixels.
  28214. */
  28215. x?: number;
  28216. /**
  28217. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  28218. * label relative to the point in pixels.
  28219. */
  28220. y?: number;
  28221. /**
  28222. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  28223. * The default Z index puts it above the series. Use a Z index of 2 to
  28224. * display it behind the series.
  28225. */
  28226. z?: number;
  28227. }
  28228. /**
  28229. * (Highcharts, Highstock) Options for the series data sorting.
  28230. */
  28231. export interface PlotBoxplotDataSortingOptions {
  28232. /**
  28233. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  28234. * Use xAxis.reversed to change the sorting order.
  28235. */
  28236. enabled?: boolean;
  28237. /**
  28238. * (Highcharts, Highstock) Whether to allow matching points by name in an
  28239. * update. If this option is disabled, points will be matched by order.
  28240. */
  28241. matchByName?: boolean;
  28242. /**
  28243. * (Highcharts, Highstock) Determines what data value should be used to sort
  28244. * by.
  28245. */
  28246. sortKey?: string;
  28247. }
  28248. /**
  28249. * (Highcharts) Style options for the guide box. The guide box has one state by
  28250. * default, the `default` state.
  28251. */
  28252. export interface PlotBoxplotDragDropGuideBoxOptions {
  28253. /**
  28254. * (Highcharts) Style options for the guide box default state.
  28255. */
  28256. default?: DragDropGuideBoxOptionsObject;
  28257. }
  28258. /**
  28259. * (Highcharts) A box plot is a convenient way of depicting groups of data
  28260. * through their five-number summaries: the smallest observation (sample
  28261. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest
  28262. * observation (sample maximum).
  28263. *
  28264. * In TypeScript the type option must always be set.
  28265. *
  28266. * Configuration options for the series are given in three levels:
  28267. *
  28268. * 1. Options for all series in a chart are defined in the plotOptions.series
  28269. * object.
  28270. *
  28271. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  28272. *
  28273. * 3. Options for one single series are given in the series instance array. (see
  28274. * online documentation for example)
  28275. */
  28276. export interface PlotBoxplotOptions {
  28277. /**
  28278. * (Highcharts) Accessibility options for a series.
  28279. */
  28280. accessibility?: SeriesAccessibilityOptionsObject;
  28281. /**
  28282. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  28283. * rendered. If `true`, areas which don't correspond to a data point, are
  28284. * rendered as `null` points. If `false`, those areas are skipped.
  28285. */
  28286. allAreas?: boolean;
  28287. /**
  28288. * (Highcharts) Allow this series' points to be selected by clicking on the
  28289. * graphic (columns, point markers, pie slices, map areas etc).
  28290. *
  28291. * The selected points can be handled by point select and unselect events,
  28292. * or collectively by the getSelectedPoints function.
  28293. *
  28294. * And alternative way of selecting points is through dragging.
  28295. */
  28296. allowPointSelect?: boolean;
  28297. /**
  28298. * (Highcharts) Enable or disable the initial animation when a series is
  28299. * displayed. The animation can also be set as a configuration object.
  28300. * Please note that this option only applies to the initial animation of the
  28301. * series itself. For other animations, see chart.animation and the
  28302. * animation parameter under the API methods. The following properties are
  28303. * supported:
  28304. *
  28305. * - `defer`: The animation delay time in milliseconds.
  28306. *
  28307. * - `duration`: The duration of the animation in milliseconds.
  28308. *
  28309. * - `easing`: Can be a string reference to an easing function set on the
  28310. * `Math` object or a function. See the _Custom easing function_ demo below.
  28311. *
  28312. * Due to poor performance, animation is disabled in old IE browsers for
  28313. * several chart types.
  28314. */
  28315. animation?: (boolean|PlotBoxplotAnimationOptions|Partial<AnimationOptionsObject>);
  28316. /**
  28317. * (Highcharts) For some series, there is a limit that shuts down initial
  28318. * animation by default when the total number of points in the chart is too
  28319. * high. For example, for a column chart and its derivatives, animation does
  28320. * not run if there is more than 250 points totally. To disable this cap,
  28321. * set `animationLimit` to `Infinity`.
  28322. */
  28323. animationLimit?: number;
  28324. /**
  28325. * (Highcharts) The dash style of the box.
  28326. */
  28327. boxDashStyle?: DashStyleValue;
  28328. /**
  28329. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  28330. * the category, ignoring null or missing points. When `false`, space will
  28331. * be reserved for null or missing points.
  28332. */
  28333. centerInCategory?: boolean;
  28334. /**
  28335. * (Highcharts) An additional class name to apply to the series' graphical
  28336. * elements. This option does not replace default class names of the
  28337. * graphical element.
  28338. */
  28339. className?: string;
  28340. /**
  28341. * (Highcharts) Disable this option to allow series rendering in the whole
  28342. * plotting area.
  28343. *
  28344. * **Note:** Clipping should be always enabled when chart.zoomType is set
  28345. */
  28346. clip?: boolean;
  28347. /**
  28348. * (Highcharts) The main color of the series. In line type series it applies
  28349. * to the line and the point markers unless otherwise specified. In bar type
  28350. * series it applies to the bars unless a color is specified per point. The
  28351. * default value is pulled from the `options.colors` array.
  28352. *
  28353. * In styled mode, the color can be defined by the colorIndex option. Also,
  28354. * the series color can be set with the `.highcharts-series`,
  28355. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  28356. * `.highcharts-series-{n}` class, or individual classes given by the
  28357. * `className` option.
  28358. */
  28359. color?: (ColorString|GradientColorObject|PatternObject);
  28360. /**
  28361. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  28362. * this number defines which colorAxis the particular series is connected
  28363. * to. It refers to either the axis id or the index of the axis in the
  28364. * colorAxis array, with 0 being the first. Set this option to false to
  28365. * prevent a series from connecting to the default color axis.
  28366. *
  28367. * Since v7.2.0 the option can also be an axis id or an axis index instead
  28368. * of a boolean flag.
  28369. */
  28370. colorAxis?: (boolean|number|string);
  28371. /**
  28372. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  28373. * from the global colors or series-specific plotOptions.column.colors
  28374. * collections, this option determines whether the chart should receive one
  28375. * color per series or one color per point.
  28376. *
  28377. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  28378. * and instead this option gives the points individual color class names on
  28379. * the form `highcharts-color-{n}`.
  28380. */
  28381. colorByPoint?: boolean;
  28382. /**
  28383. * (Highcharts) Styled mode only. A specific color index to use for the
  28384. * series, so its graphic representations are given the class name
  28385. * `highcharts-color-{n}`.
  28386. */
  28387. colorIndex?: number;
  28388. /**
  28389. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  28390. * used to calculate point color if `colorAxis` is used. Requires to set
  28391. * `min` and `max` if some custom point property is used or if approximation
  28392. * for data grouping is set to `'sum'`.
  28393. */
  28394. colorKey?: string;
  28395. /**
  28396. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  28397. * color set to apply instead of the global colors when colorByPoint is
  28398. * true.
  28399. */
  28400. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  28401. /**
  28402. * (Highstock) Compare the values of the series against the first non-null,
  28403. * non- zero value in the visible range. The y axis will show percentage or
  28404. * absolute change depending on whether `compare` is set to `"percent"` or
  28405. * `"value"`. When this is applied to multiple series, it allows comparing
  28406. * the development of the series against each other. Adds a `change` field
  28407. * to every point object.
  28408. */
  28409. compare?: string;
  28410. /**
  28411. * (Highstock) When compare is `percent`, this option dictates whether to
  28412. * use 0 or 100 as the base of comparison.
  28413. */
  28414. compareBase?: (0|100);
  28415. /**
  28416. * (Highstock) Defines if comparison should start from the first point
  28417. * within the visible range or should start from the first point **before**
  28418. * the range.
  28419. *
  28420. * In other words, this flag determines if first point within the visible
  28421. * range will have 0% (`compareStart=true`) or should have been already
  28422. * calculated according to the previous point (`compareStart=false`).
  28423. */
  28424. compareStart?: boolean;
  28425. /**
  28426. * (Gantt) Override Pathfinder connector options for a series. Requires
  28427. * Highcharts Gantt to be loaded.
  28428. */
  28429. connectors?: SeriesConnectorsOptionsObject;
  28430. /**
  28431. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  28432. * rounded to its nearest pixel in order to render sharp on screen. In some
  28433. * cases, when there are a lot of densely packed columns, this leads to
  28434. * visible difference in column widths or distance between columns. In these
  28435. * cases, setting `crisp` to `false` may look better, even though each
  28436. * column is rendered blurry.
  28437. */
  28438. crisp?: boolean;
  28439. /**
  28440. * (Highcharts, Highstock, Gantt) When the series contains less points than
  28441. * the crop threshold, all points are drawn, event if the points fall
  28442. * outside the visible plot area at the current zoom. The advantage of
  28443. * drawing all points (including markers and columns), is that animation is
  28444. * performed on updates. On the other hand, when the series contains more
  28445. * points than the crop threshold, the series data is cropped to only
  28446. * contain points that fall within the plot area. The advantage of cropping
  28447. * away invisible points is to increase performance on large series.
  28448. */
  28449. cropThreshold?: number;
  28450. /**
  28451. * (Highcharts) You can set the cursor to "pointer" if you have click events
  28452. * attached to the series, to signal to the user that the points and lines
  28453. * can be clicked.
  28454. *
  28455. * In styled mode, the series cursor can be set with the same classes as
  28456. * listed under series.color.
  28457. */
  28458. cursor?: (string|CursorValue);
  28459. /**
  28460. * (Highcharts) A reserved subspace to store options and values for
  28461. * customized functionality. Here you can add additional data for your own
  28462. * event callbacks and formatter callbacks.
  28463. */
  28464. custom?: Dictionary<any>;
  28465. /**
  28466. * (Highcharts) Name of the dash style to use for the graph, or for some
  28467. * series types the outline of each shape.
  28468. *
  28469. * In styled mode, the stroke dash-array can be set with the same classes as
  28470. * listed under series.color.
  28471. */
  28472. dashStyle?: DashStyleValue;
  28473. /**
  28474. * (Highstock) Data grouping is the concept of sampling the data values into
  28475. * larger blocks in order to ease readability and increase performance of
  28476. * the JavaScript charts. Highcharts Stock by default applies data grouping
  28477. * when the points become closer than a certain pixel value, determined by
  28478. * the `groupPixelWidth` option.
  28479. *
  28480. * If data grouping is applied, the grouping information of grouped points
  28481. * can be read from the Point.dataGroup. If point options other than the
  28482. * data itself are set, for example `name` or `color` or custom properties,
  28483. * the grouping logic doesn't know how to group it. In this case the options
  28484. * of the first point instance are copied over to the group point. This can
  28485. * be altered through a custom `approximation` callback function.
  28486. */
  28487. dataGrouping?: DataGroupingOptionsObject;
  28488. /**
  28489. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  28490. * labels, appearing next to each data point.
  28491. *
  28492. * Since v6.2.0, multiple data labels can be applied to each single point by
  28493. * defining them as an array of configs.
  28494. *
  28495. * In styled mode, the data labels can be styled with the
  28496. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  28497. * (see example).
  28498. */
  28499. dataLabels?: (PlotBoxplotDataLabelsOptions|Array<PlotBoxplotDataLabelsOptions>);
  28500. /**
  28501. * (Highcharts, Highstock) Options for the series data sorting.
  28502. */
  28503. dataSorting?: (DataSortingOptionsObject|PlotBoxplotDataSortingOptions);
  28504. /**
  28505. * (Highcharts) Depth of the columns in a 3D column chart.
  28506. */
  28507. depth?: number;
  28508. /**
  28509. * (Highcharts) A description of the series to add to the screen reader
  28510. * information about the series.
  28511. */
  28512. description?: string;
  28513. /**
  28514. * (Highcharts) The draggable-points module allows points to be moved around
  28515. * or modified in the chart. In addition to the options mentioned under the
  28516. * `dragDrop` API structure, the module fires three events, point.dragStart,
  28517. * point.drag and point.drop.
  28518. */
  28519. dragDrop?: SeriesDragDropOptionsObject;
  28520. /**
  28521. * (Highcharts) 3D columns only. The color of the edges. Similar to
  28522. * `borderColor`, except it defaults to the same color as the column.
  28523. */
  28524. edgeColor?: ColorString;
  28525. /**
  28526. * (Highcharts) 3D columns only. The width of the colored edges.
  28527. */
  28528. edgeWidth?: number;
  28529. /**
  28530. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  28531. * This includes point tooltips and click events on graphs and points. For
  28532. * large datasets it improves performance.
  28533. */
  28534. enableMouseTracking?: boolean;
  28535. /**
  28536. * (Highcharts) General event handlers for the series items. These event
  28537. * hooks can also be attached to the series at run time using the
  28538. * `Highcharts.addEvent` function.
  28539. */
  28540. events?: SeriesEventsOptionsObject;
  28541. /**
  28542. * (Highcharts) The fill color of the box.
  28543. *
  28544. * In styled mode, the fill color can be set with the
  28545. * `.highcharts-boxplot-box` class.
  28546. */
  28547. fillColor?: (ColorString|GradientColorObject|PatternObject);
  28548. /**
  28549. * (Highcharts) Determines whether the series should look for the nearest
  28550. * point in both dimensions or just the x-dimension when hovering the
  28551. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  28552. * series. If the data has duplicate x-values, it is recommended to set this
  28553. * to `'xy'` to allow hovering over all points.
  28554. *
  28555. * Applies only to series types using nearest neighbor search (not direct
  28556. * hover) for tooltip.
  28557. */
  28558. findNearestPointBy?: OptionsFindNearestPointByValue;
  28559. /**
  28560. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  28561. * chart width or only the zoomed area when zooming in on parts of the X
  28562. * axis. By default, the Y axis adjusts to the min and max of the visible
  28563. * data. Cartesian series only.
  28564. */
  28565. getExtremesFromAll?: boolean;
  28566. /**
  28567. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  28568. * let them render independent of each other. Non-grouped columns will be
  28569. * laid out individually and overlap each other.
  28570. */
  28571. grouping?: boolean;
  28572. /**
  28573. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  28574. * axis units.
  28575. */
  28576. groupPadding?: number;
  28577. /**
  28578. * (Highcharts) When set to `false` will prevent the series data from being
  28579. * included in any form of data export.
  28580. *
  28581. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  28582. * `includeInCSVExport`.
  28583. */
  28584. includeInDataExport?: boolean;
  28585. /**
  28586. * (Highmaps) What property to join the `mapData` to the value data. For
  28587. * example, if joinBy is "code", the mapData items with a specific code is
  28588. * merged into the data with the same code. For maps loaded from GeoJSON,
  28589. * the keys may be held in each point's `properties` object.
  28590. *
  28591. * The joinBy option can also be an array of two values, where the first
  28592. * points to a key in the `mapData`, and the second points to another key in
  28593. * the `data`.
  28594. *
  28595. * When joinBy is `null`, the map items are joined by their position in the
  28596. * array, which performs much better in maps with many data points. This is
  28597. * the recommended option if you are printing more than a thousand data
  28598. * points and have a backend that can preprocess the data into a parallel
  28599. * array of the mapData.
  28600. */
  28601. joinBy?: (string|Array<string>);
  28602. /**
  28603. * (Highcharts) An array specifying which option maps to which key in the
  28604. * data point array. This makes it convenient to work with unstructured data
  28605. * arrays from different sources.
  28606. */
  28607. keys?: Array<string>;
  28608. /**
  28609. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  28610. * series as possible in a natural way, seeking to avoid other series. The
  28611. * goal of this feature is to make the chart more easily readable, like if a
  28612. * human designer placed the labels in the optimal position.
  28613. *
  28614. * The series labels currently work with series types having a `graph` or an
  28615. * `area`.
  28616. */
  28617. label?: SeriesLabelOptionsObject;
  28618. /**
  28619. * (Highstock) The line marks the last price from all points.
  28620. */
  28621. lastPrice?: SeriesLastPriceOptionsObject;
  28622. /**
  28623. * (Highstock) The line marks the last price from visible range of points.
  28624. */
  28625. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  28626. /**
  28627. * (Highcharts) The width of the line surrounding the box. If any of
  28628. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  28629. * applies to these lines.
  28630. */
  28631. lineWidth?: number;
  28632. /**
  28633. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  28634. * Additionally, the value can be ":previous" to link to the previous
  28635. * series. When two series are linked, only the first one appears in the
  28636. * legend. Toggling the visibility of this also toggles the linked series.
  28637. *
  28638. * If master series uses data sorting and linked series does not have its
  28639. * own sorting definition, the linked series will be sorted in the same
  28640. * order as the master one.
  28641. */
  28642. linkedTo?: string;
  28643. /**
  28644. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  28645. * column, translated to the height of a bar in a bar chart. This prevents
  28646. * the columns from becoming too wide when there is a small number of points
  28647. * in the chart.
  28648. */
  28649. maxPointWidth?: number;
  28650. /**
  28651. * (Highcharts) The color of the median line. If `undefined`, the general
  28652. * series color applies.
  28653. *
  28654. * In styled mode, the median stroke width can be set with the
  28655. * `.highcharts-boxplot-median` class.
  28656. */
  28657. medianColor?: (ColorString|GradientColorObject);
  28658. /**
  28659. * (Highcharts) The dash style of the median.
  28660. */
  28661. medianDashStyle?: DashStyleValue;
  28662. /**
  28663. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  28664. * is used.
  28665. *
  28666. * In styled mode, the median stroke width can be set with the
  28667. * `.highcharts-boxplot-median` class.
  28668. */
  28669. medianWidth?: (number|null);
  28670. /**
  28671. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  28672. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  28673. * to zero) point, set the minimal point length to a pixel value like 3\. In
  28674. * stacked column charts, minPointLength might not be respected for tightly
  28675. * packed values.
  28676. */
  28677. minPointLength?: number;
  28678. /**
  28679. * (Highstock) Options for the corresponding navigator series if
  28680. * `showInNavigator` is `true` for this series. Available options are the
  28681. * same as any series, documented at plotOptions and series.
  28682. *
  28683. * These options are merged with options in navigator.series, and will take
  28684. * precedence if the same option is defined both places.
  28685. */
  28686. navigatorOptions?: PlotSeriesOptions;
  28687. /**
  28688. * (Highcharts) The color for the parts of the graph or points that are
  28689. * below the threshold. Note that `zones` takes precedence over the negative
  28690. * color. Using `negativeColor` is equivalent to applying a zone with value
  28691. * of 0.
  28692. */
  28693. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  28694. /**
  28695. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  28696. * dataLabels.
  28697. */
  28698. opacity?: number;
  28699. /**
  28700. * (Highcharts) Properties for each single point.
  28701. */
  28702. point?: PlotSeriesPointOptions;
  28703. /**
  28704. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  28705. * an individual series. Overrides the chart wide configuration.
  28706. */
  28707. pointDescriptionFormatter?: Function;
  28708. /**
  28709. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28710. * a series, `pointInterval` defines the interval of the x values. For
  28711. * example, if a series contains one value every decade starting from year
  28712. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  28713. * `pointInterval` is set in milliseconds.
  28714. *
  28715. * It can be also be combined with `pointIntervalUnit` to draw irregular
  28716. * time intervals.
  28717. *
  28718. * Please note that this options applies to the _series data_, not the
  28719. * interval of the axis ticks, which is independent.
  28720. */
  28721. pointInterval?: number;
  28722. /**
  28723. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  28724. * setting the pointInterval to irregular time units, `day`, `month` and
  28725. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  28726. * also takes the DST crossover into consideration when dealing with local
  28727. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  28728. * months, 10 years etc.
  28729. *
  28730. * Please note that this options applies to the _series data_, not the
  28731. * interval of the axis ticks, which is independent.
  28732. */
  28733. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  28734. /**
  28735. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  28736. * axis units.
  28737. */
  28738. pointPadding?: number;
  28739. /**
  28740. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  28741. * `number`.
  28742. *
  28743. * In a column chart, when pointPlacement is `"on"`, the point will not
  28744. * create any padding of the X axis. In a polar column chart this means that
  28745. * the first column points directly north. If the pointPlacement is
  28746. * `"between"`, the columns will be laid out between ticks. This is useful
  28747. * for example for visualising an amount between two points in time or in a
  28748. * certain sector of a polar chart.
  28749. *
  28750. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  28751. * is on the axis value, -0.5 is between this value and the previous, and
  28752. * 0.5 is between this value and the next. Unlike the textual options,
  28753. * numeric point placement options won't affect axis padding.
  28754. *
  28755. * Note that pointPlacement needs a pointRange to work. For column series
  28756. * this is computed, but for line-type series it needs to be set.
  28757. *
  28758. * For the `xrange` series type and gantt charts, if the Y axis is a
  28759. * category axis, the `pointPlacement` applies to the Y axis rather than the
  28760. * (typically datetime) X axis.
  28761. *
  28762. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  28763. */
  28764. pointPlacement?: (number|string);
  28765. /**
  28766. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  28767. * for. This determines the width of the column. On a categorized axis, the
  28768. * range will be 1 by default (one category unit). On linear and datetime
  28769. * axes, the range will be computed as the distance between the two closest
  28770. * data points.
  28771. *
  28772. * The default `null` means it is computed automatically, but this option
  28773. * can be used to override the automatic value.
  28774. *
  28775. * This option is set by default to 1 if data sorting is enabled.
  28776. */
  28777. pointRange?: (number|null);
  28778. /**
  28779. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  28780. * a series, pointStart defines on what value to start. For example, if a
  28781. * series contains one yearly value starting from 1945, set pointStart to
  28782. * 1945.
  28783. */
  28784. pointStart?: number;
  28785. /**
  28786. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  28787. * each column or bar point. When set to `undefined`, the width is
  28788. * calculated from the `pointPadding` and `groupPadding`. The width effects
  28789. * the dimension that is not based on the point value. For column series it
  28790. * is the hoizontal length and for bar series it is the vertical length.
  28791. */
  28792. pointWidth?: number;
  28793. /**
  28794. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  28795. * true, the checkbox next to the series name in the legend will be checked
  28796. * for a selected series.
  28797. */
  28798. selected?: boolean;
  28799. /**
  28800. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  28801. * the shadow can be an object configuration containing `color`, `offsetX`,
  28802. * `offsetY`, `opacity` and `width`.
  28803. */
  28804. shadow?: (boolean|ShadowOptionsObject);
  28805. /**
  28806. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  28807. * allow selecting the series. The state of the checkbox is determined by
  28808. * the `selected` option.
  28809. */
  28810. showCheckbox?: boolean;
  28811. /**
  28812. * (Highcharts) Whether to display this particular series or series type in
  28813. * the legend. Standalone series are shown in legend by default, and linked
  28814. * series are not. Since v7.2.0 it is possible to show series that use
  28815. * colorAxis by setting this option to `true`.
  28816. */
  28817. showInLegend?: boolean;
  28818. /**
  28819. * (Highstock) Whether or not to show the series in the navigator. Takes
  28820. * precedence over navigator.baseSeries if defined.
  28821. */
  28822. showInNavigator?: boolean;
  28823. /**
  28824. * (Highcharts) If set to `true`, the accessibility module will skip past
  28825. * the points in this series for keyboard navigation.
  28826. */
  28827. skipKeyboardNavigation?: boolean;
  28828. /**
  28829. * (Highcharts, Highstock) When this is true, the series will not cause the
  28830. * Y axis to cross the zero plane (or threshold option) unless the data
  28831. * actually crosses the plane.
  28832. *
  28833. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  28834. * make the Y axis show negative values according to the `minPadding`
  28835. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  28836. */
  28837. softThreshold?: boolean;
  28838. /**
  28839. * (Highcharts, Highstock) Whether to stack the values of each series on top
  28840. * of each other. Possible values are `undefined` to disable, `"normal"` to
  28841. * stack by value or `"percent"`.
  28842. *
  28843. * When stacking is enabled, data must be sorted in ascending X order.
  28844. *
  28845. * Some stacking options are related to specific series types. In the
  28846. * streamgraph series type, the stacking option is set to `"stream"`. The
  28847. * second one is `"overlap"`, which only applies to waterfall series.
  28848. */
  28849. stacking?: OptionsStackingValue;
  28850. /**
  28851. * (Highcharts) The dash style of the stem, the vertical line extending from
  28852. * the box to the whiskers.
  28853. */
  28854. stemDashStyle?: DashStyleValue;
  28855. /**
  28856. * (Highcharts) The width of the stem, the vertical line extending from the
  28857. * box to the whiskers. If `undefined`, the width is inherited from the
  28858. * lineWidth option.
  28859. *
  28860. * In styled mode, the stem stroke width can be set with the
  28861. * `.highcharts-boxplot-stem` class.
  28862. */
  28863. stemWidth?: number;
  28864. /**
  28865. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  28866. * event on a series isn't triggered until the mouse moves over another
  28867. * series, or out of the plot area. When false, the `mouseOut` event on a
  28868. * series is triggered when the mouse leaves the area around the series'
  28869. * graph or markers. This also implies the tooltip when not shared. When
  28870. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  28871. * be hidden when moving the mouse between series. Defaults to true for line
  28872. * and area type series, but to false for columns, pies etc.
  28873. *
  28874. * **Note:** The boost module will force this option because of technical
  28875. * limitations.
  28876. */
  28877. stickyTracking?: boolean;
  28878. /**
  28879. * (Highcharts) The Y axis value to serve as the base for the columns, for
  28880. * distinguishing between values above and below a threshold. If `null`, the
  28881. * columns extend from the padding Y axis minimum.
  28882. */
  28883. threshold?: (number|null);
  28884. /**
  28885. * (Highcharts) A configuration object for the tooltip rendering of each
  28886. * single series. Properties are inherited from tooltip, but only the
  28887. * following properties can be defined on a series level.
  28888. */
  28889. tooltip?: SeriesTooltipOptionsObject;
  28890. /**
  28891. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  28892. * is longer than this, only one dimensional arrays of numbers, or two
  28893. * dimensional arrays with x and y values are allowed. Also, only the first
  28894. * point is tested, and the rest are assumed to be the same format. This
  28895. * saves expensive data checking and indexing in long series. Set it to `0`
  28896. * disable.
  28897. *
  28898. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  28899. * two dimensional arrays are allowed.
  28900. */
  28901. turboThreshold?: number;
  28902. /**
  28903. * (Highcharts) Set the initial visibility of the series.
  28904. */
  28905. visible?: boolean;
  28906. /**
  28907. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  28908. * and high values. When `undefined`, the general series color is used.
  28909. *
  28910. * In styled mode, the whisker stroke can be set with the
  28911. * `.highcharts-boxplot-whisker` class .
  28912. */
  28913. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  28914. /**
  28915. * (Highcharts) The dash style of the whiskers.
  28916. */
  28917. whiskerDashStyle?: DashStyleValue;
  28918. /**
  28919. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  28920. * and high values. It can be a numerical pixel value, or a percentage value
  28921. * of the box width. Set `0` to disable whiskers.
  28922. */
  28923. whiskerLength?: (number|string);
  28924. /**
  28925. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  28926. * low and high values. When `undefined`, the general lineWidth applies.
  28927. *
  28928. * In styled mode, the whisker stroke width can be set with the
  28929. * `.highcharts-boxplot-whisker` class.
  28930. */
  28931. whiskerWidth?: number;
  28932. /**
  28933. * (Highmaps) Define the z index of the series.
  28934. */
  28935. zIndex?: number;
  28936. /**
  28937. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  28938. */
  28939. zoneAxis?: string;
  28940. /**
  28941. * (Highcharts, Highstock) An array defining zones within a series. Zones
  28942. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  28943. * the `zoneAxis` option. The zone definitions have to be in ascending order
  28944. * regarding to the value.
  28945. *
  28946. * In styled mode, the color zones are styled with the
  28947. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  28948. * option (view live demo).
  28949. */
  28950. zones?: Array<SeriesZonesOptionsObject>;
  28951. }
  28952. /**
  28953. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  28954. * is displayed. The animation can also be set as a configuration object. Please
  28955. * note that this option only applies to the initial animation of the series
  28956. * itself. For other animations, see chart.animation and the animation parameter
  28957. * under the API methods. The following properties are supported:
  28958. *
  28959. * - `defer`: The animation delay time in milliseconds.
  28960. *
  28961. * - `duration`: The duration of the animation in milliseconds.
  28962. *
  28963. * - `easing`: Can be a string reference to an easing function set on the `Math`
  28964. * object or a function. See the _Custom easing function_ demo below.
  28965. *
  28966. * Due to poor performance, animation is disabled in old IE browsers for several
  28967. * chart types.
  28968. */
  28969. export interface PlotBubbleAnimationOptions {
  28970. defer?: number;
  28971. }
  28972. /**
  28973. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  28974. * animation when a series is displayed for the `dataLabels`. The animation can
  28975. * also be set as a configuration object. Please note that this option only
  28976. * applies to the initial animation. For other animations, see chart.animation
  28977. * and the animation parameter under the API methods. The following properties
  28978. * are supported:
  28979. *
  28980. * - `defer`: The animation delay time in milliseconds.
  28981. */
  28982. export interface PlotBubbleDataLabelsAnimationOptions {
  28983. /**
  28984. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  28985. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  28986. * inherits defer time from the series.animation.defer.
  28987. */
  28988. defer?: number;
  28989. }
  28990. /**
  28991. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  28992. * appearing next to each data point.
  28993. *
  28994. * Since v6.2.0, multiple data labels can be applied to each single point by
  28995. * defining them as an array of configs.
  28996. *
  28997. * In styled mode, the data labels can be styled with the
  28998. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  28999. * example).
  29000. */
  29001. export interface PlotBubbleDataLabelsOptions {
  29002. /**
  29003. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  29004. * compared to the point. If `right`, the right side of the label should be
  29005. * touching the point. For points with an extent, like columns, the
  29006. * alignments also dictates how to align it inside the box, as given with
  29007. * the inside option. Can be one of `left`, `center` or `right`.
  29008. */
  29009. align?: (AlignValue|null);
  29010. /**
  29011. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  29012. * overlap. To make the labels less sensitive for overlapping, the
  29013. * dataLabels.padding can be set to 0.
  29014. */
  29015. allowOverlap?: boolean;
  29016. /**
  29017. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29018. * animation when a series is displayed for the `dataLabels`. The animation
  29019. * can also be set as a configuration object. Please note that this option
  29020. * only applies to the initial animation. For other animations, see
  29021. * chart.animation and the animation parameter under the API methods. The
  29022. * following properties are supported:
  29023. *
  29024. * - `defer`: The animation delay time in milliseconds.
  29025. */
  29026. animation?: (boolean|PlotBubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  29027. /**
  29028. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  29029. * for the data label.
  29030. */
  29031. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  29032. /**
  29033. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  29034. * label. Defaults to `undefined`.
  29035. */
  29036. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29037. /**
  29038. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  29039. * the data label.
  29040. */
  29041. borderRadius?: number;
  29042. /**
  29043. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  29044. * the data label.
  29045. */
  29046. borderWidth?: number;
  29047. /**
  29048. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  29049. * Particularly in styled mode, this can be used to give each series' or
  29050. * point's data label unique styling. In addition to this option, a default
  29051. * color class name is added so that we can give the labels a contrast text
  29052. * shadow.
  29053. */
  29054. className?: string;
  29055. /**
  29056. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  29057. * labels. Defaults to `undefined`. For certain series types, like column or
  29058. * map, the data labels can be drawn inside the points. In this case the
  29059. * data label will be drawn with maximum contrast by default. Additionally,
  29060. * it will be given a `text-outline` style with the opposite color, to
  29061. * further increase the contrast. This can be overridden by setting the
  29062. * `text-outline` style to `none` in the `dataLabels.style` option.
  29063. */
  29064. color?: (ColorString|GradientColorObject|PatternObject);
  29065. /**
  29066. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  29067. * are outside the plot area. By default, the data label is moved inside the
  29068. * plot area according to the overflow option.
  29069. */
  29070. crop?: boolean;
  29071. /**
  29072. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  29073. * labels until the initial series animation has finished. Setting to
  29074. * `false` renders the data label immediately. If set to `true` inherits the
  29075. * defer time set in plotOptions.series.animation. If set to a number, a
  29076. * defer time is specified in milliseconds.
  29077. */
  29078. defer?: (boolean|number);
  29079. /**
  29080. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  29081. * labels.
  29082. */
  29083. enabled?: boolean;
  29084. /**
  29085. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  29086. * of which data labels to display. The declarative filter is designed for
  29087. * use when callback functions are not available, like when the chart
  29088. * options require a pure JSON structure or for use with graphical editors.
  29089. * For programmatic control, use the `formatter` instead, and return
  29090. * `undefined` to disable a single data label.
  29091. */
  29092. filter?: DataLabelsFilterOptionsObject;
  29093. /**
  29094. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  29095. * label. Available variables are the same as for `formatter`.
  29096. */
  29097. format?: string;
  29098. /**
  29099. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  29100. * format the data label. Note that if a `format` is defined, the format
  29101. * takes precedence and the formatter is ignored.
  29102. */
  29103. formatter?: DataLabelsFormatterCallbackFunction;
  29104. /**
  29105. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  29106. * columns or map areas, whether to align the data label inside the box or
  29107. * to the actual value point. Defaults to `false` in most cases, `true` in
  29108. * stacked columns.
  29109. */
  29110. inside?: boolean;
  29111. /**
  29112. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  29113. * of null. Works analogously to format. `nullFormat` can be applied only to
  29114. * series which support displaying null points.
  29115. */
  29116. nullFormat?: (boolean|string);
  29117. /**
  29118. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  29119. * that defines formatting for points with the value of null. Works
  29120. * analogously to formatter. `nullPointFormatter` can be applied only to
  29121. * series which support displaying null points.
  29122. */
  29123. nullFormatter?: DataLabelsFormatterCallbackFunction;
  29124. /**
  29125. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  29126. * flow outside the plot area. The default is `"justify"`, which aligns them
  29127. * inside the plot area. For columns and bars, this means it will be moved
  29128. * inside the bar. To display data labels outside the plot area, set `crop`
  29129. * to `false` and `overflow` to `"allow"`.
  29130. */
  29131. overflow?: DataLabelsOverflowValue;
  29132. /**
  29133. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  29134. * the `backgroundColor` is set, this is the padding within the box.
  29135. */
  29136. padding?: number;
  29137. /**
  29138. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  29139. * points. If `center` alignment is not possible, it defaults to `right`.
  29140. */
  29141. position?: AlignValue;
  29142. /**
  29143. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  29144. * that due to a more complex structure, backgrounds, borders and padding
  29145. * will be lost on a rotated data label.
  29146. */
  29147. rotation?: number;
  29148. /**
  29149. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  29150. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  29151. * an object configuration containing `color`, `offsetX`, `offsetY`,
  29152. * `opacity` and `width`.
  29153. */
  29154. shadow?: (boolean|ShadowOptionsObject);
  29155. /**
  29156. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  29157. * the border around the label. Symbols are predefined functions on the
  29158. * Renderer object.
  29159. */
  29160. shape?: string;
  29161. /**
  29162. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  29163. * default `color` setting is `"contrast"`, which is a pseudo color that
  29164. * Highcharts picks up and applies the maximum contrast to the underlying
  29165. * point item, for example the bar in a bar chart.
  29166. *
  29167. * The `textOutline` is a pseudo property that applies an outline of the
  29168. * given width with the given color, which by default is the maximum
  29169. * contrast to the text. So a bright text color will result in a black text
  29170. * outline for maximum readability on a mixed background. In some cases,
  29171. * especially with grayscale text, the text outline doesn't work well, in
  29172. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  29173. * is true, the `textOutline` will not be picked up. In this, case, the same
  29174. * effect can be acheived through the `text-shadow` CSS property.
  29175. *
  29176. * For some series types, where each point has an extent, like for example
  29177. * tree maps, the data label may overflow the point. There are two
  29178. * strategies for handling overflow. By default, the text will wrap to
  29179. * multiple lines. The other strategy is to set `style.textOverflow` to
  29180. * `ellipsis`, which will keep the text on one line plus it will break
  29181. * inside long words.
  29182. */
  29183. style?: CSSObject;
  29184. /**
  29185. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  29186. * should follow marker's shape. Border and background are disabled for a
  29187. * label that follows a path.
  29188. *
  29189. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  29190. * to true will disable this option.
  29191. */
  29192. textPath?: DataLabelsTextPathOptionsObject;
  29193. /**
  29194. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  29195. * the labels.
  29196. */
  29197. useHTML?: boolean;
  29198. /**
  29199. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  29200. * label. Can be one of `top`, `middle` or `bottom`. The default value
  29201. * depends on the data, for instance in a column chart, the label is above
  29202. * positive values and below negative values.
  29203. */
  29204. verticalAlign?: string;
  29205. /**
  29206. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  29207. * label relative to the point in pixels.
  29208. */
  29209. x?: number;
  29210. /**
  29211. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  29212. * label relative to the point in pixels.
  29213. */
  29214. y?: number;
  29215. /**
  29216. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  29217. * The default Z index puts it above the series. Use a Z index of 2 to
  29218. * display it behind the series.
  29219. */
  29220. z?: number;
  29221. }
  29222. /**
  29223. * (Highcharts, Highstock) Options for the series data sorting.
  29224. */
  29225. export interface PlotBubbleDataSortingOptions {
  29226. /**
  29227. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  29228. * Use xAxis.reversed to change the sorting order.
  29229. */
  29230. enabled?: boolean;
  29231. /**
  29232. * (Highcharts, Highstock) Whether to allow matching points by name in an
  29233. * update. If this option is disabled, points will be matched by order.
  29234. */
  29235. matchByName?: boolean;
  29236. /**
  29237. * (Highcharts, Highstock) Determines what data value should be used to sort
  29238. * by.
  29239. */
  29240. sortKey?: string;
  29241. }
  29242. /**
  29243. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  29244. * one state by default, the `default` state.
  29245. */
  29246. export interface PlotBubbleDragDropGuideBoxOptions {
  29247. /**
  29248. * (Highcharts, Highstock) Style options for the guide box default state.
  29249. */
  29250. default?: DragDropGuideBoxOptionsObject;
  29251. }
  29252. /**
  29253. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  29254. * plotting discrete values, a little random noise may help telling the points
  29255. * apart. The jitter setting applies a random displacement of up to `n` axis
  29256. * units in either direction. So for example on a horizontal X axis, setting the
  29257. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  29258. * units to the left and 0.24 units to the right of the true axis position. On a
  29259. * category axis, setting it to 0.5 will fill up the bin and make the data
  29260. * appear continuous.
  29261. *
  29262. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  29263. * will correspond to the underlying series' default groupPadding and
  29264. * pointPadding settings.
  29265. */
  29266. export interface PlotBubbleJitterOptions {
  29267. /**
  29268. * (Highcharts, Highstock) The maximal X offset for the random jitter
  29269. * effect.
  29270. */
  29271. x?: number;
  29272. /**
  29273. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  29274. * effect.
  29275. */
  29276. y?: number;
  29277. }
  29278. /**
  29279. * (Highcharts, Highstock) A bubble series is a three dimensional series type
  29280. * where each point renders an X, Y and Z value. Each points is drawn as a
  29281. * bubble where the position along the X and Y axes mark the X and Y values, and
  29282. * the size of the bubble relates to the Z value.
  29283. *
  29284. * In TypeScript the type option must always be set.
  29285. *
  29286. * Configuration options for the series are given in three levels:
  29287. *
  29288. * 1. Options for all series in a chart are defined in the plotOptions.series
  29289. * object.
  29290. *
  29291. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  29292. *
  29293. * 3. Options for one single series are given in the series instance array. (see
  29294. * online documentation for example)
  29295. */
  29296. export interface PlotBubbleOptions {
  29297. /**
  29298. * (Highcharts, Highstock) Accessibility options for a series.
  29299. */
  29300. accessibility?: SeriesAccessibilityOptionsObject;
  29301. /**
  29302. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  29303. * rendered. If `true`, areas which don't correspond to a data point, are
  29304. * rendered as `null` points. If `false`, those areas are skipped.
  29305. */
  29306. allAreas?: boolean;
  29307. /**
  29308. * (Highcharts, Highstock) Allow this series' points to be selected by
  29309. * clicking on the graphic (columns, point markers, pie slices, map areas
  29310. * etc).
  29311. *
  29312. * The selected points can be handled by point select and unselect events,
  29313. * or collectively by the getSelectedPoints function.
  29314. *
  29315. * And alternative way of selecting points is through dragging.
  29316. */
  29317. allowPointSelect?: boolean;
  29318. /**
  29319. * (Highcharts, Highstock) Enable or disable the initial animation when a
  29320. * series is displayed. The animation can also be set as a configuration
  29321. * object. Please note that this option only applies to the initial
  29322. * animation of the series itself. For other animations, see chart.animation
  29323. * and the animation parameter under the API methods. The following
  29324. * properties are supported:
  29325. *
  29326. * - `defer`: The animation delay time in milliseconds.
  29327. *
  29328. * - `duration`: The duration of the animation in milliseconds.
  29329. *
  29330. * - `easing`: Can be a string reference to an easing function set on the
  29331. * `Math` object or a function. See the _Custom easing function_ demo below.
  29332. *
  29333. * Due to poor performance, animation is disabled in old IE browsers for
  29334. * several chart types.
  29335. */
  29336. animation?: (boolean|PlotBubbleAnimationOptions|Partial<AnimationOptionsObject>);
  29337. /**
  29338. * (Highcharts, Highstock) If there are more points in the series than the
  29339. * `animationLimit`, the animation won't run. Animation affects overall
  29340. * performance and doesn't work well with heavy data series.
  29341. */
  29342. animationLimit?: number;
  29343. /**
  29344. * (Highcharts, Highstock) Sets the color blending in the boost module.
  29345. */
  29346. boostBlending?: OptionsBoostBlendingValue;
  29347. /**
  29348. * (Highcharts, Highstock) Set the point threshold for when a series should
  29349. * enter boost mode.
  29350. *
  29351. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  29352. * there are 2000 or more points in the series.
  29353. *
  29354. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  29355. * it to 1 will force boosting.
  29356. *
  29357. * Note that the cropThreshold also affects this setting. When zooming in on
  29358. * a series that has fewer points than the `cropThreshold`, all points are
  29359. * rendered although outside the visible plot area, and the `boostThreshold`
  29360. * won't take effect.
  29361. */
  29362. boostThreshold?: number;
  29363. /**
  29364. * (Highmaps) The border color of the map areas.
  29365. *
  29366. * In styled mode, the border stroke is given in the `.highcharts-point`
  29367. * class.
  29368. */
  29369. borderColor?: (ColorString|GradientColorObject|PatternObject);
  29370. /**
  29371. * (Highmaps) The border width of each map area.
  29372. *
  29373. * In styled mode, the border stroke width is given in the
  29374. * `.highcharts-point` class.
  29375. */
  29376. borderWidth?: number;
  29377. /**
  29378. * (Highcharts, Highstock) An additional class name to apply to the series'
  29379. * graphical elements. This option does not replace default class names of
  29380. * the graphical element.
  29381. */
  29382. className?: string;
  29383. /**
  29384. * (Highcharts, Highstock) Disable this option to allow series rendering in
  29385. * the whole plotting area.
  29386. *
  29387. * **Note:** Clipping should be always enabled when chart.zoomType is set
  29388. */
  29389. clip?: boolean;
  29390. /**
  29391. * (Highcharts, Highstock) The main color of the series. In line type series
  29392. * it applies to the line and the point markers unless otherwise specified.
  29393. * In bar type series it applies to the bars unless a color is specified per
  29394. * point. The default value is pulled from the `options.colors` array.
  29395. *
  29396. * In styled mode, the color can be defined by the colorIndex option. Also,
  29397. * the series color can be set with the `.highcharts-series`,
  29398. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  29399. * `.highcharts-series-{n}` class, or individual classes given by the
  29400. * `className` option.
  29401. */
  29402. color?: (ColorString|GradientColorObject|PatternObject);
  29403. /**
  29404. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  29405. * this number defines which colorAxis the particular series is connected
  29406. * to. It refers to either the axis id or the index of the axis in the
  29407. * colorAxis array, with 0 being the first. Set this option to false to
  29408. * prevent a series from connecting to the default color axis.
  29409. *
  29410. * Since v7.2.0 the option can also be an axis id or an axis index instead
  29411. * of a boolean flag.
  29412. */
  29413. colorAxis?: (boolean|number|string);
  29414. /**
  29415. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  29416. * for the series, so its graphic representations are given the class name
  29417. * `highcharts-color-{n}`.
  29418. */
  29419. colorIndex?: number;
  29420. /**
  29421. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  29422. * used to calculate point color if `colorAxis` is used. Requires to set
  29423. * `min` and `max` if some custom point property is used or if approximation
  29424. * for data grouping is set to `'sum'`.
  29425. */
  29426. colorKey?: string;
  29427. /**
  29428. * (Highstock) Compare the values of the series against the first non-null,
  29429. * non- zero value in the visible range. The y axis will show percentage or
  29430. * absolute change depending on whether `compare` is set to `"percent"` or
  29431. * `"value"`. When this is applied to multiple series, it allows comparing
  29432. * the development of the series against each other. Adds a `change` field
  29433. * to every point object.
  29434. */
  29435. compare?: string;
  29436. /**
  29437. * (Highstock) When compare is `percent`, this option dictates whether to
  29438. * use 0 or 100 as the base of comparison.
  29439. */
  29440. compareBase?: (0|100);
  29441. /**
  29442. * (Highstock) Defines if comparison should start from the first point
  29443. * within the visible range or should start from the first point **before**
  29444. * the range.
  29445. *
  29446. * In other words, this flag determines if first point within the visible
  29447. * range will have 0% (`compareStart=true`) or should have been already
  29448. * calculated according to the previous point (`compareStart=false`).
  29449. */
  29450. compareStart?: boolean;
  29451. /**
  29452. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  29453. * series plot across the extremes.
  29454. */
  29455. connectEnds?: boolean;
  29456. /**
  29457. * (Highcharts, Highstock) Whether to connect a graph line across null
  29458. * points, or render a gap between the two points on either side of the
  29459. * null.
  29460. */
  29461. connectNulls?: boolean;
  29462. /**
  29463. * (Gantt) Override Pathfinder connector options for a series. Requires
  29464. * Highcharts Gantt to be loaded.
  29465. */
  29466. connectors?: SeriesConnectorsOptionsObject;
  29467. /**
  29468. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  29469. * rounded to its nearest pixel in order to render sharp on screen. In some
  29470. * cases, when there are a lot of densely packed columns, this leads to
  29471. * visible difference in column widths or distance between columns. In these
  29472. * cases, setting `crisp` to `false` may look better, even though each
  29473. * column is rendered blurry.
  29474. */
  29475. crisp?: boolean;
  29476. /**
  29477. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  29478. * click events attached to the series, to signal to the user that the
  29479. * points and lines can be clicked.
  29480. *
  29481. * In styled mode, the series cursor can be set with the same classes as
  29482. * listed under series.color.
  29483. */
  29484. cursor?: (string|CursorValue);
  29485. /**
  29486. * (Highcharts, Highstock) A reserved subspace to store options and values
  29487. * for customized functionality. Here you can add additional data for your
  29488. * own event callbacks and formatter callbacks.
  29489. */
  29490. custom?: Dictionary<any>;
  29491. /**
  29492. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  29493. * for some series types the outline of each shape.
  29494. *
  29495. * In styled mode, the stroke dash-array can be set with the same classes as
  29496. * listed under series.color.
  29497. */
  29498. dashStyle?: DashStyleValue;
  29499. /**
  29500. * (Highstock) Data grouping is the concept of sampling the data values into
  29501. * larger blocks in order to ease readability and increase performance of
  29502. * the JavaScript charts. Highcharts Stock by default applies data grouping
  29503. * when the points become closer than a certain pixel value, determined by
  29504. * the `groupPixelWidth` option.
  29505. *
  29506. * If data grouping is applied, the grouping information of grouped points
  29507. * can be read from the Point.dataGroup. If point options other than the
  29508. * data itself are set, for example `name` or `color` or custom properties,
  29509. * the grouping logic doesn't know how to group it. In this case the options
  29510. * of the first point instance are copied over to the group point. This can
  29511. * be altered through a custom `approximation` callback function.
  29512. */
  29513. dataGrouping?: DataGroupingOptionsObject;
  29514. /**
  29515. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  29516. * labels, appearing next to each data point.
  29517. *
  29518. * Since v6.2.0, multiple data labels can be applied to each single point by
  29519. * defining them as an array of configs.
  29520. *
  29521. * In styled mode, the data labels can be styled with the
  29522. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  29523. * (see example).
  29524. */
  29525. dataLabels?: (PlotBubbleDataLabelsOptions|Array<PlotBubbleDataLabelsOptions>);
  29526. /**
  29527. * (Highcharts, Highstock) Options for the series data sorting.
  29528. */
  29529. dataSorting?: (DataSortingOptionsObject|PlotBubbleDataSortingOptions);
  29530. /**
  29531. * (Highcharts, Highstock) A description of the series to add to the screen
  29532. * reader information about the series.
  29533. */
  29534. description?: string;
  29535. /**
  29536. * (Highcharts, Highstock) Whether to display negative sized bubbles. The
  29537. * threshold is given by the zThreshold option, and negative bubbles can be
  29538. * visualized by setting negativeColor.
  29539. */
  29540. displayNegative?: boolean;
  29541. /**
  29542. * (Highcharts, Highstock) The draggable-points module allows points to be
  29543. * moved around or modified in the chart. In addition to the options
  29544. * mentioned under the `dragDrop` API structure, the module fires three
  29545. * events, point.dragStart, point.drag and point.drop.
  29546. */
  29547. dragDrop?: SeriesDragDropOptionsObject;
  29548. /**
  29549. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  29550. * specific series. This includes point tooltips and click events on graphs
  29551. * and points. For large datasets it improves performance.
  29552. */
  29553. enableMouseTracking?: boolean;
  29554. /**
  29555. * (Highcharts, Highstock) General event handlers for the series items.
  29556. * These event hooks can also be attached to the series at run time using
  29557. * the `Highcharts.addEvent` function.
  29558. */
  29559. events?: SeriesEventsOptionsObject;
  29560. /**
  29561. * (Highcharts, Highstock) Determines whether the series should look for the
  29562. * nearest point in both dimensions or just the x-dimension when hovering
  29563. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  29564. * other series. If the data has duplicate x-values, it is recommended to
  29565. * set this to `'xy'` to allow hovering over all points.
  29566. *
  29567. * Applies only to series types using nearest neighbor search (not direct
  29568. * hover) for tooltip.
  29569. */
  29570. findNearestPointBy?: OptionsFindNearestPointByValue;
  29571. /**
  29572. * (Highstock) Defines when to display a gap in the graph, together with the
  29573. * gapUnit option.
  29574. *
  29575. * In case when `dataGrouping` is enabled, points can be grouped into a
  29576. * larger time span. This can make the grouped points to have a greater
  29577. * distance than the absolute value of `gapSize` property, which will result
  29578. * in disappearing graph completely. To prevent this situation the mentioned
  29579. * distance between grouped points is used instead of previously defined
  29580. * `gapSize`.
  29581. *
  29582. * In practice, this option is most often used to visualize gaps in time
  29583. * series. In a stock chart, intraday data is available for daytime hours,
  29584. * while gaps will appear in nights and weekends.
  29585. */
  29586. gapSize?: number;
  29587. /**
  29588. * (Highstock) Together with gapSize, this option defines where to draw gaps
  29589. * in the graph.
  29590. *
  29591. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  29592. * if the distance between two points is greater than 5 times that of the
  29593. * two closest points, the graph will be broken.
  29594. *
  29595. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  29596. * values, which on a datetime axis is milliseconds. This also applies to
  29597. * the navigator series that inherits gap options from the base series.
  29598. */
  29599. gapUnit?: OptionsGapUnitValue;
  29600. /**
  29601. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  29602. * chart width or only the zoomed area when zooming in on parts of the X
  29603. * axis. By default, the Y axis adjusts to the min and max of the visible
  29604. * data. Cartesian series only.
  29605. */
  29606. getExtremesFromAll?: boolean;
  29607. /**
  29608. * (Highcharts, Highstock) When set to `false` will prevent the series data
  29609. * from being included in any form of data export.
  29610. *
  29611. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  29612. * `includeInCSVExport`.
  29613. */
  29614. includeInDataExport?: boolean;
  29615. /**
  29616. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  29617. * When plotting discrete values, a little random noise may help telling the
  29618. * points apart. The jitter setting applies a random displacement of up to
  29619. * `n` axis units in either direction. So for example on a horizontal X
  29620. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  29621. * position between 0.24 units to the left and 0.24 units to the right of
  29622. * the true axis position. On a category axis, setting it to 0.5 will fill
  29623. * up the bin and make the data appear continuous.
  29624. *
  29625. * When rendered on top of a box plot or a column series, a jitter value of
  29626. * 0.24 will correspond to the underlying series' default groupPadding and
  29627. * pointPadding settings.
  29628. */
  29629. jitter?: PlotBubbleJitterOptions;
  29630. /**
  29631. * (Highmaps) What property to join the `mapData` to the value data. For
  29632. * example, if joinBy is "code", the mapData items with a specific code is
  29633. * merged into the data with the same code. For maps loaded from GeoJSON,
  29634. * the keys may be held in each point's `properties` object.
  29635. *
  29636. * The joinBy option can also be an array of two values, where the first
  29637. * points to a key in the `mapData`, and the second points to another key in
  29638. * the `data`.
  29639. *
  29640. * When joinBy is `null`, the map items are joined by their position in the
  29641. * array, which performs much better in maps with many data points. This is
  29642. * the recommended option if you are printing more than a thousand data
  29643. * points and have a backend that can preprocess the data into a parallel
  29644. * array of the mapData.
  29645. */
  29646. joinBy?: (string|Array<string>);
  29647. /**
  29648. * (Highcharts, Highstock) An array specifying which option maps to which
  29649. * key in the data point array. This makes it convenient to work with
  29650. * unstructured data arrays from different sources.
  29651. */
  29652. keys?: Array<string>;
  29653. /**
  29654. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  29655. * series as possible in a natural way, seeking to avoid other series. The
  29656. * goal of this feature is to make the chart more easily readable, like if a
  29657. * human designer placed the labels in the optimal position.
  29658. *
  29659. * The series labels currently work with series types having a `graph` or an
  29660. * `area`.
  29661. */
  29662. label?: SeriesLabelOptionsObject;
  29663. /**
  29664. * (Highstock) The line marks the last price from all points.
  29665. */
  29666. lastPrice?: SeriesLastPriceOptionsObject;
  29667. /**
  29668. * (Highstock) The line marks the last price from visible range of points.
  29669. */
  29670. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  29671. /**
  29672. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  29673. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  29674. * the ends and bends.
  29675. */
  29676. linecap?: SeriesLinecapValue;
  29677. /**
  29678. * (Highcharts, Highstock) The width of the line connecting the data points.
  29679. */
  29680. lineWidth?: number;
  29681. /**
  29682. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  29683. * Additionally, the value can be ":previous" to link to the previous
  29684. * series. When two series are linked, only the first one appears in the
  29685. * legend. Toggling the visibility of this also toggles the linked series.
  29686. *
  29687. * If master series uses data sorting and linked series does not have its
  29688. * own sorting definition, the linked series will be sorted in the same
  29689. * order as the master one.
  29690. */
  29691. linkedTo?: string;
  29692. /**
  29693. * (Highcharts, Highstock) Options for the point markers of line-like
  29694. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  29695. * the visual appearance of the markers. Other series types, like column
  29696. * series, don't have markers, but have visual options on the series level
  29697. * instead.
  29698. *
  29699. * In styled mode, the markers can be styled with the `.highcharts-point`,
  29700. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  29701. */
  29702. marker?: PointMarkerOptionsObject;
  29703. /**
  29704. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  29705. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29706. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29707. * the smallest one of the plot width and height.
  29708. */
  29709. maxSize?: (number|string);
  29710. /**
  29711. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  29712. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  29713. * bubble. Can be either pixels (when no unit is given), or a percentage of
  29714. * the smallest one of the plot width and height.
  29715. */
  29716. minSize?: (number|string);
  29717. /**
  29718. * (Highstock) Options for the corresponding navigator series if
  29719. * `showInNavigator` is `true` for this series. Available options are the
  29720. * same as any series, documented at plotOptions and series.
  29721. *
  29722. * These options are merged with options in navigator.series, and will take
  29723. * precedence if the same option is defined both places.
  29724. */
  29725. navigatorOptions?: PlotSeriesOptions;
  29726. /**
  29727. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  29728. * color is used.
  29729. */
  29730. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  29731. /**
  29732. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  29733. * and dataLabels.
  29734. */
  29735. opacity?: number;
  29736. /**
  29737. * (Highcharts, Highstock) Properties for each single point.
  29738. */
  29739. point?: PlotSeriesPointOptions;
  29740. /**
  29741. * (Highcharts, Highstock) Same as
  29742. * accessibility.series.descriptionFormatter, but for an individual series.
  29743. * Overrides the chart wide configuration.
  29744. */
  29745. pointDescriptionFormatter?: Function;
  29746. /**
  29747. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29748. * a series, `pointInterval` defines the interval of the x values. For
  29749. * example, if a series contains one value every decade starting from year
  29750. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  29751. * `pointInterval` is set in milliseconds.
  29752. *
  29753. * It can be also be combined with `pointIntervalUnit` to draw irregular
  29754. * time intervals.
  29755. *
  29756. * Please note that this options applies to the _series data_, not the
  29757. * interval of the axis ticks, which is independent.
  29758. */
  29759. pointInterval?: number;
  29760. /**
  29761. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  29762. * setting the pointInterval to irregular time units, `day`, `month` and
  29763. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  29764. * also takes the DST crossover into consideration when dealing with local
  29765. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  29766. * months, 10 years etc.
  29767. *
  29768. * Please note that this options applies to the _series data_, not the
  29769. * interval of the axis ticks, which is independent.
  29770. */
  29771. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  29772. /**
  29773. * (Highstock) The width of each point on the x axis. For example in a
  29774. * column chart with one value each day, the pointRange would be 1 day (= 24
  29775. * * 3600
  29776. *
  29777. * * 1000 milliseconds). This is normally computed automatically, but this
  29778. * option can be used to override the automatic value.
  29779. */
  29780. pointRange?: number;
  29781. /**
  29782. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  29783. * a series, pointStart defines on what value to start. For example, if a
  29784. * series contains one yearly value starting from 1945, set pointStart to
  29785. * 1945.
  29786. */
  29787. pointStart?: number;
  29788. /**
  29789. * (Highcharts, Highstock) Whether to select the series initially. If
  29790. * `showCheckbox` is true, the checkbox next to the series name in the
  29791. * legend will be checked for a selected series.
  29792. */
  29793. selected?: boolean;
  29794. /**
  29795. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  29796. * legend item to allow selecting the series. The state of the checkbox is
  29797. * determined by the `selected` option.
  29798. */
  29799. showCheckbox?: boolean;
  29800. /**
  29801. * (Highcharts, Highstock) Whether to display this particular series or
  29802. * series type in the legend. Standalone series are shown in legend by
  29803. * default, and linked series are not. Since v7.2.0 it is possible to show
  29804. * series that use colorAxis by setting this option to `true`.
  29805. */
  29806. showInLegend?: boolean;
  29807. /**
  29808. * (Highstock) Whether or not to show the series in the navigator. Takes
  29809. * precedence over navigator.baseSeries if defined.
  29810. */
  29811. showInNavigator?: boolean;
  29812. /**
  29813. * (Highcharts, Highstock) Whether the bubble's value should be represented
  29814. * by the area or the width of the bubble. The default, `area`, corresponds
  29815. * best to the human perception of the size of each bubble.
  29816. */
  29817. sizeBy?: BubbleSizeByValue;
  29818. /**
  29819. * (Highcharts) When this is true, the absolute value of z determines the
  29820. * size of the bubble. This means that with the default `zThreshold` of 0, a
  29821. * bubble of value -1 will have the same size as a bubble of value 1, while
  29822. * a bubble of value 0 will have a smaller size according to `minSize`.
  29823. */
  29824. sizeByAbsoluteValue?: boolean;
  29825. /**
  29826. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  29827. * skip past the points in this series for keyboard navigation.
  29828. */
  29829. skipKeyboardNavigation?: boolean;
  29830. /**
  29831. * (Highcharts) When this is true, the series will not cause the Y axis to
  29832. * cross the zero plane (or threshold option) unless the data actually
  29833. * crosses the plane.
  29834. *
  29835. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  29836. * make the Y axis show negative values according to the `minPadding`
  29837. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  29838. */
  29839. softThreshold?: boolean;
  29840. /**
  29841. * (Highcharts, Highstock) Whether to stack the values of each series on top
  29842. * of each other. Possible values are `undefined` to disable, `"normal"` to
  29843. * stack by value or `"percent"`.
  29844. *
  29845. * When stacking is enabled, data must be sorted in ascending X order.
  29846. *
  29847. * Some stacking options are related to specific series types. In the
  29848. * streamgraph series type, the stacking option is set to `"stream"`. The
  29849. * second one is `"overlap"`, which only applies to waterfall series.
  29850. */
  29851. stacking?: OptionsStackingValue;
  29852. states?: SeriesStatesOptionsObject;
  29853. /**
  29854. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  29855. * values are `left`, `center` and `right`.
  29856. */
  29857. step?: OptionsStepValue;
  29858. /**
  29859. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  29860. * `mouseOut` event on a series isn't triggered until the mouse moves over
  29861. * another series, or out of the plot area. When false, the `mouseOut` event
  29862. * on a series is triggered when the mouse leaves the area around the
  29863. * series' graph or markers. This also implies the tooltip. When
  29864. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  29865. * be hidden when moving the mouse between series.
  29866. */
  29867. stickyTracking?: boolean;
  29868. /**
  29869. * (Highcharts, Highstock) The threshold, also called zero level or base
  29870. * level. For line type series this is only used in conjunction with
  29871. * negativeColor.
  29872. */
  29873. threshold?: (number|null);
  29874. /**
  29875. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  29876. * of each single series. Properties are inherited from tooltip. Overridable
  29877. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  29878. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  29879. * series.name by default shows in the headerFormat and point.x and point.y
  29880. * in the pointFormat.
  29881. */
  29882. tooltip?: SeriesTooltipOptionsObject;
  29883. /**
  29884. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  29885. * is longer than this, only one dimensional arrays of numbers, or two
  29886. * dimensional arrays with x and y values are allowed. Also, only the first
  29887. * point is tested, and the rest are assumed to be the same format. This
  29888. * saves expensive data checking and indexing in long series. Set it to `0`
  29889. * disable.
  29890. *
  29891. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  29892. * two dimensional arrays are allowed.
  29893. */
  29894. turboThreshold?: number;
  29895. /**
  29896. * (Highcharts, Highstock) Set the initial visibility of the series.
  29897. */
  29898. visible?: boolean;
  29899. /**
  29900. * (Highmaps) Define the z index of the series.
  29901. */
  29902. zIndex?: number;
  29903. /**
  29904. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  29905. * value in the data.
  29906. */
  29907. zMax?: number;
  29908. /**
  29909. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  29910. * value in the data.
  29911. */
  29912. zMin?: number;
  29913. /**
  29914. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  29915. */
  29916. zoneAxis?: string;
  29917. /**
  29918. * (Highcharts, Highstock) An array defining zones within a series. Zones
  29919. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  29920. * the `zoneAxis` option. The zone definitions have to be in ascending order
  29921. * regarding to the value.
  29922. *
  29923. * In styled mode, the color zones are styled with the
  29924. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  29925. * option (view live demo).
  29926. */
  29927. zones?: Array<SeriesZonesOptionsObject>;
  29928. /**
  29929. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  29930. * are skipped. When `displayNegative` is `true` and a negativeColor is
  29931. * given, points with lower Z is colored.
  29932. */
  29933. zThreshold?: number;
  29934. }
  29935. /**
  29936. * (Highcharts) Enable or disable the initial animation when a series is
  29937. * displayed. The animation can also be set as a configuration object. Please
  29938. * note that this option only applies to the initial animation of the series
  29939. * itself. For other animations, see chart.animation and the animation parameter
  29940. * under the API methods. The following properties are supported:
  29941. *
  29942. * - `defer`: The animation delay time in milliseconds.
  29943. *
  29944. * - `duration`: The duration of the animation in milliseconds.
  29945. *
  29946. * - `easing`: Can be a string reference to an easing function set on the `Math`
  29947. * object or a function. See the _Custom easing function_ demo below.
  29948. *
  29949. * Due to poor performance, animation is disabled in old IE browsers for several
  29950. * chart types.
  29951. */
  29952. export interface PlotBulletAnimationOptions {
  29953. defer?: number;
  29954. }
  29955. /**
  29956. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  29957. * animation when a series is displayed for the `dataLabels`. The animation can
  29958. * also be set as a configuration object. Please note that this option only
  29959. * applies to the initial animation. For other animations, see chart.animation
  29960. * and the animation parameter under the API methods. The following properties
  29961. * are supported:
  29962. *
  29963. * - `defer`: The animation delay time in milliseconds.
  29964. */
  29965. export interface PlotBulletDataLabelsAnimationOptions {
  29966. /**
  29967. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  29968. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  29969. * inherits defer time from the series.animation.defer.
  29970. */
  29971. defer?: number;
  29972. }
  29973. /**
  29974. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  29975. * appearing next to each data point.
  29976. *
  29977. * Since v6.2.0, multiple data labels can be applied to each single point by
  29978. * defining them as an array of configs.
  29979. *
  29980. * In styled mode, the data labels can be styled with the
  29981. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  29982. * example).
  29983. */
  29984. export interface PlotBulletDataLabelsOptions {
  29985. /**
  29986. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  29987. * compared to the point. If `right`, the right side of the label should be
  29988. * touching the point. For points with an extent, like columns, the
  29989. * alignments also dictates how to align it inside the box, as given with
  29990. * the inside option. Can be one of `left`, `center` or `right`.
  29991. */
  29992. align?: string;
  29993. /**
  29994. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  29995. * overlap. To make the labels less sensitive for overlapping, the
  29996. * dataLabels.padding can be set to 0.
  29997. */
  29998. allowOverlap?: boolean;
  29999. /**
  30000. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30001. * animation when a series is displayed for the `dataLabels`. The animation
  30002. * can also be set as a configuration object. Please note that this option
  30003. * only applies to the initial animation. For other animations, see
  30004. * chart.animation and the animation parameter under the API methods. The
  30005. * following properties are supported:
  30006. *
  30007. * - `defer`: The animation delay time in milliseconds.
  30008. */
  30009. animation?: (boolean|PlotBulletDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  30010. /**
  30011. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  30012. * for the data label.
  30013. */
  30014. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  30015. /**
  30016. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  30017. * label. Defaults to `undefined`.
  30018. */
  30019. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30020. /**
  30021. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  30022. * the data label.
  30023. */
  30024. borderRadius?: number;
  30025. /**
  30026. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  30027. * the data label.
  30028. */
  30029. borderWidth?: number;
  30030. /**
  30031. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  30032. * Particularly in styled mode, this can be used to give each series' or
  30033. * point's data label unique styling. In addition to this option, a default
  30034. * color class name is added so that we can give the labels a contrast text
  30035. * shadow.
  30036. */
  30037. className?: string;
  30038. /**
  30039. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  30040. * labels. Defaults to `undefined`. For certain series types, like column or
  30041. * map, the data labels can be drawn inside the points. In this case the
  30042. * data label will be drawn with maximum contrast by default. Additionally,
  30043. * it will be given a `text-outline` style with the opposite color, to
  30044. * further increase the contrast. This can be overridden by setting the
  30045. * `text-outline` style to `none` in the `dataLabels.style` option.
  30046. */
  30047. color?: (ColorString|GradientColorObject|PatternObject);
  30048. /**
  30049. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  30050. * are outside the plot area. By default, the data label is moved inside the
  30051. * plot area according to the overflow option.
  30052. */
  30053. crop?: boolean;
  30054. /**
  30055. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  30056. * labels until the initial series animation has finished. Setting to
  30057. * `false` renders the data label immediately. If set to `true` inherits the
  30058. * defer time set in plotOptions.series.animation. If set to a number, a
  30059. * defer time is specified in milliseconds.
  30060. */
  30061. defer?: (boolean|number);
  30062. /**
  30063. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  30064. * labels.
  30065. */
  30066. enabled?: boolean;
  30067. /**
  30068. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  30069. * of which data labels to display. The declarative filter is designed for
  30070. * use when callback functions are not available, like when the chart
  30071. * options require a pure JSON structure or for use with graphical editors.
  30072. * For programmatic control, use the `formatter` instead, and return
  30073. * `undefined` to disable a single data label.
  30074. */
  30075. filter?: DataLabelsFilterOptionsObject;
  30076. /**
  30077. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  30078. * label. Available variables are the same as for `formatter`.
  30079. */
  30080. format?: string;
  30081. /**
  30082. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  30083. * format the data label. Note that if a `format` is defined, the format
  30084. * takes precedence and the formatter is ignored.
  30085. */
  30086. formatter?: DataLabelsFormatterCallbackFunction;
  30087. /**
  30088. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  30089. * columns or map areas, whether to align the data label inside the box or
  30090. * to the actual value point. Defaults to `false` in most cases, `true` in
  30091. * stacked columns.
  30092. */
  30093. inside?: boolean;
  30094. /**
  30095. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  30096. * of null. Works analogously to format. `nullFormat` can be applied only to
  30097. * series which support displaying null points.
  30098. */
  30099. nullFormat?: (boolean|string);
  30100. /**
  30101. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  30102. * that defines formatting for points with the value of null. Works
  30103. * analogously to formatter. `nullPointFormatter` can be applied only to
  30104. * series which support displaying null points.
  30105. */
  30106. nullFormatter?: DataLabelsFormatterCallbackFunction;
  30107. /**
  30108. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  30109. * flow outside the plot area. The default is `"justify"`, which aligns them
  30110. * inside the plot area. For columns and bars, this means it will be moved
  30111. * inside the bar. To display data labels outside the plot area, set `crop`
  30112. * to `false` and `overflow` to `"allow"`.
  30113. */
  30114. overflow?: DataLabelsOverflowValue;
  30115. /**
  30116. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  30117. * the `backgroundColor` is set, this is the padding within the box.
  30118. */
  30119. padding?: number;
  30120. /**
  30121. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  30122. * points. If `center` alignment is not possible, it defaults to `right`.
  30123. */
  30124. position?: AlignValue;
  30125. /**
  30126. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  30127. * that due to a more complex structure, backgrounds, borders and padding
  30128. * will be lost on a rotated data label.
  30129. */
  30130. rotation?: number;
  30131. /**
  30132. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  30133. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  30134. * an object configuration containing `color`, `offsetX`, `offsetY`,
  30135. * `opacity` and `width`.
  30136. */
  30137. shadow?: (boolean|ShadowOptionsObject);
  30138. /**
  30139. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  30140. * the border around the label. Symbols are predefined functions on the
  30141. * Renderer object.
  30142. */
  30143. shape?: string;
  30144. /**
  30145. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  30146. * default `color` setting is `"contrast"`, which is a pseudo color that
  30147. * Highcharts picks up and applies the maximum contrast to the underlying
  30148. * point item, for example the bar in a bar chart.
  30149. *
  30150. * The `textOutline` is a pseudo property that applies an outline of the
  30151. * given width with the given color, which by default is the maximum
  30152. * contrast to the text. So a bright text color will result in a black text
  30153. * outline for maximum readability on a mixed background. In some cases,
  30154. * especially with grayscale text, the text outline doesn't work well, in
  30155. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  30156. * is true, the `textOutline` will not be picked up. In this, case, the same
  30157. * effect can be acheived through the `text-shadow` CSS property.
  30158. *
  30159. * For some series types, where each point has an extent, like for example
  30160. * tree maps, the data label may overflow the point. There are two
  30161. * strategies for handling overflow. By default, the text will wrap to
  30162. * multiple lines. The other strategy is to set `style.textOverflow` to
  30163. * `ellipsis`, which will keep the text on one line plus it will break
  30164. * inside long words.
  30165. */
  30166. style?: CSSObject;
  30167. /**
  30168. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  30169. * should follow marker's shape. Border and background are disabled for a
  30170. * label that follows a path.
  30171. *
  30172. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  30173. * to true will disable this option.
  30174. */
  30175. textPath?: DataLabelsTextPathOptionsObject;
  30176. /**
  30177. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  30178. * the labels.
  30179. */
  30180. useHTML?: boolean;
  30181. /**
  30182. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  30183. * label. Can be one of `top`, `middle` or `bottom`. The default value
  30184. * depends on the data, for instance in a column chart, the label is above
  30185. * positive values and below negative values.
  30186. */
  30187. verticalAlign?: string;
  30188. /**
  30189. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  30190. * label relative to the point in pixels.
  30191. */
  30192. x?: number;
  30193. /**
  30194. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  30195. * label relative to the point in pixels.
  30196. */
  30197. y?: number;
  30198. /**
  30199. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  30200. * The default Z index puts it above the series. Use a Z index of 2 to
  30201. * display it behind the series.
  30202. */
  30203. z?: number;
  30204. }
  30205. /**
  30206. * (Highcharts) Style options for the guide box. The guide box has one state by
  30207. * default, the `default` state.
  30208. */
  30209. export interface PlotBulletDragDropGuideBoxOptions {
  30210. /**
  30211. * (Highcharts) Style options for the guide box default state.
  30212. */
  30213. default?: DragDropGuideBoxOptionsObject;
  30214. }
  30215. /**
  30216. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet graph
  30217. * features a single measure, compares it to a target, and displays it in the
  30218. * context of qualitative ranges of performance that could be set using
  30219. * plotBands on yAxis.
  30220. *
  30221. * In TypeScript the type option must always be set.
  30222. *
  30223. * Configuration options for the series are given in three levels:
  30224. *
  30225. * 1. Options for all series in a chart are defined in the plotOptions.series
  30226. * object.
  30227. *
  30228. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  30229. *
  30230. * 3. Options for one single series are given in the series instance array. (see
  30231. * online documentation for example)
  30232. */
  30233. export interface PlotBulletOptions {
  30234. /**
  30235. * (Highcharts) Accessibility options for a series.
  30236. */
  30237. accessibility?: SeriesAccessibilityOptionsObject;
  30238. /**
  30239. * (Highcharts) Allow this series' points to be selected by clicking on the
  30240. * graphic (columns, point markers, pie slices, map areas etc).
  30241. *
  30242. * The selected points can be handled by point select and unselect events,
  30243. * or collectively by the getSelectedPoints function.
  30244. *
  30245. * And alternative way of selecting points is through dragging.
  30246. */
  30247. allowPointSelect?: boolean;
  30248. /**
  30249. * (Highcharts) Enable or disable the initial animation when a series is
  30250. * displayed. The animation can also be set as a configuration object.
  30251. * Please note that this option only applies to the initial animation of the
  30252. * series itself. For other animations, see chart.animation and the
  30253. * animation parameter under the API methods. The following properties are
  30254. * supported:
  30255. *
  30256. * - `defer`: The animation delay time in milliseconds.
  30257. *
  30258. * - `duration`: The duration of the animation in milliseconds.
  30259. *
  30260. * - `easing`: Can be a string reference to an easing function set on the
  30261. * `Math` object or a function. See the _Custom easing function_ demo below.
  30262. *
  30263. * Due to poor performance, animation is disabled in old IE browsers for
  30264. * several chart types.
  30265. */
  30266. animation?: (boolean|PlotBulletAnimationOptions|Partial<AnimationOptionsObject>);
  30267. /**
  30268. * (Highcharts) For some series, there is a limit that shuts down initial
  30269. * animation by default when the total number of points in the chart is too
  30270. * high. For example, for a column chart and its derivatives, animation does
  30271. * not run if there is more than 250 points totally. To disable this cap,
  30272. * set `animationLimit` to `Infinity`.
  30273. */
  30274. animationLimit?: number;
  30275. /**
  30276. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  30277. * column or bar.
  30278. *
  30279. * In styled mode, the border stroke can be set with the `.highcharts-point`
  30280. * rule.
  30281. */
  30282. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30283. /**
  30284. * (Highcharts, Highstock, Gantt) The corner radius of the border
  30285. * surrounding each column or bar.
  30286. */
  30287. borderRadius?: number;
  30288. /**
  30289. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  30290. * column or bar. Defaults to `1` when there is room for a border, but to
  30291. * `0` when the columns are so dense that a border would cover the next
  30292. * column.
  30293. *
  30294. * In styled mode, the stroke width can be set with the `.highcharts-point`
  30295. * rule.
  30296. */
  30297. borderWidth?: number;
  30298. /**
  30299. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  30300. * the category, ignoring null or missing points. When `false`, space will
  30301. * be reserved for null or missing points.
  30302. */
  30303. centerInCategory?: boolean;
  30304. /**
  30305. * (Highcharts) An additional class name to apply to the series' graphical
  30306. * elements. This option does not replace default class names of the
  30307. * graphical element.
  30308. */
  30309. className?: string;
  30310. /**
  30311. * (Highcharts) Disable this option to allow series rendering in the whole
  30312. * plotting area.
  30313. *
  30314. * **Note:** Clipping should be always enabled when chart.zoomType is set
  30315. */
  30316. clip?: boolean;
  30317. /**
  30318. * (Highcharts) The main color of the series. In line type series it applies
  30319. * to the line and the point markers unless otherwise specified. In bar type
  30320. * series it applies to the bars unless a color is specified per point. The
  30321. * default value is pulled from the `options.colors` array.
  30322. *
  30323. * In styled mode, the color can be defined by the colorIndex option. Also,
  30324. * the series color can be set with the `.highcharts-series`,
  30325. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  30326. * `.highcharts-series-{n}` class, or individual classes given by the
  30327. * `className` option.
  30328. */
  30329. color?: (ColorString|GradientColorObject|PatternObject);
  30330. /**
  30331. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  30332. * from the global colors or series-specific plotOptions.column.colors
  30333. * collections, this option determines whether the chart should receive one
  30334. * color per series or one color per point.
  30335. *
  30336. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  30337. * and instead this option gives the points individual color class names on
  30338. * the form `highcharts-color-{n}`.
  30339. */
  30340. colorByPoint?: boolean;
  30341. /**
  30342. * (Highcharts) Styled mode only. A specific color index to use for the
  30343. * series, so its graphic representations are given the class name
  30344. * `highcharts-color-{n}`.
  30345. */
  30346. colorIndex?: number;
  30347. /**
  30348. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  30349. * used to calculate point color if `colorAxis` is used. Requires to set
  30350. * `min` and `max` if some custom point property is used or if approximation
  30351. * for data grouping is set to `'sum'`.
  30352. */
  30353. colorKey?: string;
  30354. /**
  30355. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  30356. * color set to apply instead of the global colors when colorByPoint is
  30357. * true.
  30358. */
  30359. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  30360. /**
  30361. * (Highstock) Defines if comparison should start from the first point
  30362. * within the visible range or should start from the first point **before**
  30363. * the range.
  30364. *
  30365. * In other words, this flag determines if first point within the visible
  30366. * range will have 0% (`compareStart=true`) or should have been already
  30367. * calculated according to the previous point (`compareStart=false`).
  30368. */
  30369. compareStart?: boolean;
  30370. /**
  30371. * (Gantt) Override Pathfinder connector options for a series. Requires
  30372. * Highcharts Gantt to be loaded.
  30373. */
  30374. connectors?: SeriesConnectorsOptionsObject;
  30375. /**
  30376. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  30377. * rounded to its nearest pixel in order to render sharp on screen. In some
  30378. * cases, when there are a lot of densely packed columns, this leads to
  30379. * visible difference in column widths or distance between columns. In these
  30380. * cases, setting `crisp` to `false` may look better, even though each
  30381. * column is rendered blurry.
  30382. */
  30383. crisp?: boolean;
  30384. /**
  30385. * (Highcharts, Highstock, Gantt) When the series contains less points than
  30386. * the crop threshold, all points are drawn, event if the points fall
  30387. * outside the visible plot area at the current zoom. The advantage of
  30388. * drawing all points (including markers and columns), is that animation is
  30389. * performed on updates. On the other hand, when the series contains more
  30390. * points than the crop threshold, the series data is cropped to only
  30391. * contain points that fall within the plot area. The advantage of cropping
  30392. * away invisible points is to increase performance on large series.
  30393. */
  30394. cropThreshold?: number;
  30395. /**
  30396. * (Highcharts) You can set the cursor to "pointer" if you have click events
  30397. * attached to the series, to signal to the user that the points and lines
  30398. * can be clicked.
  30399. *
  30400. * In styled mode, the series cursor can be set with the same classes as
  30401. * listed under series.color.
  30402. */
  30403. cursor?: (string|CursorValue);
  30404. /**
  30405. * (Highcharts) A reserved subspace to store options and values for
  30406. * customized functionality. Here you can add additional data for your own
  30407. * event callbacks and formatter callbacks.
  30408. */
  30409. custom?: Dictionary<any>;
  30410. /**
  30411. * (Highcharts) Name of the dash style to use for the graph, or for some
  30412. * series types the outline of each shape.
  30413. *
  30414. * In styled mode, the stroke dash-array can be set with the same classes as
  30415. * listed under series.color.
  30416. */
  30417. dashStyle?: DashStyleValue;
  30418. /**
  30419. * (Highstock) Data grouping is the concept of sampling the data values into
  30420. * larger blocks in order to ease readability and increase performance of
  30421. * the JavaScript charts. Highcharts Stock by default applies data grouping
  30422. * when the points become closer than a certain pixel value, determined by
  30423. * the `groupPixelWidth` option.
  30424. *
  30425. * If data grouping is applied, the grouping information of grouped points
  30426. * can be read from the Point.dataGroup. If point options other than the
  30427. * data itself are set, for example `name` or `color` or custom properties,
  30428. * the grouping logic doesn't know how to group it. In this case the options
  30429. * of the first point instance are copied over to the group point. This can
  30430. * be altered through a custom `approximation` callback function.
  30431. */
  30432. dataGrouping?: DataGroupingOptionsObject;
  30433. /**
  30434. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  30435. * labels, appearing next to each data point.
  30436. *
  30437. * Since v6.2.0, multiple data labels can be applied to each single point by
  30438. * defining them as an array of configs.
  30439. *
  30440. * In styled mode, the data labels can be styled with the
  30441. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  30442. * (see example).
  30443. */
  30444. dataLabels?: (PlotBulletDataLabelsOptions|Array<PlotBulletDataLabelsOptions>);
  30445. /**
  30446. * (Highcharts) Depth of the columns in a 3D column chart.
  30447. */
  30448. depth?: number;
  30449. /**
  30450. * (Highcharts) A description of the series to add to the screen reader
  30451. * information about the series.
  30452. */
  30453. description?: string;
  30454. /**
  30455. * (Highcharts) The draggable-points module allows points to be moved around
  30456. * or modified in the chart. In addition to the options mentioned under the
  30457. * `dragDrop` API structure, the module fires three events, point.dragStart,
  30458. * point.drag and point.drop.
  30459. */
  30460. dragDrop?: SeriesDragDropOptionsObject;
  30461. /**
  30462. * (Highcharts) 3D columns only. The color of the edges. Similar to
  30463. * `borderColor`, except it defaults to the same color as the column.
  30464. */
  30465. edgeColor?: ColorString;
  30466. /**
  30467. * (Highcharts) 3D columns only. The width of the colored edges.
  30468. */
  30469. edgeWidth?: number;
  30470. /**
  30471. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  30472. * This includes point tooltips and click events on graphs and points. For
  30473. * large datasets it improves performance.
  30474. */
  30475. enableMouseTracking?: boolean;
  30476. /**
  30477. * (Highcharts) General event handlers for the series items. These event
  30478. * hooks can also be attached to the series at run time using the
  30479. * `Highcharts.addEvent` function.
  30480. */
  30481. events?: SeriesEventsOptionsObject;
  30482. /**
  30483. * (Highcharts) Determines whether the series should look for the nearest
  30484. * point in both dimensions or just the x-dimension when hovering the
  30485. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  30486. * series. If the data has duplicate x-values, it is recommended to set this
  30487. * to `'xy'` to allow hovering over all points.
  30488. *
  30489. * Applies only to series types using nearest neighbor search (not direct
  30490. * hover) for tooltip.
  30491. */
  30492. findNearestPointBy?: OptionsFindNearestPointByValue;
  30493. /**
  30494. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  30495. * chart width or only the zoomed area when zooming in on parts of the X
  30496. * axis. By default, the Y axis adjusts to the min and max of the visible
  30497. * data. Cartesian series only.
  30498. */
  30499. getExtremesFromAll?: boolean;
  30500. /**
  30501. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  30502. * let them render independent of each other. Non-grouped columns will be
  30503. * laid out individually and overlap each other.
  30504. */
  30505. grouping?: boolean;
  30506. /**
  30507. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  30508. * axis units.
  30509. */
  30510. groupPadding?: number;
  30511. /**
  30512. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  30513. */
  30514. groupZPadding?: number;
  30515. /**
  30516. * (Highcharts) When set to `false` will prevent the series data from being
  30517. * included in any form of data export.
  30518. *
  30519. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  30520. * `includeInCSVExport`.
  30521. */
  30522. includeInDataExport?: boolean;
  30523. /**
  30524. * (Highmaps) What property to join the `mapData` to the value data. For
  30525. * example, if joinBy is "code", the mapData items with a specific code is
  30526. * merged into the data with the same code. For maps loaded from GeoJSON,
  30527. * the keys may be held in each point's `properties` object.
  30528. *
  30529. * The joinBy option can also be an array of two values, where the first
  30530. * points to a key in the `mapData`, and the second points to another key in
  30531. * the `data`.
  30532. *
  30533. * When joinBy is `null`, the map items are joined by their position in the
  30534. * array, which performs much better in maps with many data points. This is
  30535. * the recommended option if you are printing more than a thousand data
  30536. * points and have a backend that can preprocess the data into a parallel
  30537. * array of the mapData.
  30538. */
  30539. joinBy?: (string|Array<string>);
  30540. /**
  30541. * (Highcharts) An array specifying which option maps to which key in the
  30542. * data point array. This makes it convenient to work with unstructured data
  30543. * arrays from different sources.
  30544. */
  30545. keys?: Array<string>;
  30546. /**
  30547. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  30548. * series as possible in a natural way, seeking to avoid other series. The
  30549. * goal of this feature is to make the chart more easily readable, like if a
  30550. * human designer placed the labels in the optimal position.
  30551. *
  30552. * The series labels currently work with series types having a `graph` or an
  30553. * `area`.
  30554. */
  30555. label?: SeriesLabelOptionsObject;
  30556. /**
  30557. * (Highstock) The line marks the last price from all points.
  30558. */
  30559. lastPrice?: SeriesLastPriceOptionsObject;
  30560. /**
  30561. * (Highstock) The line marks the last price from visible range of points.
  30562. */
  30563. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  30564. /**
  30565. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  30566. * Additionally, the value can be ":previous" to link to the previous
  30567. * series. When two series are linked, only the first one appears in the
  30568. * legend. Toggling the visibility of this also toggles the linked series.
  30569. *
  30570. * If master series uses data sorting and linked series does not have its
  30571. * own sorting definition, the linked series will be sorted in the same
  30572. * order as the master one.
  30573. */
  30574. linkedTo?: string;
  30575. /**
  30576. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  30577. * column, translated to the height of a bar in a bar chart. This prevents
  30578. * the columns from becoming too wide when there is a small number of points
  30579. * in the chart.
  30580. */
  30581. maxPointWidth?: number;
  30582. /**
  30583. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  30584. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  30585. * to zero) point, set the minimal point length to a pixel value like 3\. In
  30586. * stacked column charts, minPointLength might not be respected for tightly
  30587. * packed values.
  30588. */
  30589. minPointLength?: number;
  30590. /**
  30591. * (Highstock) Options for the corresponding navigator series if
  30592. * `showInNavigator` is `true` for this series. Available options are the
  30593. * same as any series, documented at plotOptions and series.
  30594. *
  30595. * These options are merged with options in navigator.series, and will take
  30596. * precedence if the same option is defined both places.
  30597. */
  30598. navigatorOptions?: PlotSeriesOptions;
  30599. /**
  30600. * (Highcharts) The color for the parts of the graph or points that are
  30601. * below the threshold. Note that `zones` takes precedence over the negative
  30602. * color. Using `negativeColor` is equivalent to applying a zone with value
  30603. * of 0.
  30604. */
  30605. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  30606. /**
  30607. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  30608. * dataLabels.
  30609. */
  30610. opacity?: number;
  30611. /**
  30612. * (Highcharts) Properties for each single point.
  30613. */
  30614. point?: PlotSeriesPointOptions;
  30615. /**
  30616. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  30617. * an individual series. Overrides the chart wide configuration.
  30618. */
  30619. pointDescriptionFormatter?: Function;
  30620. /**
  30621. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30622. * a series, `pointInterval` defines the interval of the x values. For
  30623. * example, if a series contains one value every decade starting from year
  30624. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  30625. * `pointInterval` is set in milliseconds.
  30626. *
  30627. * It can be also be combined with `pointIntervalUnit` to draw irregular
  30628. * time intervals.
  30629. *
  30630. * Please note that this options applies to the _series data_, not the
  30631. * interval of the axis ticks, which is independent.
  30632. */
  30633. pointInterval?: number;
  30634. /**
  30635. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  30636. * setting the pointInterval to irregular time units, `day`, `month` and
  30637. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  30638. * also takes the DST crossover into consideration when dealing with local
  30639. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  30640. * months, 10 years etc.
  30641. *
  30642. * Please note that this options applies to the _series data_, not the
  30643. * interval of the axis ticks, which is independent.
  30644. */
  30645. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  30646. /**
  30647. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  30648. * axis units.
  30649. */
  30650. pointPadding?: number;
  30651. /**
  30652. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  30653. * `number`.
  30654. *
  30655. * In a column chart, when pointPlacement is `"on"`, the point will not
  30656. * create any padding of the X axis. In a polar column chart this means that
  30657. * the first column points directly north. If the pointPlacement is
  30658. * `"between"`, the columns will be laid out between ticks. This is useful
  30659. * for example for visualising an amount between two points in time or in a
  30660. * certain sector of a polar chart.
  30661. *
  30662. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  30663. * is on the axis value, -0.5 is between this value and the previous, and
  30664. * 0.5 is between this value and the next. Unlike the textual options,
  30665. * numeric point placement options won't affect axis padding.
  30666. *
  30667. * Note that pointPlacement needs a pointRange to work. For column series
  30668. * this is computed, but for line-type series it needs to be set.
  30669. *
  30670. * For the `xrange` series type and gantt charts, if the Y axis is a
  30671. * category axis, the `pointPlacement` applies to the Y axis rather than the
  30672. * (typically datetime) X axis.
  30673. *
  30674. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  30675. */
  30676. pointPlacement?: (number|string);
  30677. /**
  30678. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  30679. * for. This determines the width of the column. On a categorized axis, the
  30680. * range will be 1 by default (one category unit). On linear and datetime
  30681. * axes, the range will be computed as the distance between the two closest
  30682. * data points.
  30683. *
  30684. * The default `null` means it is computed automatically, but this option
  30685. * can be used to override the automatic value.
  30686. *
  30687. * This option is set by default to 1 if data sorting is enabled.
  30688. */
  30689. pointRange?: (number|null);
  30690. /**
  30691. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  30692. * a series, pointStart defines on what value to start. For example, if a
  30693. * series contains one yearly value starting from 1945, set pointStart to
  30694. * 1945.
  30695. */
  30696. pointStart?: number;
  30697. /**
  30698. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  30699. * each column or bar point. When set to `undefined`, the width is
  30700. * calculated from the `pointPadding` and `groupPadding`. The width effects
  30701. * the dimension that is not based on the point value. For column series it
  30702. * is the hoizontal length and for bar series it is the vertical length.
  30703. */
  30704. pointWidth?: number;
  30705. /**
  30706. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  30707. * true, the checkbox next to the series name in the legend will be checked
  30708. * for a selected series.
  30709. */
  30710. selected?: boolean;
  30711. /**
  30712. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  30713. * the shadow can be an object configuration containing `color`, `offsetX`,
  30714. * `offsetY`, `opacity` and `width`.
  30715. */
  30716. shadow?: (boolean|ShadowOptionsObject);
  30717. /**
  30718. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  30719. * allow selecting the series. The state of the checkbox is determined by
  30720. * the `selected` option.
  30721. */
  30722. showCheckbox?: boolean;
  30723. /**
  30724. * (Highcharts) Whether to display this particular series or series type in
  30725. * the legend. Standalone series are shown in legend by default, and linked
  30726. * series are not. Since v7.2.0 it is possible to show series that use
  30727. * colorAxis by setting this option to `true`.
  30728. */
  30729. showInLegend?: boolean;
  30730. /**
  30731. * (Highstock) Whether or not to show the series in the navigator. Takes
  30732. * precedence over navigator.baseSeries if defined.
  30733. */
  30734. showInNavigator?: boolean;
  30735. /**
  30736. * (Highcharts) If set to `true`, the accessibility module will skip past
  30737. * the points in this series for keyboard navigation.
  30738. */
  30739. skipKeyboardNavigation?: boolean;
  30740. /**
  30741. * (Highcharts, Highstock) When this is true, the series will not cause the
  30742. * Y axis to cross the zero plane (or threshold option) unless the data
  30743. * actually crosses the plane.
  30744. *
  30745. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  30746. * make the Y axis show negative values according to the `minPadding`
  30747. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  30748. */
  30749. softThreshold?: boolean;
  30750. /**
  30751. * (Highcharts, Highstock) Whether to stack the values of each series on top
  30752. * of each other. Possible values are `undefined` to disable, `"normal"` to
  30753. * stack by value or `"percent"`.
  30754. *
  30755. * When stacking is enabled, data must be sorted in ascending X order.
  30756. *
  30757. * Some stacking options are related to specific series types. In the
  30758. * streamgraph series type, the stacking option is set to `"stream"`. The
  30759. * second one is `"overlap"`, which only applies to waterfall series.
  30760. */
  30761. stacking?: OptionsStackingValue;
  30762. states?: SeriesStatesOptionsObject;
  30763. /**
  30764. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  30765. * event on a series isn't triggered until the mouse moves over another
  30766. * series, or out of the plot area. When false, the `mouseOut` event on a
  30767. * series is triggered when the mouse leaves the area around the series'
  30768. * graph or markers. This also implies the tooltip when not shared. When
  30769. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  30770. * be hidden when moving the mouse between series. Defaults to true for line
  30771. * and area type series, but to false for columns, pies etc.
  30772. *
  30773. * **Note:** The boost module will force this option because of technical
  30774. * limitations.
  30775. */
  30776. stickyTracking?: boolean;
  30777. /**
  30778. * (Highcharts) All options related with look and positiong of targets.
  30779. */
  30780. targetOptions?: PlotBulletTargetOptions;
  30781. /**
  30782. * (Highcharts) The Y axis value to serve as the base for the columns, for
  30783. * distinguishing between values above and below a threshold. If `null`, the
  30784. * columns extend from the padding Y axis minimum.
  30785. */
  30786. threshold?: (number|null);
  30787. /**
  30788. * (Highcharts) A configuration object for the tooltip rendering of each
  30789. * single series. Properties are inherited from tooltip, but only the
  30790. * following properties can be defined on a series level.
  30791. */
  30792. tooltip?: SeriesTooltipOptionsObject;
  30793. /**
  30794. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  30795. * is longer than this, only one dimensional arrays of numbers, or two
  30796. * dimensional arrays with x and y values are allowed. Also, only the first
  30797. * point is tested, and the rest are assumed to be the same format. This
  30798. * saves expensive data checking and indexing in long series. Set it to `0`
  30799. * disable.
  30800. *
  30801. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  30802. * two dimensional arrays are allowed.
  30803. */
  30804. turboThreshold?: number;
  30805. /**
  30806. * (Highcharts) Set the initial visibility of the series.
  30807. */
  30808. visible?: boolean;
  30809. /**
  30810. * (Highmaps) Define the z index of the series.
  30811. */
  30812. zIndex?: number;
  30813. /**
  30814. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  30815. */
  30816. zoneAxis?: string;
  30817. /**
  30818. * (Highcharts, Highstock) An array defining zones within a series. Zones
  30819. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  30820. * the `zoneAxis` option. The zone definitions have to be in ascending order
  30821. * regarding to the value.
  30822. *
  30823. * In styled mode, the color zones are styled with the
  30824. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  30825. * option (view live demo).
  30826. */
  30827. zones?: Array<SeriesZonesOptionsObject>;
  30828. }
  30829. /**
  30830. * (Highcharts) All options related with look and positiong of targets.
  30831. */
  30832. export interface PlotBulletTargetOptions {
  30833. /**
  30834. * (Highcharts) The border color of the rectangle representing the target.
  30835. * When not set, the point's border color is used.
  30836. *
  30837. * In styled mode, use class `highcharts-bullet-target` instead.
  30838. */
  30839. borderColor?: ColorString;
  30840. /**
  30841. * (Highcharts) The border radius of the rectangle representing the target.
  30842. */
  30843. borderRadius?: number;
  30844. /**
  30845. * (Highcharts) The border width of the rectangle representing the target.
  30846. *
  30847. * In styled mode, use class `highcharts-bullet-target` instead.
  30848. */
  30849. borderWidth?: number;
  30850. /**
  30851. * (Highcharts) The color of the rectangle representing the target. When not
  30852. * set, point's color (if set in point's options - `color`) or zone of the
  30853. * target value (if `zones` or `negativeColor` are set) or the same color as
  30854. * the point has is used.
  30855. *
  30856. * In styled mode, use class `highcharts-bullet-target` instead.
  30857. */
  30858. color?: (ColorString|GradientColorObject|PatternObject);
  30859. /**
  30860. * (Highcharts) The height of the rectangle representing the target.
  30861. */
  30862. height?: number;
  30863. /**
  30864. * (Highcharts) The width of the rectangle representing the target. Could be
  30865. * set as a pixel value or as a percentage of a column width.
  30866. */
  30867. width?: (number|string);
  30868. }
  30869. /**
  30870. * (Highstock) Enable or disable the initial animation when a series is
  30871. * displayed. The animation can also be set as a configuration object. Please
  30872. * note that this option only applies to the initial animation of the series
  30873. * itself. For other animations, see chart.animation and the animation parameter
  30874. * under the API methods. The following properties are supported:
  30875. *
  30876. * - `defer`: The animation delay time in milliseconds.
  30877. *
  30878. * - `duration`: The duration of the animation in milliseconds.
  30879. *
  30880. * - `easing`: Can be a string reference to an easing function set on the `Math`
  30881. * object or a function. See the _Custom easing function_ demo below.
  30882. *
  30883. * Due to poor performance, animation is disabled in old IE browsers for several
  30884. * chart types.
  30885. */
  30886. export interface PlotCandlestickAnimationOptions {
  30887. defer?: number;
  30888. }
  30889. /**
  30890. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30891. * animation when a series is displayed for the `dataLabels`. The animation can
  30892. * also be set as a configuration object. Please note that this option only
  30893. * applies to the initial animation. For other animations, see chart.animation
  30894. * and the animation parameter under the API methods. The following properties
  30895. * are supported:
  30896. *
  30897. * - `defer`: The animation delay time in milliseconds.
  30898. */
  30899. export interface PlotCandlestickDataLabelsAnimationOptions {
  30900. /**
  30901. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  30902. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  30903. * inherits defer time from the series.animation.defer.
  30904. */
  30905. defer?: number;
  30906. }
  30907. /**
  30908. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  30909. * appearing next to each data point.
  30910. *
  30911. * Since v6.2.0, multiple data labels can be applied to each single point by
  30912. * defining them as an array of configs.
  30913. *
  30914. * In styled mode, the data labels can be styled with the
  30915. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  30916. * example).
  30917. */
  30918. export interface PlotCandlestickDataLabelsOptions {
  30919. /**
  30920. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  30921. * compared to the point. If `right`, the right side of the label should be
  30922. * touching the point. For points with an extent, like columns, the
  30923. * alignments also dictates how to align it inside the box, as given with
  30924. * the inside option. Can be one of `left`, `center` or `right`.
  30925. */
  30926. align?: string;
  30927. /**
  30928. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  30929. * overlap. To make the labels less sensitive for overlapping, the
  30930. * dataLabels.padding can be set to 0.
  30931. */
  30932. allowOverlap?: boolean;
  30933. /**
  30934. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  30935. * animation when a series is displayed for the `dataLabels`. The animation
  30936. * can also be set as a configuration object. Please note that this option
  30937. * only applies to the initial animation. For other animations, see
  30938. * chart.animation and the animation parameter under the API methods. The
  30939. * following properties are supported:
  30940. *
  30941. * - `defer`: The animation delay time in milliseconds.
  30942. */
  30943. animation?: (boolean|PlotCandlestickDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  30944. /**
  30945. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  30946. * for the data label.
  30947. */
  30948. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  30949. /**
  30950. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  30951. * label. Defaults to `undefined`.
  30952. */
  30953. borderColor?: (ColorString|GradientColorObject|PatternObject);
  30954. /**
  30955. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  30956. * the data label.
  30957. */
  30958. borderRadius?: number;
  30959. /**
  30960. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  30961. * the data label.
  30962. */
  30963. borderWidth?: number;
  30964. /**
  30965. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  30966. * Particularly in styled mode, this can be used to give each series' or
  30967. * point's data label unique styling. In addition to this option, a default
  30968. * color class name is added so that we can give the labels a contrast text
  30969. * shadow.
  30970. */
  30971. className?: string;
  30972. /**
  30973. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  30974. * labels. Defaults to `undefined`. For certain series types, like column or
  30975. * map, the data labels can be drawn inside the points. In this case the
  30976. * data label will be drawn with maximum contrast by default. Additionally,
  30977. * it will be given a `text-outline` style with the opposite color, to
  30978. * further increase the contrast. This can be overridden by setting the
  30979. * `text-outline` style to `none` in the `dataLabels.style` option.
  30980. */
  30981. color?: (ColorString|GradientColorObject|PatternObject);
  30982. /**
  30983. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  30984. * are outside the plot area. By default, the data label is moved inside the
  30985. * plot area according to the overflow option.
  30986. */
  30987. crop?: boolean;
  30988. /**
  30989. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  30990. * labels until the initial series animation has finished. Setting to
  30991. * `false` renders the data label immediately. If set to `true` inherits the
  30992. * defer time set in plotOptions.series.animation. If set to a number, a
  30993. * defer time is specified in milliseconds.
  30994. */
  30995. defer?: (boolean|number);
  30996. /**
  30997. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  30998. * labels.
  30999. */
  31000. enabled?: boolean;
  31001. /**
  31002. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  31003. * of which data labels to display. The declarative filter is designed for
  31004. * use when callback functions are not available, like when the chart
  31005. * options require a pure JSON structure or for use with graphical editors.
  31006. * For programmatic control, use the `formatter` instead, and return
  31007. * `undefined` to disable a single data label.
  31008. */
  31009. filter?: DataLabelsFilterOptionsObject;
  31010. /**
  31011. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  31012. * label. Available variables are the same as for `formatter`.
  31013. */
  31014. format?: string;
  31015. /**
  31016. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  31017. * format the data label. Note that if a `format` is defined, the format
  31018. * takes precedence and the formatter is ignored.
  31019. */
  31020. formatter?: DataLabelsFormatterCallbackFunction;
  31021. /**
  31022. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  31023. * columns or map areas, whether to align the data label inside the box or
  31024. * to the actual value point. Defaults to `false` in most cases, `true` in
  31025. * stacked columns.
  31026. */
  31027. inside?: boolean;
  31028. /**
  31029. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  31030. * of null. Works analogously to format. `nullFormat` can be applied only to
  31031. * series which support displaying null points.
  31032. */
  31033. nullFormat?: (boolean|string);
  31034. /**
  31035. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  31036. * that defines formatting for points with the value of null. Works
  31037. * analogously to formatter. `nullPointFormatter` can be applied only to
  31038. * series which support displaying null points.
  31039. */
  31040. nullFormatter?: DataLabelsFormatterCallbackFunction;
  31041. /**
  31042. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  31043. * flow outside the plot area. The default is `"justify"`, which aligns them
  31044. * inside the plot area. For columns and bars, this means it will be moved
  31045. * inside the bar. To display data labels outside the plot area, set `crop`
  31046. * to `false` and `overflow` to `"allow"`.
  31047. */
  31048. overflow?: DataLabelsOverflowValue;
  31049. /**
  31050. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  31051. * the `backgroundColor` is set, this is the padding within the box.
  31052. */
  31053. padding?: number;
  31054. /**
  31055. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  31056. * points. If `center` alignment is not possible, it defaults to `right`.
  31057. */
  31058. position?: AlignValue;
  31059. /**
  31060. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  31061. * that due to a more complex structure, backgrounds, borders and padding
  31062. * will be lost on a rotated data label.
  31063. */
  31064. rotation?: number;
  31065. /**
  31066. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  31067. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  31068. * an object configuration containing `color`, `offsetX`, `offsetY`,
  31069. * `opacity` and `width`.
  31070. */
  31071. shadow?: (boolean|ShadowOptionsObject);
  31072. /**
  31073. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  31074. * the border around the label. Symbols are predefined functions on the
  31075. * Renderer object.
  31076. */
  31077. shape?: string;
  31078. /**
  31079. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  31080. * default `color` setting is `"contrast"`, which is a pseudo color that
  31081. * Highcharts picks up and applies the maximum contrast to the underlying
  31082. * point item, for example the bar in a bar chart.
  31083. *
  31084. * The `textOutline` is a pseudo property that applies an outline of the
  31085. * given width with the given color, which by default is the maximum
  31086. * contrast to the text. So a bright text color will result in a black text
  31087. * outline for maximum readability on a mixed background. In some cases,
  31088. * especially with grayscale text, the text outline doesn't work well, in
  31089. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  31090. * is true, the `textOutline` will not be picked up. In this, case, the same
  31091. * effect can be acheived through the `text-shadow` CSS property.
  31092. *
  31093. * For some series types, where each point has an extent, like for example
  31094. * tree maps, the data label may overflow the point. There are two
  31095. * strategies for handling overflow. By default, the text will wrap to
  31096. * multiple lines. The other strategy is to set `style.textOverflow` to
  31097. * `ellipsis`, which will keep the text on one line plus it will break
  31098. * inside long words.
  31099. */
  31100. style?: CSSObject;
  31101. /**
  31102. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  31103. * should follow marker's shape. Border and background are disabled for a
  31104. * label that follows a path.
  31105. *
  31106. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  31107. * to true will disable this option.
  31108. */
  31109. textPath?: DataLabelsTextPathOptionsObject;
  31110. /**
  31111. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  31112. * the labels.
  31113. */
  31114. useHTML?: boolean;
  31115. /**
  31116. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  31117. * label. Can be one of `top`, `middle` or `bottom`. The default value
  31118. * depends on the data, for instance in a column chart, the label is above
  31119. * positive values and below negative values.
  31120. */
  31121. verticalAlign?: string;
  31122. /**
  31123. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  31124. * label relative to the point in pixels.
  31125. */
  31126. x?: number;
  31127. /**
  31128. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  31129. * label relative to the point in pixels.
  31130. */
  31131. y?: number;
  31132. /**
  31133. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  31134. * The default Z index puts it above the series. Use a Z index of 2 to
  31135. * display it behind the series.
  31136. */
  31137. z?: number;
  31138. }
  31139. /**
  31140. * (Highcharts, Highstock) Options for the series data sorting.
  31141. */
  31142. export interface PlotCandlestickDataSortingOptions {
  31143. /**
  31144. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  31145. * Use xAxis.reversed to change the sorting order.
  31146. */
  31147. enabled?: boolean;
  31148. /**
  31149. * (Highcharts, Highstock) Whether to allow matching points by name in an
  31150. * update. If this option is disabled, points will be matched by order.
  31151. */
  31152. matchByName?: boolean;
  31153. /**
  31154. * (Highcharts, Highstock) Determines what data value should be used to sort
  31155. * by.
  31156. */
  31157. sortKey?: string;
  31158. }
  31159. /**
  31160. * (Highstock) Style options for the guide box. The guide box has one state by
  31161. * default, the `default` state.
  31162. */
  31163. export interface PlotCandlestickDragDropGuideBoxOptions {
  31164. /**
  31165. * (Highstock) Style options for the guide box default state.
  31166. */
  31167. default?: DragDropGuideBoxOptionsObject;
  31168. }
  31169. /**
  31170. * (Highstock) A candlestick chart is a style of financial chart used to
  31171. * describe price movements over time.
  31172. *
  31173. * In TypeScript the type option must always be set.
  31174. *
  31175. * Configuration options for the series are given in three levels:
  31176. *
  31177. * 1. Options for all series in a chart are defined in the plotOptions.series
  31178. * object.
  31179. *
  31180. * 2. Options for all `candlestick` series are defined in
  31181. * plotOptions.candlestick.
  31182. *
  31183. * 3. Options for one single series are given in the series instance array. (see
  31184. * online documentation for example)
  31185. */
  31186. export interface PlotCandlestickOptions {
  31187. /**
  31188. * (Highstock) Accessibility options for a series.
  31189. */
  31190. accessibility?: SeriesAccessibilityOptionsObject;
  31191. /**
  31192. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  31193. * rendered. If `true`, areas which don't correspond to a data point, are
  31194. * rendered as `null` points. If `false`, those areas are skipped.
  31195. */
  31196. allAreas?: boolean;
  31197. /**
  31198. * (Highstock) Allow this series' points to be selected by clicking on the
  31199. * graphic (columns, point markers, pie slices, map areas etc).
  31200. *
  31201. * The selected points can be handled by point select and unselect events,
  31202. * or collectively by the getSelectedPoints function.
  31203. *
  31204. * And alternative way of selecting points is through dragging.
  31205. */
  31206. allowPointSelect?: boolean;
  31207. /**
  31208. * (Highstock) Enable or disable the initial animation when a series is
  31209. * displayed. The animation can also be set as a configuration object.
  31210. * Please note that this option only applies to the initial animation of the
  31211. * series itself. For other animations, see chart.animation and the
  31212. * animation parameter under the API methods. The following properties are
  31213. * supported:
  31214. *
  31215. * - `defer`: The animation delay time in milliseconds.
  31216. *
  31217. * - `duration`: The duration of the animation in milliseconds.
  31218. *
  31219. * - `easing`: Can be a string reference to an easing function set on the
  31220. * `Math` object or a function. See the _Custom easing function_ demo below.
  31221. *
  31222. * Due to poor performance, animation is disabled in old IE browsers for
  31223. * several chart types.
  31224. */
  31225. animation?: (boolean|PlotCandlestickAnimationOptions|Partial<AnimationOptionsObject>);
  31226. /**
  31227. * (Highstock) For some series, there is a limit that shuts down initial
  31228. * animation by default when the total number of points in the chart is too
  31229. * high. For example, for a column chart and its derivatives, animation does
  31230. * not run if there is more than 250 points totally. To disable this cap,
  31231. * set `animationLimit` to `Infinity`.
  31232. */
  31233. animationLimit?: number;
  31234. /**
  31235. * (Highstock) Sets the color blending in the boost module.
  31236. */
  31237. boostBlending?: OptionsBoostBlendingValue;
  31238. /**
  31239. * (Highstock) Set the point threshold for when a series should enter boost
  31240. * mode.
  31241. *
  31242. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  31243. * there are 2000 or more points in the series.
  31244. *
  31245. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  31246. * it to 1 will force boosting.
  31247. *
  31248. * Note that the cropThreshold also affects this setting. When zooming in on
  31249. * a series that has fewer points than the `cropThreshold`, all points are
  31250. * rendered although outside the visible plot area, and the `boostThreshold`
  31251. * won't take effect.
  31252. */
  31253. boostThreshold?: number;
  31254. /**
  31255. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  31256. * the category, ignoring null or missing points. When `false`, space will
  31257. * be reserved for null or missing points.
  31258. */
  31259. centerInCategory?: boolean;
  31260. /**
  31261. * (Highstock) An additional class name to apply to the series' graphical
  31262. * elements. This option does not replace default class names of the
  31263. * graphical element.
  31264. */
  31265. className?: string;
  31266. /**
  31267. * (Highstock) Disable this option to allow series rendering in the whole
  31268. * plotting area.
  31269. *
  31270. * **Note:** Clipping should be always enabled when chart.zoomType is set
  31271. */
  31272. clip?: boolean;
  31273. /**
  31274. * (Highstock) The main color of the series. In line type series it applies
  31275. * to the line and the point markers unless otherwise specified. In bar type
  31276. * series it applies to the bars unless a color is specified per point. The
  31277. * default value is pulled from the `options.colors` array.
  31278. *
  31279. * In styled mode, the color can be defined by the colorIndex option. Also,
  31280. * the series color can be set with the `.highcharts-series`,
  31281. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  31282. * `.highcharts-series-{n}` class, or individual classes given by the
  31283. * `className` option.
  31284. */
  31285. color?: (ColorString|GradientColorObject|PatternObject);
  31286. /**
  31287. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  31288. * this number defines which colorAxis the particular series is connected
  31289. * to. It refers to either the axis id or the index of the axis in the
  31290. * colorAxis array, with 0 being the first. Set this option to false to
  31291. * prevent a series from connecting to the default color axis.
  31292. *
  31293. * Since v7.2.0 the option can also be an axis id or an axis index instead
  31294. * of a boolean flag.
  31295. */
  31296. colorAxis?: (boolean|number|string);
  31297. /**
  31298. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  31299. * from the global colors or series-specific plotOptions.column.colors
  31300. * collections, this option determines whether the chart should receive one
  31301. * color per series or one color per point.
  31302. *
  31303. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  31304. * and instead this option gives the points individual color class names on
  31305. * the form `highcharts-color-{n}`.
  31306. */
  31307. colorByPoint?: boolean;
  31308. /**
  31309. * (Highstock) Styled mode only. A specific color index to use for the
  31310. * series, so its graphic representations are given the class name
  31311. * `highcharts-color-{n}`.
  31312. */
  31313. colorIndex?: number;
  31314. /**
  31315. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  31316. * used to calculate point color if `colorAxis` is used. Requires to set
  31317. * `min` and `max` if some custom point property is used or if approximation
  31318. * for data grouping is set to `'sum'`.
  31319. */
  31320. colorKey?: string;
  31321. /**
  31322. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  31323. * color set to apply instead of the global colors when colorByPoint is
  31324. * true.
  31325. */
  31326. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  31327. /**
  31328. * (Highstock) Compare the values of the series against the first non-null,
  31329. * non- zero value in the visible range. The y axis will show percentage or
  31330. * absolute change depending on whether `compare` is set to `"percent"` or
  31331. * `"value"`. When this is applied to multiple series, it allows comparing
  31332. * the development of the series against each other. Adds a `change` field
  31333. * to every point object.
  31334. */
  31335. compare?: string;
  31336. /**
  31337. * (Highstock) When compare is `percent`, this option dictates whether to
  31338. * use 0 or 100 as the base of comparison.
  31339. */
  31340. compareBase?: (0|100);
  31341. /**
  31342. * (Highstock) Defines if comparison should start from the first point
  31343. * within the visible range or should start from the first point **before**
  31344. * the range.
  31345. *
  31346. * In other words, this flag determines if first point within the visible
  31347. * range will have 0% (`compareStart=true`) or should have been already
  31348. * calculated according to the previous point (`compareStart=false`).
  31349. */
  31350. compareStart?: boolean;
  31351. /**
  31352. * (Gantt) Override Pathfinder connector options for a series. Requires
  31353. * Highcharts Gantt to be loaded.
  31354. */
  31355. connectors?: SeriesConnectorsOptionsObject;
  31356. /**
  31357. * (Highcharts, Highstock, Gantt) When the series contains less points than
  31358. * the crop threshold, all points are drawn, event if the points fall
  31359. * outside the visible plot area at the current zoom. The advantage of
  31360. * drawing all points (including markers and columns), is that animation is
  31361. * performed on updates. On the other hand, when the series contains more
  31362. * points than the crop threshold, the series data is cropped to only
  31363. * contain points that fall within the plot area. The advantage of cropping
  31364. * away invisible points is to increase performance on large series.
  31365. */
  31366. cropThreshold?: number;
  31367. /**
  31368. * (Highstock) You can set the cursor to "pointer" if you have click events
  31369. * attached to the series, to signal to the user that the points and lines
  31370. * can be clicked.
  31371. *
  31372. * In styled mode, the series cursor can be set with the same classes as
  31373. * listed under series.color.
  31374. */
  31375. cursor?: (string|CursorValue);
  31376. /**
  31377. * (Highstock) A reserved subspace to store options and values for
  31378. * customized functionality. Here you can add additional data for your own
  31379. * event callbacks and formatter callbacks.
  31380. */
  31381. custom?: Dictionary<any>;
  31382. /**
  31383. * (Highstock) Name of the dash style to use for the graph, or for some
  31384. * series types the outline of each shape.
  31385. *
  31386. * In styled mode, the stroke dash-array can be set with the same classes as
  31387. * listed under series.color.
  31388. */
  31389. dashStyle?: DashStyleValue;
  31390. /**
  31391. * (Highstock) Data grouping is the concept of sampling the data values into
  31392. * larger blocks in order to ease readability and increase performance of
  31393. * the JavaScript charts. Highcharts Stock by default applies data grouping
  31394. * when the points become closer than a certain pixel value, determined by
  31395. * the `groupPixelWidth` option.
  31396. *
  31397. * If data grouping is applied, the grouping information of grouped points
  31398. * can be read from the Point.dataGroup. If point options other than the
  31399. * data itself are set, for example `name` or `color` or custom properties,
  31400. * the grouping logic doesn't know how to group it. In this case the options
  31401. * of the first point instance are copied over to the group point. This can
  31402. * be altered through a custom `approximation` callback function.
  31403. */
  31404. dataGrouping?: DataGroupingOptionsObject;
  31405. /**
  31406. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  31407. * labels, appearing next to each data point.
  31408. *
  31409. * Since v6.2.0, multiple data labels can be applied to each single point by
  31410. * defining them as an array of configs.
  31411. *
  31412. * In styled mode, the data labels can be styled with the
  31413. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  31414. * (see example).
  31415. */
  31416. dataLabels?: (PlotCandlestickDataLabelsOptions|Array<PlotCandlestickDataLabelsOptions>);
  31417. /**
  31418. * (Highcharts, Highstock) Options for the series data sorting.
  31419. */
  31420. dataSorting?: (DataSortingOptionsObject|PlotCandlestickDataSortingOptions);
  31421. /**
  31422. * (Highcharts) Depth of the columns in a 3D column chart.
  31423. */
  31424. depth?: number;
  31425. /**
  31426. * (Highstock) A description of the series to add to the screen reader
  31427. * information about the series.
  31428. */
  31429. description?: string;
  31430. /**
  31431. * (Highstock) The draggable-points module allows points to be moved around
  31432. * or modified in the chart. In addition to the options mentioned under the
  31433. * `dragDrop` API structure, the module fires three events, point.dragStart,
  31434. * point.drag and point.drop.
  31435. */
  31436. dragDrop?: SeriesDragDropOptionsObject;
  31437. /**
  31438. * (Highcharts) 3D columns only. The color of the edges. Similar to
  31439. * `borderColor`, except it defaults to the same color as the column.
  31440. */
  31441. edgeColor?: ColorString;
  31442. /**
  31443. * (Highcharts) 3D columns only. The width of the colored edges.
  31444. */
  31445. edgeWidth?: number;
  31446. /**
  31447. * (Highstock) Enable or disable the mouse tracking for a specific series.
  31448. * This includes point tooltips and click events on graphs and points. For
  31449. * large datasets it improves performance.
  31450. */
  31451. enableMouseTracking?: boolean;
  31452. /**
  31453. * (Highstock) General event handlers for the series items. These event
  31454. * hooks can also be attached to the series at run time using the
  31455. * `Highcharts.addEvent` function.
  31456. */
  31457. events?: SeriesEventsOptionsObject;
  31458. /**
  31459. * (Highstock) Determines whether the series should look for the nearest
  31460. * point in both dimensions or just the x-dimension when hovering the
  31461. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  31462. * series. If the data has duplicate x-values, it is recommended to set this
  31463. * to `'xy'` to allow hovering over all points.
  31464. *
  31465. * Applies only to series types using nearest neighbor search (not direct
  31466. * hover) for tooltip.
  31467. */
  31468. findNearestPointBy?: OptionsFindNearestPointByValue;
  31469. /**
  31470. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  31471. * chart width or only the zoomed area when zooming in on parts of the X
  31472. * axis. By default, the Y axis adjusts to the min and max of the visible
  31473. * data. Cartesian series only.
  31474. */
  31475. getExtremesFromAll?: boolean;
  31476. /**
  31477. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  31478. * let them render independent of each other. Non-grouped columns will be
  31479. * laid out individually and overlap each other.
  31480. */
  31481. grouping?: boolean;
  31482. /**
  31483. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  31484. * axis units.
  31485. */
  31486. groupPadding?: number;
  31487. /**
  31488. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  31489. */
  31490. groupZPadding?: number;
  31491. /**
  31492. * (Highstock) When set to `false` will prevent the series data from being
  31493. * included in any form of data export.
  31494. *
  31495. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  31496. * `includeInCSVExport`.
  31497. */
  31498. includeInDataExport?: boolean;
  31499. /**
  31500. * (Highmaps) What property to join the `mapData` to the value data. For
  31501. * example, if joinBy is "code", the mapData items with a specific code is
  31502. * merged into the data with the same code. For maps loaded from GeoJSON,
  31503. * the keys may be held in each point's `properties` object.
  31504. *
  31505. * The joinBy option can also be an array of two values, where the first
  31506. * points to a key in the `mapData`, and the second points to another key in
  31507. * the `data`.
  31508. *
  31509. * When joinBy is `null`, the map items are joined by their position in the
  31510. * array, which performs much better in maps with many data points. This is
  31511. * the recommended option if you are printing more than a thousand data
  31512. * points and have a backend that can preprocess the data into a parallel
  31513. * array of the mapData.
  31514. */
  31515. joinBy?: (string|Array<string>);
  31516. /**
  31517. * (Highstock) An array specifying which option maps to which key in the
  31518. * data point array. This makes it convenient to work with unstructured data
  31519. * arrays from different sources.
  31520. */
  31521. keys?: Array<string>;
  31522. /**
  31523. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  31524. * series as possible in a natural way, seeking to avoid other series. The
  31525. * goal of this feature is to make the chart more easily readable, like if a
  31526. * human designer placed the labels in the optimal position.
  31527. *
  31528. * The series labels currently work with series types having a `graph` or an
  31529. * `area`.
  31530. */
  31531. label?: SeriesLabelOptionsObject;
  31532. /**
  31533. * (Highstock) The line marks the last price from all points.
  31534. */
  31535. lastPrice?: SeriesLastPriceOptionsObject;
  31536. /**
  31537. * (Highstock) The line marks the last price from visible range of points.
  31538. */
  31539. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  31540. /**
  31541. * (Highstock) The color of the line/border of the candlestick.
  31542. *
  31543. * In styled mode, the line stroke can be set with the
  31544. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31545. */
  31546. lineColor?: (ColorString|GradientColorObject|PatternObject);
  31547. /**
  31548. * (Highstock) The pixel width of the candlestick line/border. Defaults to
  31549. * `1`.
  31550. *
  31551. * In styled mode, the line stroke width can be set with the
  31552. * `.highcharts-candlestick-series .highcahrts-point` rule.
  31553. */
  31554. lineWidth?: number;
  31555. /**
  31556. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  31557. * Additionally, the value can be ":previous" to link to the previous
  31558. * series. When two series are linked, only the first one appears in the
  31559. * legend. Toggling the visibility of this also toggles the linked series.
  31560. *
  31561. * If master series uses data sorting and linked series does not have its
  31562. * own sorting definition, the linked series will be sorted in the same
  31563. * order as the master one.
  31564. */
  31565. linkedTo?: string;
  31566. /**
  31567. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  31568. * column, translated to the height of a bar in a bar chart. This prevents
  31569. * the columns from becoming too wide when there is a small number of points
  31570. * in the chart.
  31571. */
  31572. maxPointWidth?: number;
  31573. /**
  31574. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  31575. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  31576. * to zero) point, set the minimal point length to a pixel value like 3\. In
  31577. * stacked column charts, minPointLength might not be respected for tightly
  31578. * packed values.
  31579. */
  31580. minPointLength?: number;
  31581. /**
  31582. * (Highstock) Options for the corresponding navigator series if
  31583. * `showInNavigator` is `true` for this series. Available options are the
  31584. * same as any series, documented at plotOptions and series.
  31585. *
  31586. * These options are merged with options in navigator.series, and will take
  31587. * precedence if the same option is defined both places.
  31588. */
  31589. navigatorOptions?: PlotSeriesOptions;
  31590. /**
  31591. * (Highstock) The color for the parts of the graph or points that are below
  31592. * the threshold. Note that `zones` takes precedence over the negative
  31593. * color. Using `negativeColor` is equivalent to applying a zone with value
  31594. * of 0.
  31595. */
  31596. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  31597. /**
  31598. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  31599. * dataLabels.
  31600. */
  31601. opacity?: number;
  31602. /**
  31603. * (Highstock) Properties for each single point.
  31604. */
  31605. point?: PlotSeriesPointOptions;
  31606. /**
  31607. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  31608. * individual series. Overrides the chart wide configuration.
  31609. */
  31610. pointDescriptionFormatter?: Function;
  31611. /**
  31612. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31613. * a series, `pointInterval` defines the interval of the x values. For
  31614. * example, if a series contains one value every decade starting from year
  31615. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  31616. * `pointInterval` is set in milliseconds.
  31617. *
  31618. * It can be also be combined with `pointIntervalUnit` to draw irregular
  31619. * time intervals.
  31620. *
  31621. * Please note that this options applies to the _series data_, not the
  31622. * interval of the axis ticks, which is independent.
  31623. */
  31624. pointInterval?: number;
  31625. /**
  31626. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  31627. * setting the pointInterval to irregular time units, `day`, `month` and
  31628. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  31629. * also takes the DST crossover into consideration when dealing with local
  31630. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  31631. * months, 10 years etc.
  31632. *
  31633. * Please note that this options applies to the _series data_, not the
  31634. * interval of the axis ticks, which is independent.
  31635. */
  31636. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  31637. /**
  31638. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  31639. * axis units.
  31640. */
  31641. pointPadding?: number;
  31642. /**
  31643. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  31644. * `number`.
  31645. *
  31646. * In a column chart, when pointPlacement is `"on"`, the point will not
  31647. * create any padding of the X axis. In a polar column chart this means that
  31648. * the first column points directly north. If the pointPlacement is
  31649. * `"between"`, the columns will be laid out between ticks. This is useful
  31650. * for example for visualising an amount between two points in time or in a
  31651. * certain sector of a polar chart.
  31652. *
  31653. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  31654. * is on the axis value, -0.5 is between this value and the previous, and
  31655. * 0.5 is between this value and the next. Unlike the textual options,
  31656. * numeric point placement options won't affect axis padding.
  31657. *
  31658. * Note that pointPlacement needs a pointRange to work. For column series
  31659. * this is computed, but for line-type series it needs to be set.
  31660. *
  31661. * For the `xrange` series type and gantt charts, if the Y axis is a
  31662. * category axis, the `pointPlacement` applies to the Y axis rather than the
  31663. * (typically datetime) X axis.
  31664. *
  31665. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  31666. */
  31667. pointPlacement?: (number|string);
  31668. /**
  31669. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  31670. * for. This determines the width of the column. On a categorized axis, the
  31671. * range will be 1 by default (one category unit). On linear and datetime
  31672. * axes, the range will be computed as the distance between the two closest
  31673. * data points.
  31674. *
  31675. * The default `null` means it is computed automatically, but this option
  31676. * can be used to override the automatic value.
  31677. *
  31678. * This option is set by default to 1 if data sorting is enabled.
  31679. */
  31680. pointRange?: (number|null);
  31681. /**
  31682. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  31683. * a series, pointStart defines on what value to start. For example, if a
  31684. * series contains one yearly value starting from 1945, set pointStart to
  31685. * 1945.
  31686. */
  31687. pointStart?: number;
  31688. /**
  31689. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  31690. * should be represented as `point.y`, which is later used to set dataLabel
  31691. * position and compare.
  31692. */
  31693. pointValKey?: OptionsPointValKeyValue;
  31694. /**
  31695. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  31696. * each column or bar point. When set to `undefined`, the width is
  31697. * calculated from the `pointPadding` and `groupPadding`. The width effects
  31698. * the dimension that is not based on the point value. For column series it
  31699. * is the hoizontal length and for bar series it is the vertical length.
  31700. */
  31701. pointWidth?: number;
  31702. /**
  31703. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  31704. * true, the checkbox next to the series name in the legend will be checked
  31705. * for a selected series.
  31706. */
  31707. selected?: boolean;
  31708. /**
  31709. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  31710. * the shadow can be an object configuration containing `color`, `offsetX`,
  31711. * `offsetY`, `opacity` and `width`.
  31712. */
  31713. shadow?: (boolean|ShadowOptionsObject);
  31714. /**
  31715. * (Highstock) If true, a checkbox is displayed next to the legend item to
  31716. * allow selecting the series. The state of the checkbox is determined by
  31717. * the `selected` option.
  31718. */
  31719. showCheckbox?: boolean;
  31720. /**
  31721. * (Highstock) Whether to display this particular series or series type in
  31722. * the legend. Standalone series are shown in legend by default, and linked
  31723. * series are not. Since v7.2.0 it is possible to show series that use
  31724. * colorAxis by setting this option to `true`.
  31725. */
  31726. showInLegend?: boolean;
  31727. /**
  31728. * (Highstock) Whether or not to show the series in the navigator. Takes
  31729. * precedence over navigator.baseSeries if defined.
  31730. */
  31731. showInNavigator?: boolean;
  31732. /**
  31733. * (Highstock) If set to `true`, the accessibility module will skip past the
  31734. * points in this series for keyboard navigation.
  31735. */
  31736. skipKeyboardNavigation?: boolean;
  31737. /**
  31738. * (Highcharts, Highstock) When this is true, the series will not cause the
  31739. * Y axis to cross the zero plane (or threshold option) unless the data
  31740. * actually crosses the plane.
  31741. *
  31742. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  31743. * make the Y axis show negative values according to the `minPadding`
  31744. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  31745. */
  31746. softThreshold?: boolean;
  31747. states?: SeriesStatesOptionsObject;
  31748. /**
  31749. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  31750. * event on a series isn't triggered until the mouse moves over another
  31751. * series, or out of the plot area. When false, the `mouseOut` event on a
  31752. * series is triggered when the mouse leaves the area around the series'
  31753. * graph or markers. This also implies the tooltip when not shared. When
  31754. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  31755. * be hidden when moving the mouse between series. Defaults to true for line
  31756. * and area type series, but to false for columns, pies etc.
  31757. *
  31758. * **Note:** The boost module will force this option because of technical
  31759. * limitations.
  31760. */
  31761. stickyTracking?: boolean;
  31762. /**
  31763. * (Highstock) The Y axis value to serve as the base for the columns, for
  31764. * distinguishing between values above and below a threshold. If `null`, the
  31765. * columns extend from the padding Y axis minimum.
  31766. */
  31767. threshold?: (number|null);
  31768. /**
  31769. * (Highstock) A configuration object for the tooltip rendering of each
  31770. * single series. Properties are inherited from tooltip, but only the
  31771. * following properties can be defined on a series level.
  31772. */
  31773. tooltip?: SeriesTooltipOptionsObject;
  31774. /**
  31775. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  31776. * is longer than this, only one dimensional arrays of numbers, or two
  31777. * dimensional arrays with x and y values are allowed. Also, only the first
  31778. * point is tested, and the rest are assumed to be the same format. This
  31779. * saves expensive data checking and indexing in long series. Set it to `0`
  31780. * disable.
  31781. *
  31782. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  31783. * two dimensional arrays are allowed.
  31784. */
  31785. turboThreshold?: number;
  31786. /**
  31787. * (Highstock) The fill color of the candlestick when values are rising.
  31788. *
  31789. * In styled mode, the up color can be set with the
  31790. * `.highcharts-candlestick-series .highcharts-point-up` rule.
  31791. */
  31792. upColor?: (ColorString|GradientColorObject|PatternObject);
  31793. /**
  31794. * (Highstock) The specific line color for up candle sticks. The default is
  31795. * to inherit the general `lineColor` setting.
  31796. */
  31797. upLineColor?: (ColorString|GradientColorObject|PatternObject);
  31798. /**
  31799. * (Highstock) Set the initial visibility of the series.
  31800. */
  31801. visible?: boolean;
  31802. /**
  31803. * (Highmaps) Define the z index of the series.
  31804. */
  31805. zIndex?: number;
  31806. /**
  31807. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  31808. */
  31809. zoneAxis?: string;
  31810. /**
  31811. * (Highcharts, Highstock) An array defining zones within a series. Zones
  31812. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  31813. * the `zoneAxis` option. The zone definitions have to be in ascending order
  31814. * regarding to the value.
  31815. *
  31816. * In styled mode, the color zones are styled with the
  31817. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  31818. * option (view live demo).
  31819. */
  31820. zones?: Array<SeriesZonesOptionsObject>;
  31821. }
  31822. /**
  31823. * (Highstock) Enable or disable the initial animation when a series is
  31824. * displayed. The animation can also be set as a configuration object. Please
  31825. * note that this option only applies to the initial animation of the series
  31826. * itself. For other animations, see chart.animation and the animation parameter
  31827. * under the API methods. The following properties are supported:
  31828. *
  31829. * - `defer`: The animation delay time in milliseconds.
  31830. *
  31831. * - `duration`: The duration of the animation in milliseconds.
  31832. *
  31833. * - `easing`: Can be a string reference to an easing function set on the `Math`
  31834. * object or a function. See the _Custom easing function_ demo below.
  31835. *
  31836. * Due to poor performance, animation is disabled in old IE browsers for several
  31837. * chart types.
  31838. */
  31839. export interface PlotCciAnimationOptions {
  31840. defer?: number;
  31841. }
  31842. /**
  31843. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31844. * animation when a series is displayed for the `dataLabels`. The animation can
  31845. * also be set as a configuration object. Please note that this option only
  31846. * applies to the initial animation. For other animations, see chart.animation
  31847. * and the animation parameter under the API methods. The following properties
  31848. * are supported:
  31849. *
  31850. * - `defer`: The animation delay time in milliseconds.
  31851. */
  31852. export interface PlotCciDataLabelsAnimationOptions {
  31853. /**
  31854. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  31855. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  31856. * inherits defer time from the series.animation.defer.
  31857. */
  31858. defer?: number;
  31859. }
  31860. /**
  31861. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  31862. * appearing next to each data point.
  31863. *
  31864. * Since v6.2.0, multiple data labels can be applied to each single point by
  31865. * defining them as an array of configs.
  31866. *
  31867. * In styled mode, the data labels can be styled with the
  31868. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  31869. * example).
  31870. */
  31871. export interface PlotCciDataLabelsOptions {
  31872. /**
  31873. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  31874. * compared to the point. If `right`, the right side of the label should be
  31875. * touching the point. For points with an extent, like columns, the
  31876. * alignments also dictates how to align it inside the box, as given with
  31877. * the inside option. Can be one of `left`, `center` or `right`.
  31878. */
  31879. align?: (AlignValue|null);
  31880. /**
  31881. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  31882. * overlap. To make the labels less sensitive for overlapping, the
  31883. * dataLabels.padding can be set to 0.
  31884. */
  31885. allowOverlap?: boolean;
  31886. /**
  31887. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  31888. * animation when a series is displayed for the `dataLabels`. The animation
  31889. * can also be set as a configuration object. Please note that this option
  31890. * only applies to the initial animation. For other animations, see
  31891. * chart.animation and the animation parameter under the API methods. The
  31892. * following properties are supported:
  31893. *
  31894. * - `defer`: The animation delay time in milliseconds.
  31895. */
  31896. animation?: (boolean|PlotCciDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  31897. /**
  31898. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  31899. * for the data label.
  31900. */
  31901. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  31902. /**
  31903. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  31904. * label. Defaults to `undefined`.
  31905. */
  31906. borderColor?: (ColorString|GradientColorObject|PatternObject);
  31907. /**
  31908. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  31909. * the data label.
  31910. */
  31911. borderRadius?: number;
  31912. /**
  31913. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  31914. * the data label.
  31915. */
  31916. borderWidth?: number;
  31917. /**
  31918. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  31919. * Particularly in styled mode, this can be used to give each series' or
  31920. * point's data label unique styling. In addition to this option, a default
  31921. * color class name is added so that we can give the labels a contrast text
  31922. * shadow.
  31923. */
  31924. className?: string;
  31925. /**
  31926. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  31927. * labels. Defaults to `undefined`. For certain series types, like column or
  31928. * map, the data labels can be drawn inside the points. In this case the
  31929. * data label will be drawn with maximum contrast by default. Additionally,
  31930. * it will be given a `text-outline` style with the opposite color, to
  31931. * further increase the contrast. This can be overridden by setting the
  31932. * `text-outline` style to `none` in the `dataLabels.style` option.
  31933. */
  31934. color?: (ColorString|GradientColorObject|PatternObject);
  31935. /**
  31936. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  31937. * are outside the plot area. By default, the data label is moved inside the
  31938. * plot area according to the overflow option.
  31939. */
  31940. crop?: boolean;
  31941. /**
  31942. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  31943. * labels until the initial series animation has finished. Setting to
  31944. * `false` renders the data label immediately. If set to `true` inherits the
  31945. * defer time set in plotOptions.series.animation. If set to a number, a
  31946. * defer time is specified in milliseconds.
  31947. */
  31948. defer?: (boolean|number);
  31949. /**
  31950. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  31951. * labels.
  31952. */
  31953. enabled?: boolean;
  31954. /**
  31955. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  31956. * of which data labels to display. The declarative filter is designed for
  31957. * use when callback functions are not available, like when the chart
  31958. * options require a pure JSON structure or for use with graphical editors.
  31959. * For programmatic control, use the `formatter` instead, and return
  31960. * `undefined` to disable a single data label.
  31961. */
  31962. filter?: DataLabelsFilterOptionsObject;
  31963. /**
  31964. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  31965. * label. Available variables are the same as for `formatter`.
  31966. */
  31967. format?: string;
  31968. /**
  31969. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  31970. * format the data label. Note that if a `format` is defined, the format
  31971. * takes precedence and the formatter is ignored.
  31972. */
  31973. formatter?: DataLabelsFormatterCallbackFunction;
  31974. /**
  31975. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  31976. * columns or map areas, whether to align the data label inside the box or
  31977. * to the actual value point. Defaults to `false` in most cases, `true` in
  31978. * stacked columns.
  31979. */
  31980. inside?: boolean;
  31981. /**
  31982. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  31983. * of null. Works analogously to format. `nullFormat` can be applied only to
  31984. * series which support displaying null points.
  31985. */
  31986. nullFormat?: (boolean|string);
  31987. /**
  31988. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  31989. * that defines formatting for points with the value of null. Works
  31990. * analogously to formatter. `nullPointFormatter` can be applied only to
  31991. * series which support displaying null points.
  31992. */
  31993. nullFormatter?: DataLabelsFormatterCallbackFunction;
  31994. /**
  31995. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  31996. * flow outside the plot area. The default is `"justify"`, which aligns them
  31997. * inside the plot area. For columns and bars, this means it will be moved
  31998. * inside the bar. To display data labels outside the plot area, set `crop`
  31999. * to `false` and `overflow` to `"allow"`.
  32000. */
  32001. overflow?: DataLabelsOverflowValue;
  32002. /**
  32003. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  32004. * the `backgroundColor` is set, this is the padding within the box.
  32005. */
  32006. padding?: number;
  32007. /**
  32008. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  32009. * points. If `center` alignment is not possible, it defaults to `right`.
  32010. */
  32011. position?: AlignValue;
  32012. /**
  32013. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  32014. * that due to a more complex structure, backgrounds, borders and padding
  32015. * will be lost on a rotated data label.
  32016. */
  32017. rotation?: number;
  32018. /**
  32019. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  32020. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  32021. * an object configuration containing `color`, `offsetX`, `offsetY`,
  32022. * `opacity` and `width`.
  32023. */
  32024. shadow?: (boolean|ShadowOptionsObject);
  32025. /**
  32026. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  32027. * the border around the label. Symbols are predefined functions on the
  32028. * Renderer object.
  32029. */
  32030. shape?: string;
  32031. /**
  32032. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  32033. * default `color` setting is `"contrast"`, which is a pseudo color that
  32034. * Highcharts picks up and applies the maximum contrast to the underlying
  32035. * point item, for example the bar in a bar chart.
  32036. *
  32037. * The `textOutline` is a pseudo property that applies an outline of the
  32038. * given width with the given color, which by default is the maximum
  32039. * contrast to the text. So a bright text color will result in a black text
  32040. * outline for maximum readability on a mixed background. In some cases,
  32041. * especially with grayscale text, the text outline doesn't work well, in
  32042. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  32043. * is true, the `textOutline` will not be picked up. In this, case, the same
  32044. * effect can be acheived through the `text-shadow` CSS property.
  32045. *
  32046. * For some series types, where each point has an extent, like for example
  32047. * tree maps, the data label may overflow the point. There are two
  32048. * strategies for handling overflow. By default, the text will wrap to
  32049. * multiple lines. The other strategy is to set `style.textOverflow` to
  32050. * `ellipsis`, which will keep the text on one line plus it will break
  32051. * inside long words.
  32052. */
  32053. style?: CSSObject;
  32054. /**
  32055. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  32056. * should follow marker's shape. Border and background are disabled for a
  32057. * label that follows a path.
  32058. *
  32059. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  32060. * to true will disable this option.
  32061. */
  32062. textPath?: DataLabelsTextPathOptionsObject;
  32063. /**
  32064. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  32065. * the labels.
  32066. */
  32067. useHTML?: boolean;
  32068. /**
  32069. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  32070. * label. Can be one of `top`, `middle` or `bottom`. The default value
  32071. * depends on the data, for instance in a column chart, the label is above
  32072. * positive values and below negative values.
  32073. */
  32074. verticalAlign?: (VerticalAlignValue|null);
  32075. /**
  32076. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  32077. * label relative to the point in pixels.
  32078. */
  32079. x?: number;
  32080. /**
  32081. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  32082. * label relative to the point in pixels.
  32083. */
  32084. y?: number;
  32085. /**
  32086. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  32087. * The default Z index puts it above the series. Use a Z index of 2 to
  32088. * display it behind the series.
  32089. */
  32090. z?: number;
  32091. }
  32092. /**
  32093. * (Highcharts, Highstock) Options for the series data sorting.
  32094. */
  32095. export interface PlotCciDataSortingOptions {
  32096. /**
  32097. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  32098. * Use xAxis.reversed to change the sorting order.
  32099. */
  32100. enabled?: boolean;
  32101. /**
  32102. * (Highcharts, Highstock) Whether to allow matching points by name in an
  32103. * update. If this option is disabled, points will be matched by order.
  32104. */
  32105. matchByName?: boolean;
  32106. /**
  32107. * (Highcharts, Highstock) Determines what data value should be used to sort
  32108. * by.
  32109. */
  32110. sortKey?: string;
  32111. }
  32112. /**
  32113. * (Highstock) Commodity Channel Index (CCI). This series requires `linkedTo`
  32114. * option to be set.
  32115. *
  32116. * In TypeScript the type option must always be set.
  32117. *
  32118. * Configuration options for the series are given in three levels:
  32119. *
  32120. * 1. Options for all series in a chart are defined in the plotOptions.series
  32121. * object.
  32122. *
  32123. * 2. Options for all `cci` series are defined in plotOptions.cci.
  32124. *
  32125. * 3. Options for one single series are given in the series instance array. (see
  32126. * online documentation for example)
  32127. */
  32128. export interface PlotCciOptions {
  32129. /**
  32130. * (Highstock) Accessibility options for a series.
  32131. */
  32132. accessibility?: SeriesAccessibilityOptionsObject;
  32133. /**
  32134. * (Highstock) Allow this series' points to be selected by clicking on the
  32135. * graphic (columns, point markers, pie slices, map areas etc).
  32136. *
  32137. * The selected points can be handled by point select and unselect events,
  32138. * or collectively by the getSelectedPoints function.
  32139. *
  32140. * And alternative way of selecting points is through dragging.
  32141. */
  32142. allowPointSelect?: boolean;
  32143. /**
  32144. * (Highstock) Enable or disable the initial animation when a series is
  32145. * displayed. The animation can also be set as a configuration object.
  32146. * Please note that this option only applies to the initial animation of the
  32147. * series itself. For other animations, see chart.animation and the
  32148. * animation parameter under the API methods. The following properties are
  32149. * supported:
  32150. *
  32151. * - `defer`: The animation delay time in milliseconds.
  32152. *
  32153. * - `duration`: The duration of the animation in milliseconds.
  32154. *
  32155. * - `easing`: Can be a string reference to an easing function set on the
  32156. * `Math` object or a function. See the _Custom easing function_ demo below.
  32157. *
  32158. * Due to poor performance, animation is disabled in old IE browsers for
  32159. * several chart types.
  32160. */
  32161. animation?: (boolean|PlotCciAnimationOptions|Partial<AnimationOptionsObject>);
  32162. /**
  32163. * (Highstock) For some series, there is a limit that shuts down initial
  32164. * animation by default when the total number of points in the chart is too
  32165. * high. For example, for a column chart and its derivatives, animation does
  32166. * not run if there is more than 250 points totally. To disable this cap,
  32167. * set `animationLimit` to `Infinity`.
  32168. */
  32169. animationLimit?: number;
  32170. /**
  32171. * (Highstock) Sets the color blending in the boost module.
  32172. */
  32173. boostBlending?: OptionsBoostBlendingValue;
  32174. /**
  32175. * (Highstock) Set the point threshold for when a series should enter boost
  32176. * mode.
  32177. *
  32178. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  32179. * there are 2000 or more points in the series.
  32180. *
  32181. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  32182. * it to 1 will force boosting.
  32183. *
  32184. * Note that the cropThreshold also affects this setting. When zooming in on
  32185. * a series that has fewer points than the `cropThreshold`, all points are
  32186. * rendered although outside the visible plot area, and the `boostThreshold`
  32187. * won't take effect.
  32188. */
  32189. boostThreshold?: number;
  32190. /**
  32191. * (Highmaps) The border color of the map areas.
  32192. *
  32193. * In styled mode, the border stroke is given in the `.highcharts-point`
  32194. * class.
  32195. */
  32196. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32197. /**
  32198. * (Highmaps) The border width of each map area.
  32199. *
  32200. * In styled mode, the border stroke width is given in the
  32201. * `.highcharts-point` class.
  32202. */
  32203. borderWidth?: number;
  32204. /**
  32205. * (Highstock) An additional class name to apply to the series' graphical
  32206. * elements. This option does not replace default class names of the
  32207. * graphical element.
  32208. */
  32209. className?: string;
  32210. /**
  32211. * (Highstock) Disable this option to allow series rendering in the whole
  32212. * plotting area.
  32213. *
  32214. * **Note:** Clipping should be always enabled when chart.zoomType is set
  32215. */
  32216. clip?: boolean;
  32217. /**
  32218. * (Highstock) The main color of the series. In line type series it applies
  32219. * to the line and the point markers unless otherwise specified. In bar type
  32220. * series it applies to the bars unless a color is specified per point. The
  32221. * default value is pulled from the `options.colors` array.
  32222. *
  32223. * In styled mode, the color can be defined by the colorIndex option. Also,
  32224. * the series color can be set with the `.highcharts-series`,
  32225. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  32226. * `.highcharts-series-{n}` class, or individual classes given by the
  32227. * `className` option.
  32228. */
  32229. color?: (ColorString|GradientColorObject|PatternObject);
  32230. /**
  32231. * (Highstock) Styled mode only. A specific color index to use for the
  32232. * series, so its graphic representations are given the class name
  32233. * `highcharts-color-{n}`.
  32234. */
  32235. colorIndex?: number;
  32236. /**
  32237. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  32238. * used to calculate point color if `colorAxis` is used. Requires to set
  32239. * `min` and `max` if some custom point property is used or if approximation
  32240. * for data grouping is set to `'sum'`.
  32241. */
  32242. colorKey?: string;
  32243. /**
  32244. * (Highstock) Compare the values of the series against the first non-null,
  32245. * non- zero value in the visible range. The y axis will show percentage or
  32246. * absolute change depending on whether `compare` is set to `"percent"` or
  32247. * `"value"`. When this is applied to multiple series, it allows comparing
  32248. * the development of the series against each other. Adds a `change` field
  32249. * to every point object.
  32250. */
  32251. compare?: string;
  32252. /**
  32253. * (Highstock) When compare is `percent`, this option dictates whether to
  32254. * use 0 or 100 as the base of comparison.
  32255. */
  32256. compareBase?: (0|100);
  32257. /**
  32258. * (Highstock) Defines if comparison should start from the first point
  32259. * within the visible range or should start from the first point **before**
  32260. * the range.
  32261. *
  32262. * In other words, this flag determines if first point within the visible
  32263. * range will have 0% (`compareStart=true`) or should have been already
  32264. * calculated according to the previous point (`compareStart=false`).
  32265. */
  32266. compareStart?: boolean;
  32267. /**
  32268. * (Highstock) Whether to compare indicator to the main series values or
  32269. * indicator values.
  32270. */
  32271. compareToMain?: boolean;
  32272. /**
  32273. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  32274. * series plot across the extremes.
  32275. */
  32276. connectEnds?: boolean;
  32277. /**
  32278. * (Highcharts, Highstock) Whether to connect a graph line across null
  32279. * points, or render a gap between the two points on either side of the
  32280. * null.
  32281. */
  32282. connectNulls?: boolean;
  32283. /**
  32284. * (Gantt) Override Pathfinder connector options for a series. Requires
  32285. * Highcharts Gantt to be loaded.
  32286. */
  32287. connectors?: SeriesConnectorsOptionsObject;
  32288. /**
  32289. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  32290. * rounded to its nearest pixel in order to render sharp on screen. In some
  32291. * cases, when there are a lot of densely packed columns, this leads to
  32292. * visible difference in column widths or distance between columns. In these
  32293. * cases, setting `crisp` to `false` may look better, even though each
  32294. * column is rendered blurry.
  32295. */
  32296. crisp?: boolean;
  32297. /**
  32298. * (Highcharts, Highstock) When the series contains less points than the
  32299. * crop threshold, all points are drawn, even if the points fall outside the
  32300. * visible plot area at the current zoom. The advantage of drawing all
  32301. * points (including markers and columns), is that animation is performed on
  32302. * updates. On the other hand, when the series contains more points than the
  32303. * crop threshold, the series data is cropped to only contain points that
  32304. * fall within the plot area. The advantage of cropping away invisible
  32305. * points is to increase performance on large series.
  32306. */
  32307. cropThreshold?: number;
  32308. /**
  32309. * (Highstock) You can set the cursor to "pointer" if you have click events
  32310. * attached to the series, to signal to the user that the points and lines
  32311. * can be clicked.
  32312. *
  32313. * In styled mode, the series cursor can be set with the same classes as
  32314. * listed under series.color.
  32315. */
  32316. cursor?: (string|CursorValue);
  32317. /**
  32318. * (Highstock) A reserved subspace to store options and values for
  32319. * customized functionality. Here you can add additional data for your own
  32320. * event callbacks and formatter callbacks.
  32321. */
  32322. custom?: Dictionary<any>;
  32323. /**
  32324. * (Highstock) Name of the dash style to use for the graph, or for some
  32325. * series types the outline of each shape.
  32326. *
  32327. * In styled mode, the stroke dash-array can be set with the same classes as
  32328. * listed under series.color.
  32329. */
  32330. dashStyle?: DashStyleValue;
  32331. /**
  32332. * (Highstock) Data grouping is the concept of sampling the data values into
  32333. * larger blocks in order to ease readability and increase performance of
  32334. * the JavaScript charts. Highcharts Stock by default applies data grouping
  32335. * when the points become closer than a certain pixel value, determined by
  32336. * the `groupPixelWidth` option.
  32337. *
  32338. * If data grouping is applied, the grouping information of grouped points
  32339. * can be read from the Point.dataGroup. If point options other than the
  32340. * data itself are set, for example `name` or `color` or custom properties,
  32341. * the grouping logic doesn't know how to group it. In this case the options
  32342. * of the first point instance are copied over to the group point. This can
  32343. * be altered through a custom `approximation` callback function.
  32344. */
  32345. dataGrouping?: DataGroupingOptionsObject;
  32346. /**
  32347. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  32348. * labels, appearing next to each data point.
  32349. *
  32350. * Since v6.2.0, multiple data labels can be applied to each single point by
  32351. * defining them as an array of configs.
  32352. *
  32353. * In styled mode, the data labels can be styled with the
  32354. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  32355. * (see example).
  32356. */
  32357. dataLabels?: (PlotCciDataLabelsOptions|Array<PlotCciDataLabelsOptions>);
  32358. /**
  32359. * (Highcharts, Highstock) Options for the series data sorting.
  32360. */
  32361. dataSorting?: (DataSortingOptionsObject|PlotCciDataSortingOptions);
  32362. /**
  32363. * (Highstock) A description of the series to add to the screen reader
  32364. * information about the series.
  32365. */
  32366. description?: string;
  32367. /**
  32368. * (Highstock) Enable or disable the mouse tracking for a specific series.
  32369. * This includes point tooltips and click events on graphs and points. For
  32370. * large datasets it improves performance.
  32371. */
  32372. enableMouseTracking?: boolean;
  32373. /**
  32374. * (Highstock) General event handlers for the series items. These event
  32375. * hooks can also be attached to the series at run time using the
  32376. * `Highcharts.addEvent` function.
  32377. */
  32378. events?: SeriesEventsOptionsObject;
  32379. /**
  32380. * (Highstock) Determines whether the series should look for the nearest
  32381. * point in both dimensions or just the x-dimension when hovering the
  32382. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  32383. * series. If the data has duplicate x-values, it is recommended to set this
  32384. * to `'xy'` to allow hovering over all points.
  32385. *
  32386. * Applies only to series types using nearest neighbor search (not direct
  32387. * hover) for tooltip.
  32388. */
  32389. findNearestPointBy?: OptionsFindNearestPointByValue;
  32390. /**
  32391. * (Highstock) Defines when to display a gap in the graph, together with the
  32392. * gapUnit option.
  32393. *
  32394. * In case when `dataGrouping` is enabled, points can be grouped into a
  32395. * larger time span. This can make the grouped points to have a greater
  32396. * distance than the absolute value of `gapSize` property, which will result
  32397. * in disappearing graph completely. To prevent this situation the mentioned
  32398. * distance between grouped points is used instead of previously defined
  32399. * `gapSize`.
  32400. *
  32401. * In practice, this option is most often used to visualize gaps in time
  32402. * series. In a stock chart, intraday data is available for daytime hours,
  32403. * while gaps will appear in nights and weekends.
  32404. */
  32405. gapSize?: number;
  32406. /**
  32407. * (Highstock) Together with gapSize, this option defines where to draw gaps
  32408. * in the graph.
  32409. *
  32410. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  32411. * if the distance between two points is greater than 5 times that of the
  32412. * two closest points, the graph will be broken.
  32413. *
  32414. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  32415. * values, which on a datetime axis is milliseconds. This also applies to
  32416. * the navigator series that inherits gap options from the base series.
  32417. */
  32418. gapUnit?: OptionsGapUnitValue;
  32419. /**
  32420. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  32421. * chart width or only the zoomed area when zooming in on parts of the X
  32422. * axis. By default, the Y axis adjusts to the min and max of the visible
  32423. * data. Cartesian series only.
  32424. */
  32425. getExtremesFromAll?: boolean;
  32426. /**
  32427. * (Highstock) When set to `false` will prevent the series data from being
  32428. * included in any form of data export.
  32429. *
  32430. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  32431. * `includeInCSVExport`.
  32432. */
  32433. includeInDataExport?: boolean;
  32434. /**
  32435. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  32436. * series as possible in a natural way, seeking to avoid other series. The
  32437. * goal of this feature is to make the chart more easily readable, like if a
  32438. * human designer placed the labels in the optimal position.
  32439. *
  32440. * The series labels currently work with series types having a `graph` or an
  32441. * `area`.
  32442. */
  32443. label?: SeriesLabelOptionsObject;
  32444. /**
  32445. * (Highstock) The line marks the last price from all points.
  32446. */
  32447. lastPrice?: SeriesLastPriceOptionsObject;
  32448. /**
  32449. * (Highstock) The line marks the last price from visible range of points.
  32450. */
  32451. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  32452. /**
  32453. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  32454. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  32455. * the ends and bends.
  32456. */
  32457. linecap?: SeriesLinecapValue;
  32458. /**
  32459. * (Highcharts, Highstock) Pixel width of the graph line.
  32460. */
  32461. lineWidth?: number;
  32462. /**
  32463. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  32464. * based on. Required for this indicator.
  32465. */
  32466. linkedTo?: string;
  32467. /**
  32468. * (Highstock) Options for the point markers of line-like series. Properties
  32469. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  32470. * appearance of the markers. Other series types, like column series, don't
  32471. * have markers, but have visual options on the series level instead.
  32472. *
  32473. * In styled mode, the markers can be styled with the `.highcharts-point`,
  32474. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  32475. */
  32476. marker?: PointMarkerOptionsObject;
  32477. /**
  32478. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  32479. * If not set, it will be based on a technical indicator type and default
  32480. * params.
  32481. */
  32482. name?: string;
  32483. /**
  32484. * (Highstock) The color for the parts of the graph or points that are below
  32485. * the threshold. Note that `zones` takes precedence over the negative
  32486. * color. Using `negativeColor` is equivalent to applying a zone with value
  32487. * of 0.
  32488. */
  32489. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  32490. /**
  32491. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  32492. * dataLabels.
  32493. */
  32494. opacity?: number;
  32495. /**
  32496. * (Highstock) Paramters used in calculation of regression series' points.
  32497. */
  32498. params?: PlotCciParamsOptions;
  32499. /**
  32500. * (Highstock) Properties for each single point.
  32501. */
  32502. point?: PlotSeriesPointOptions;
  32503. /**
  32504. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  32505. * individual series. Overrides the chart wide configuration.
  32506. */
  32507. pointDescriptionFormatter?: Function;
  32508. /**
  32509. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  32510. * true, the checkbox next to the series name in the legend will be checked
  32511. * for a selected series.
  32512. */
  32513. selected?: boolean;
  32514. /**
  32515. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  32516. * the shadow can be an object configuration containing `color`, `offsetX`,
  32517. * `offsetY`, `opacity` and `width`.
  32518. */
  32519. shadow?: (boolean|ShadowOptionsObject);
  32520. /**
  32521. * (Highstock) If true, a checkbox is displayed next to the legend item to
  32522. * allow selecting the series. The state of the checkbox is determined by
  32523. * the `selected` option.
  32524. */
  32525. showCheckbox?: boolean;
  32526. /**
  32527. * (Highstock) Whether to display this particular series or series type in
  32528. * the legend. Standalone series are shown in legend by default, and linked
  32529. * series are not. Since v7.2.0 it is possible to show series that use
  32530. * colorAxis by setting this option to `true`.
  32531. */
  32532. showInLegend?: boolean;
  32533. /**
  32534. * (Highstock) If set to `true`, the accessibility module will skip past the
  32535. * points in this series for keyboard navigation.
  32536. */
  32537. skipKeyboardNavigation?: boolean;
  32538. /**
  32539. * (Highcharts, Highstock) When this is true, the series will not cause the
  32540. * Y axis to cross the zero plane (or threshold option) unless the data
  32541. * actually crosses the plane.
  32542. *
  32543. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  32544. * make the Y axis show negative values according to the `minPadding`
  32545. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  32546. */
  32547. softThreshold?: boolean;
  32548. states?: SeriesStatesOptionsObject;
  32549. /**
  32550. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  32551. * values are `left`, `center` and `right`.
  32552. */
  32553. step?: OptionsStepValue;
  32554. /**
  32555. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  32556. * event on a series isn't triggered until the mouse moves over another
  32557. * series, or out of the plot area. When false, the `mouseOut` event on a
  32558. * series is triggered when the mouse leaves the area around the series'
  32559. * graph or markers. This also implies the tooltip when not shared. When
  32560. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  32561. * be hidden when moving the mouse between series. Defaults to true for line
  32562. * and area type series, but to false for columns, pies etc.
  32563. *
  32564. * **Note:** The boost module will force this option because of technical
  32565. * limitations.
  32566. */
  32567. stickyTracking?: boolean;
  32568. /**
  32569. * (Highcharts, Highstock) The threshold, also called zero level or base
  32570. * level. For line type series this is only used in conjunction with
  32571. * negativeColor.
  32572. */
  32573. threshold?: (number|null);
  32574. /**
  32575. * (Highstock) A configuration object for the tooltip rendering of each
  32576. * single series. Properties are inherited from tooltip, but only the
  32577. * following properties can be defined on a series level.
  32578. */
  32579. tooltip?: SeriesTooltipOptionsObject;
  32580. /**
  32581. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  32582. * is longer than this, only one dimensional arrays of numbers, or two
  32583. * dimensional arrays with x and y values are allowed. Also, only the first
  32584. * point is tested, and the rest are assumed to be the same format. This
  32585. * saves expensive data checking and indexing in long series. Set it to `0`
  32586. * disable.
  32587. *
  32588. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  32589. * two dimensional arrays are allowed.
  32590. */
  32591. turboThreshold?: number;
  32592. /**
  32593. * (Highstock) Set the initial visibility of the series.
  32594. */
  32595. visible?: boolean;
  32596. /**
  32597. * (Highmaps) Define the z index of the series.
  32598. */
  32599. zIndex?: number;
  32600. /**
  32601. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  32602. */
  32603. zoneAxis?: string;
  32604. /**
  32605. * (Highcharts, Highstock) An array defining zones within a series. Zones
  32606. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  32607. * the `zoneAxis` option. The zone definitions have to be in ascending order
  32608. * regarding to the value.
  32609. *
  32610. * In styled mode, the color zones are styled with the
  32611. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  32612. * option (view live demo).
  32613. */
  32614. zones?: Array<SeriesZonesOptionsObject>;
  32615. }
  32616. /**
  32617. * (Highstock) Paramters used in calculation of regression series' points.
  32618. */
  32619. export interface PlotCciParamsOptions {
  32620. index?: string;
  32621. /**
  32622. * (Highstock) The base period for indicator calculations. This is the
  32623. * number of data points which are taken into account for the indicator
  32624. * calculations.
  32625. */
  32626. period?: number;
  32627. }
  32628. /**
  32629. * (Highstock) Enable or disable the initial animation when a series is
  32630. * displayed. The animation can also be set as a configuration object. Please
  32631. * note that this option only applies to the initial animation of the series
  32632. * itself. For other animations, see chart.animation and the animation parameter
  32633. * under the API methods. The following properties are supported:
  32634. *
  32635. * - `defer`: The animation delay time in milliseconds.
  32636. *
  32637. * - `duration`: The duration of the animation in milliseconds.
  32638. *
  32639. * - `easing`: Can be a string reference to an easing function set on the `Math`
  32640. * object or a function. See the _Custom easing function_ demo below.
  32641. *
  32642. * Due to poor performance, animation is disabled in old IE browsers for several
  32643. * chart types.
  32644. */
  32645. export interface PlotChaikinAnimationOptions {
  32646. defer?: number;
  32647. }
  32648. /**
  32649. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32650. * animation when a series is displayed for the `dataLabels`. The animation can
  32651. * also be set as a configuration object. Please note that this option only
  32652. * applies to the initial animation. For other animations, see chart.animation
  32653. * and the animation parameter under the API methods. The following properties
  32654. * are supported:
  32655. *
  32656. * - `defer`: The animation delay time in milliseconds.
  32657. */
  32658. export interface PlotChaikinDataLabelsAnimationOptions {
  32659. /**
  32660. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  32661. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  32662. * inherits defer time from the series.animation.defer.
  32663. */
  32664. defer?: number;
  32665. }
  32666. /**
  32667. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  32668. * appearing next to each data point.
  32669. *
  32670. * Since v6.2.0, multiple data labels can be applied to each single point by
  32671. * defining them as an array of configs.
  32672. *
  32673. * In styled mode, the data labels can be styled with the
  32674. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  32675. * example).
  32676. */
  32677. export interface PlotChaikinDataLabelsOptions {
  32678. /**
  32679. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  32680. * compared to the point. If `right`, the right side of the label should be
  32681. * touching the point. For points with an extent, like columns, the
  32682. * alignments also dictates how to align it inside the box, as given with
  32683. * the inside option. Can be one of `left`, `center` or `right`.
  32684. */
  32685. align?: (AlignValue|null);
  32686. /**
  32687. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  32688. * overlap. To make the labels less sensitive for overlapping, the
  32689. * dataLabels.padding can be set to 0.
  32690. */
  32691. allowOverlap?: boolean;
  32692. /**
  32693. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  32694. * animation when a series is displayed for the `dataLabels`. The animation
  32695. * can also be set as a configuration object. Please note that this option
  32696. * only applies to the initial animation. For other animations, see
  32697. * chart.animation and the animation parameter under the API methods. The
  32698. * following properties are supported:
  32699. *
  32700. * - `defer`: The animation delay time in milliseconds.
  32701. */
  32702. animation?: (boolean|PlotChaikinDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  32703. /**
  32704. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  32705. * for the data label.
  32706. */
  32707. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  32708. /**
  32709. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  32710. * label. Defaults to `undefined`.
  32711. */
  32712. borderColor?: (ColorString|GradientColorObject|PatternObject);
  32713. /**
  32714. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  32715. * the data label.
  32716. */
  32717. borderRadius?: number;
  32718. /**
  32719. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  32720. * the data label.
  32721. */
  32722. borderWidth?: number;
  32723. /**
  32724. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  32725. * Particularly in styled mode, this can be used to give each series' or
  32726. * point's data label unique styling. In addition to this option, a default
  32727. * color class name is added so that we can give the labels a contrast text
  32728. * shadow.
  32729. */
  32730. className?: string;
  32731. /**
  32732. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  32733. * labels. Defaults to `undefined`. For certain series types, like column or
  32734. * map, the data labels can be drawn inside the points. In this case the
  32735. * data label will be drawn with maximum contrast by default. Additionally,
  32736. * it will be given a `text-outline` style with the opposite color, to
  32737. * further increase the contrast. This can be overridden by setting the
  32738. * `text-outline` style to `none` in the `dataLabels.style` option.
  32739. */
  32740. color?: (ColorString|GradientColorObject|PatternObject);
  32741. /**
  32742. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  32743. * are outside the plot area. By default, the data label is moved inside the
  32744. * plot area according to the overflow option.
  32745. */
  32746. crop?: boolean;
  32747. /**
  32748. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  32749. * labels until the initial series animation has finished. Setting to
  32750. * `false` renders the data label immediately. If set to `true` inherits the
  32751. * defer time set in plotOptions.series.animation. If set to a number, a
  32752. * defer time is specified in milliseconds.
  32753. */
  32754. defer?: (boolean|number);
  32755. /**
  32756. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  32757. * labels.
  32758. */
  32759. enabled?: boolean;
  32760. /**
  32761. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  32762. * of which data labels to display. The declarative filter is designed for
  32763. * use when callback functions are not available, like when the chart
  32764. * options require a pure JSON structure or for use with graphical editors.
  32765. * For programmatic control, use the `formatter` instead, and return
  32766. * `undefined` to disable a single data label.
  32767. */
  32768. filter?: DataLabelsFilterOptionsObject;
  32769. /**
  32770. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  32771. * label. Available variables are the same as for `formatter`.
  32772. */
  32773. format?: string;
  32774. /**
  32775. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  32776. * format the data label. Note that if a `format` is defined, the format
  32777. * takes precedence and the formatter is ignored.
  32778. */
  32779. formatter?: DataLabelsFormatterCallbackFunction;
  32780. /**
  32781. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  32782. * columns or map areas, whether to align the data label inside the box or
  32783. * to the actual value point. Defaults to `false` in most cases, `true` in
  32784. * stacked columns.
  32785. */
  32786. inside?: boolean;
  32787. /**
  32788. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  32789. * of null. Works analogously to format. `nullFormat` can be applied only to
  32790. * series which support displaying null points.
  32791. */
  32792. nullFormat?: (boolean|string);
  32793. /**
  32794. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  32795. * that defines formatting for points with the value of null. Works
  32796. * analogously to formatter. `nullPointFormatter` can be applied only to
  32797. * series which support displaying null points.
  32798. */
  32799. nullFormatter?: DataLabelsFormatterCallbackFunction;
  32800. /**
  32801. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  32802. * flow outside the plot area. The default is `"justify"`, which aligns them
  32803. * inside the plot area. For columns and bars, this means it will be moved
  32804. * inside the bar. To display data labels outside the plot area, set `crop`
  32805. * to `false` and `overflow` to `"allow"`.
  32806. */
  32807. overflow?: DataLabelsOverflowValue;
  32808. /**
  32809. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  32810. * the `backgroundColor` is set, this is the padding within the box.
  32811. */
  32812. padding?: number;
  32813. /**
  32814. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  32815. * points. If `center` alignment is not possible, it defaults to `right`.
  32816. */
  32817. position?: AlignValue;
  32818. /**
  32819. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  32820. * that due to a more complex structure, backgrounds, borders and padding
  32821. * will be lost on a rotated data label.
  32822. */
  32823. rotation?: number;
  32824. /**
  32825. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  32826. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  32827. * an object configuration containing `color`, `offsetX`, `offsetY`,
  32828. * `opacity` and `width`.
  32829. */
  32830. shadow?: (boolean|ShadowOptionsObject);
  32831. /**
  32832. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  32833. * the border around the label. Symbols are predefined functions on the
  32834. * Renderer object.
  32835. */
  32836. shape?: string;
  32837. /**
  32838. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  32839. * default `color` setting is `"contrast"`, which is a pseudo color that
  32840. * Highcharts picks up and applies the maximum contrast to the underlying
  32841. * point item, for example the bar in a bar chart.
  32842. *
  32843. * The `textOutline` is a pseudo property that applies an outline of the
  32844. * given width with the given color, which by default is the maximum
  32845. * contrast to the text. So a bright text color will result in a black text
  32846. * outline for maximum readability on a mixed background. In some cases,
  32847. * especially with grayscale text, the text outline doesn't work well, in
  32848. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  32849. * is true, the `textOutline` will not be picked up. In this, case, the same
  32850. * effect can be acheived through the `text-shadow` CSS property.
  32851. *
  32852. * For some series types, where each point has an extent, like for example
  32853. * tree maps, the data label may overflow the point. There are two
  32854. * strategies for handling overflow. By default, the text will wrap to
  32855. * multiple lines. The other strategy is to set `style.textOverflow` to
  32856. * `ellipsis`, which will keep the text on one line plus it will break
  32857. * inside long words.
  32858. */
  32859. style?: CSSObject;
  32860. /**
  32861. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  32862. * should follow marker's shape. Border and background are disabled for a
  32863. * label that follows a path.
  32864. *
  32865. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  32866. * to true will disable this option.
  32867. */
  32868. textPath?: DataLabelsTextPathOptionsObject;
  32869. /**
  32870. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  32871. * the labels.
  32872. */
  32873. useHTML?: boolean;
  32874. /**
  32875. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  32876. * label. Can be one of `top`, `middle` or `bottom`. The default value
  32877. * depends on the data, for instance in a column chart, the label is above
  32878. * positive values and below negative values.
  32879. */
  32880. verticalAlign?: (VerticalAlignValue|null);
  32881. /**
  32882. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  32883. * label relative to the point in pixels.
  32884. */
  32885. x?: number;
  32886. /**
  32887. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  32888. * label relative to the point in pixels.
  32889. */
  32890. y?: number;
  32891. /**
  32892. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  32893. * The default Z index puts it above the series. Use a Z index of 2 to
  32894. * display it behind the series.
  32895. */
  32896. z?: number;
  32897. }
  32898. /**
  32899. * (Highcharts, Highstock) Options for the series data sorting.
  32900. */
  32901. export interface PlotChaikinDataSortingOptions {
  32902. /**
  32903. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  32904. * Use xAxis.reversed to change the sorting order.
  32905. */
  32906. enabled?: boolean;
  32907. /**
  32908. * (Highcharts, Highstock) Whether to allow matching points by name in an
  32909. * update. If this option is disabled, points will be matched by order.
  32910. */
  32911. matchByName?: boolean;
  32912. /**
  32913. * (Highcharts, Highstock) Determines what data value should be used to sort
  32914. * by.
  32915. */
  32916. sortKey?: string;
  32917. }
  32918. /**
  32919. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo` option to
  32920. * be set and should be loaded after the `stock/indicators/indicators.js` and
  32921. * `stock/indicators/ema.js`.
  32922. *
  32923. * In TypeScript the type option must always be set.
  32924. *
  32925. * Configuration options for the series are given in three levels:
  32926. *
  32927. * 1. Options for all series in a chart are defined in the plotOptions.series
  32928. * object.
  32929. *
  32930. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  32931. *
  32932. * 3. Options for one single series are given in the series instance array. (see
  32933. * online documentation for example)
  32934. */
  32935. export interface PlotChaikinOptions {
  32936. /**
  32937. * (Highstock) Accessibility options for a series.
  32938. */
  32939. accessibility?: SeriesAccessibilityOptionsObject;
  32940. /**
  32941. * (Highstock) Allow this series' points to be selected by clicking on the
  32942. * graphic (columns, point markers, pie slices, map areas etc).
  32943. *
  32944. * The selected points can be handled by point select and unselect events,
  32945. * or collectively by the getSelectedPoints function.
  32946. *
  32947. * And alternative way of selecting points is through dragging.
  32948. */
  32949. allowPointSelect?: boolean;
  32950. /**
  32951. * (Highstock) Enable or disable the initial animation when a series is
  32952. * displayed. The animation can also be set as a configuration object.
  32953. * Please note that this option only applies to the initial animation of the
  32954. * series itself. For other animations, see chart.animation and the
  32955. * animation parameter under the API methods. The following properties are
  32956. * supported:
  32957. *
  32958. * - `defer`: The animation delay time in milliseconds.
  32959. *
  32960. * - `duration`: The duration of the animation in milliseconds.
  32961. *
  32962. * - `easing`: Can be a string reference to an easing function set on the
  32963. * `Math` object or a function. See the _Custom easing function_ demo below.
  32964. *
  32965. * Due to poor performance, animation is disabled in old IE browsers for
  32966. * several chart types.
  32967. */
  32968. animation?: (boolean|PlotChaikinAnimationOptions|Partial<AnimationOptionsObject>);
  32969. /**
  32970. * (Highstock) For some series, there is a limit that shuts down initial
  32971. * animation by default when the total number of points in the chart is too
  32972. * high. For example, for a column chart and its derivatives, animation does
  32973. * not run if there is more than 250 points totally. To disable this cap,
  32974. * set `animationLimit` to `Infinity`.
  32975. */
  32976. animationLimit?: number;
  32977. /**
  32978. * (Highstock) Sets the color blending in the boost module.
  32979. */
  32980. boostBlending?: OptionsBoostBlendingValue;
  32981. /**
  32982. * (Highstock) Set the point threshold for when a series should enter boost
  32983. * mode.
  32984. *
  32985. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  32986. * there are 2000 or more points in the series.
  32987. *
  32988. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  32989. * it to 1 will force boosting.
  32990. *
  32991. * Note that the cropThreshold also affects this setting. When zooming in on
  32992. * a series that has fewer points than the `cropThreshold`, all points are
  32993. * rendered although outside the visible plot area, and the `boostThreshold`
  32994. * won't take effect.
  32995. */
  32996. boostThreshold?: number;
  32997. /**
  32998. * (Highmaps) The border color of the map areas.
  32999. *
  33000. * In styled mode, the border stroke is given in the `.highcharts-point`
  33001. * class.
  33002. */
  33003. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33004. /**
  33005. * (Highmaps) The border width of each map area.
  33006. *
  33007. * In styled mode, the border stroke width is given in the
  33008. * `.highcharts-point` class.
  33009. */
  33010. borderWidth?: number;
  33011. /**
  33012. * (Highstock) An additional class name to apply to the series' graphical
  33013. * elements. This option does not replace default class names of the
  33014. * graphical element.
  33015. */
  33016. className?: string;
  33017. /**
  33018. * (Highstock) Disable this option to allow series rendering in the whole
  33019. * plotting area.
  33020. *
  33021. * **Note:** Clipping should be always enabled when chart.zoomType is set
  33022. */
  33023. clip?: boolean;
  33024. /**
  33025. * (Highstock) The main color of the series. In line type series it applies
  33026. * to the line and the point markers unless otherwise specified. In bar type
  33027. * series it applies to the bars unless a color is specified per point. The
  33028. * default value is pulled from the `options.colors` array.
  33029. *
  33030. * In styled mode, the color can be defined by the colorIndex option. Also,
  33031. * the series color can be set with the `.highcharts-series`,
  33032. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  33033. * `.highcharts-series-{n}` class, or individual classes given by the
  33034. * `className` option.
  33035. */
  33036. color?: (ColorString|GradientColorObject|PatternObject);
  33037. /**
  33038. * (Highstock) Styled mode only. A specific color index to use for the
  33039. * series, so its graphic representations are given the class name
  33040. * `highcharts-color-{n}`.
  33041. */
  33042. colorIndex?: number;
  33043. /**
  33044. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  33045. * used to calculate point color if `colorAxis` is used. Requires to set
  33046. * `min` and `max` if some custom point property is used or if approximation
  33047. * for data grouping is set to `'sum'`.
  33048. */
  33049. colorKey?: string;
  33050. /**
  33051. * (Highstock) Compare the values of the series against the first non-null,
  33052. * non- zero value in the visible range. The y axis will show percentage or
  33053. * absolute change depending on whether `compare` is set to `"percent"` or
  33054. * `"value"`. When this is applied to multiple series, it allows comparing
  33055. * the development of the series against each other. Adds a `change` field
  33056. * to every point object.
  33057. */
  33058. compare?: string;
  33059. /**
  33060. * (Highstock) When compare is `percent`, this option dictates whether to
  33061. * use 0 or 100 as the base of comparison.
  33062. */
  33063. compareBase?: (0|100);
  33064. /**
  33065. * (Highstock) Defines if comparison should start from the first point
  33066. * within the visible range or should start from the first point **before**
  33067. * the range.
  33068. *
  33069. * In other words, this flag determines if first point within the visible
  33070. * range will have 0% (`compareStart=true`) or should have been already
  33071. * calculated according to the previous point (`compareStart=false`).
  33072. */
  33073. compareStart?: boolean;
  33074. /**
  33075. * (Highstock) Whether to compare indicator to the main series values or
  33076. * indicator values.
  33077. */
  33078. compareToMain?: boolean;
  33079. /**
  33080. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  33081. * series plot across the extremes.
  33082. */
  33083. connectEnds?: boolean;
  33084. /**
  33085. * (Highcharts, Highstock) Whether to connect a graph line across null
  33086. * points, or render a gap between the two points on either side of the
  33087. * null.
  33088. */
  33089. connectNulls?: boolean;
  33090. /**
  33091. * (Gantt) Override Pathfinder connector options for a series. Requires
  33092. * Highcharts Gantt to be loaded.
  33093. */
  33094. connectors?: SeriesConnectorsOptionsObject;
  33095. /**
  33096. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  33097. * rounded to its nearest pixel in order to render sharp on screen. In some
  33098. * cases, when there are a lot of densely packed columns, this leads to
  33099. * visible difference in column widths or distance between columns. In these
  33100. * cases, setting `crisp` to `false` may look better, even though each
  33101. * column is rendered blurry.
  33102. */
  33103. crisp?: boolean;
  33104. /**
  33105. * (Highcharts, Highstock) When the series contains less points than the
  33106. * crop threshold, all points are drawn, even if the points fall outside the
  33107. * visible plot area at the current zoom. The advantage of drawing all
  33108. * points (including markers and columns), is that animation is performed on
  33109. * updates. On the other hand, when the series contains more points than the
  33110. * crop threshold, the series data is cropped to only contain points that
  33111. * fall within the plot area. The advantage of cropping away invisible
  33112. * points is to increase performance on large series.
  33113. */
  33114. cropThreshold?: number;
  33115. /**
  33116. * (Highstock) You can set the cursor to "pointer" if you have click events
  33117. * attached to the series, to signal to the user that the points and lines
  33118. * can be clicked.
  33119. *
  33120. * In styled mode, the series cursor can be set with the same classes as
  33121. * listed under series.color.
  33122. */
  33123. cursor?: (string|CursorValue);
  33124. /**
  33125. * (Highstock) A reserved subspace to store options and values for
  33126. * customized functionality. Here you can add additional data for your own
  33127. * event callbacks and formatter callbacks.
  33128. */
  33129. custom?: Dictionary<any>;
  33130. /**
  33131. * (Highstock) Name of the dash style to use for the graph, or for some
  33132. * series types the outline of each shape.
  33133. *
  33134. * In styled mode, the stroke dash-array can be set with the same classes as
  33135. * listed under series.color.
  33136. */
  33137. dashStyle?: DashStyleValue;
  33138. /**
  33139. * (Highstock) Data grouping is the concept of sampling the data values into
  33140. * larger blocks in order to ease readability and increase performance of
  33141. * the JavaScript charts. Highcharts Stock by default applies data grouping
  33142. * when the points become closer than a certain pixel value, determined by
  33143. * the `groupPixelWidth` option.
  33144. *
  33145. * If data grouping is applied, the grouping information of grouped points
  33146. * can be read from the Point.dataGroup. If point options other than the
  33147. * data itself are set, for example `name` or `color` or custom properties,
  33148. * the grouping logic doesn't know how to group it. In this case the options
  33149. * of the first point instance are copied over to the group point. This can
  33150. * be altered through a custom `approximation` callback function.
  33151. */
  33152. dataGrouping?: DataGroupingOptionsObject;
  33153. /**
  33154. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  33155. * labels, appearing next to each data point.
  33156. *
  33157. * Since v6.2.0, multiple data labels can be applied to each single point by
  33158. * defining them as an array of configs.
  33159. *
  33160. * In styled mode, the data labels can be styled with the
  33161. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  33162. * (see example).
  33163. */
  33164. dataLabels?: (PlotChaikinDataLabelsOptions|Array<PlotChaikinDataLabelsOptions>);
  33165. /**
  33166. * (Highcharts, Highstock) Options for the series data sorting.
  33167. */
  33168. dataSorting?: (DataSortingOptionsObject|PlotChaikinDataSortingOptions);
  33169. /**
  33170. * (Highstock) A description of the series to add to the screen reader
  33171. * information about the series.
  33172. */
  33173. description?: string;
  33174. /**
  33175. * (Highstock) Enable or disable the mouse tracking for a specific series.
  33176. * This includes point tooltips and click events on graphs and points. For
  33177. * large datasets it improves performance.
  33178. */
  33179. enableMouseTracking?: boolean;
  33180. /**
  33181. * (Highstock) General event handlers for the series items. These event
  33182. * hooks can also be attached to the series at run time using the
  33183. * `Highcharts.addEvent` function.
  33184. */
  33185. events?: SeriesEventsOptionsObject;
  33186. /**
  33187. * (Highstock) Determines whether the series should look for the nearest
  33188. * point in both dimensions or just the x-dimension when hovering the
  33189. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  33190. * series. If the data has duplicate x-values, it is recommended to set this
  33191. * to `'xy'` to allow hovering over all points.
  33192. *
  33193. * Applies only to series types using nearest neighbor search (not direct
  33194. * hover) for tooltip.
  33195. */
  33196. findNearestPointBy?: OptionsFindNearestPointByValue;
  33197. /**
  33198. * (Highstock) Defines when to display a gap in the graph, together with the
  33199. * gapUnit option.
  33200. *
  33201. * In case when `dataGrouping` is enabled, points can be grouped into a
  33202. * larger time span. This can make the grouped points to have a greater
  33203. * distance than the absolute value of `gapSize` property, which will result
  33204. * in disappearing graph completely. To prevent this situation the mentioned
  33205. * distance between grouped points is used instead of previously defined
  33206. * `gapSize`.
  33207. *
  33208. * In practice, this option is most often used to visualize gaps in time
  33209. * series. In a stock chart, intraday data is available for daytime hours,
  33210. * while gaps will appear in nights and weekends.
  33211. */
  33212. gapSize?: number;
  33213. /**
  33214. * (Highstock) Together with gapSize, this option defines where to draw gaps
  33215. * in the graph.
  33216. *
  33217. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  33218. * if the distance between two points is greater than 5 times that of the
  33219. * two closest points, the graph will be broken.
  33220. *
  33221. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  33222. * values, which on a datetime axis is milliseconds. This also applies to
  33223. * the navigator series that inherits gap options from the base series.
  33224. */
  33225. gapUnit?: OptionsGapUnitValue;
  33226. /**
  33227. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  33228. * chart width or only the zoomed area when zooming in on parts of the X
  33229. * axis. By default, the Y axis adjusts to the min and max of the visible
  33230. * data. Cartesian series only.
  33231. */
  33232. getExtremesFromAll?: boolean;
  33233. /**
  33234. * (Highstock) When set to `false` will prevent the series data from being
  33235. * included in any form of data export.
  33236. *
  33237. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  33238. * `includeInCSVExport`.
  33239. */
  33240. includeInDataExport?: boolean;
  33241. /**
  33242. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  33243. * series as possible in a natural way, seeking to avoid other series. The
  33244. * goal of this feature is to make the chart more easily readable, like if a
  33245. * human designer placed the labels in the optimal position.
  33246. *
  33247. * The series labels currently work with series types having a `graph` or an
  33248. * `area`.
  33249. */
  33250. label?: SeriesLabelOptionsObject;
  33251. /**
  33252. * (Highstock) The line marks the last price from all points.
  33253. */
  33254. lastPrice?: SeriesLastPriceOptionsObject;
  33255. /**
  33256. * (Highstock) The line marks the last price from visible range of points.
  33257. */
  33258. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  33259. /**
  33260. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  33261. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  33262. * the ends and bends.
  33263. */
  33264. linecap?: SeriesLinecapValue;
  33265. /**
  33266. * (Highcharts, Highstock) Pixel width of the graph line.
  33267. */
  33268. lineWidth?: number;
  33269. /**
  33270. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  33271. * based on. Required for this indicator.
  33272. */
  33273. linkedTo?: string;
  33274. /**
  33275. * (Highstock) Options for the point markers of line-like series. Properties
  33276. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  33277. * appearance of the markers. Other series types, like column series, don't
  33278. * have markers, but have visual options on the series level instead.
  33279. *
  33280. * In styled mode, the markers can be styled with the `.highcharts-point`,
  33281. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  33282. */
  33283. marker?: PointMarkerOptionsObject;
  33284. /**
  33285. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  33286. * If not set, it will be based on a technical indicator type and default
  33287. * params.
  33288. */
  33289. name?: string;
  33290. /**
  33291. * (Highstock) The color for the parts of the graph or points that are below
  33292. * the threshold. Note that `zones` takes precedence over the negative
  33293. * color. Using `negativeColor` is equivalent to applying a zone with value
  33294. * of 0.
  33295. */
  33296. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  33297. /**
  33298. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  33299. * dataLabels.
  33300. */
  33301. opacity?: number;
  33302. /**
  33303. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  33304. * points.
  33305. */
  33306. params?: PlotChaikinParamsOptions;
  33307. /**
  33308. * (Highstock) Properties for each single point.
  33309. */
  33310. point?: PlotSeriesPointOptions;
  33311. /**
  33312. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  33313. * individual series. Overrides the chart wide configuration.
  33314. */
  33315. pointDescriptionFormatter?: Function;
  33316. /**
  33317. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  33318. * true, the checkbox next to the series name in the legend will be checked
  33319. * for a selected series.
  33320. */
  33321. selected?: boolean;
  33322. /**
  33323. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  33324. * the shadow can be an object configuration containing `color`, `offsetX`,
  33325. * `offsetY`, `opacity` and `width`.
  33326. */
  33327. shadow?: (boolean|ShadowOptionsObject);
  33328. /**
  33329. * (Highstock) If true, a checkbox is displayed next to the legend item to
  33330. * allow selecting the series. The state of the checkbox is determined by
  33331. * the `selected` option.
  33332. */
  33333. showCheckbox?: boolean;
  33334. /**
  33335. * (Highstock) Whether to display this particular series or series type in
  33336. * the legend. Standalone series are shown in legend by default, and linked
  33337. * series are not. Since v7.2.0 it is possible to show series that use
  33338. * colorAxis by setting this option to `true`.
  33339. */
  33340. showInLegend?: boolean;
  33341. /**
  33342. * (Highstock) If set to `true`, the accessibility module will skip past the
  33343. * points in this series for keyboard navigation.
  33344. */
  33345. skipKeyboardNavigation?: boolean;
  33346. /**
  33347. * (Highcharts, Highstock) When this is true, the series will not cause the
  33348. * Y axis to cross the zero plane (or threshold option) unless the data
  33349. * actually crosses the plane.
  33350. *
  33351. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  33352. * make the Y axis show negative values according to the `minPadding`
  33353. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  33354. */
  33355. softThreshold?: boolean;
  33356. states?: SeriesStatesOptionsObject;
  33357. /**
  33358. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  33359. * values are `left`, `center` and `right`.
  33360. */
  33361. step?: OptionsStepValue;
  33362. /**
  33363. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  33364. * event on a series isn't triggered until the mouse moves over another
  33365. * series, or out of the plot area. When false, the `mouseOut` event on a
  33366. * series is triggered when the mouse leaves the area around the series'
  33367. * graph or markers. This also implies the tooltip when not shared. When
  33368. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  33369. * be hidden when moving the mouse between series. Defaults to true for line
  33370. * and area type series, but to false for columns, pies etc.
  33371. *
  33372. * **Note:** The boost module will force this option because of technical
  33373. * limitations.
  33374. */
  33375. stickyTracking?: boolean;
  33376. /**
  33377. * (Highcharts, Highstock) The threshold, also called zero level or base
  33378. * level. For line type series this is only used in conjunction with
  33379. * negativeColor.
  33380. */
  33381. threshold?: (number|null);
  33382. /**
  33383. * (Highstock) A configuration object for the tooltip rendering of each
  33384. * single series. Properties are inherited from tooltip, but only the
  33385. * following properties can be defined on a series level.
  33386. */
  33387. tooltip?: SeriesTooltipOptionsObject;
  33388. /**
  33389. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  33390. * is longer than this, only one dimensional arrays of numbers, or two
  33391. * dimensional arrays with x and y values are allowed. Also, only the first
  33392. * point is tested, and the rest are assumed to be the same format. This
  33393. * saves expensive data checking and indexing in long series. Set it to `0`
  33394. * disable.
  33395. *
  33396. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  33397. * two dimensional arrays are allowed.
  33398. */
  33399. turboThreshold?: number;
  33400. /**
  33401. * (Highstock) Set the initial visibility of the series.
  33402. */
  33403. visible?: boolean;
  33404. /**
  33405. * (Highmaps) Define the z index of the series.
  33406. */
  33407. zIndex?: number;
  33408. /**
  33409. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  33410. */
  33411. zoneAxis?: string;
  33412. /**
  33413. * (Highcharts, Highstock) An array defining zones within a series. Zones
  33414. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  33415. * the `zoneAxis` option. The zone definitions have to be in ascending order
  33416. * regarding to the value.
  33417. *
  33418. * In styled mode, the color zones are styled with the
  33419. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  33420. * option (view live demo).
  33421. */
  33422. zones?: Array<SeriesZonesOptionsObject>;
  33423. }
  33424. /**
  33425. * (Highstock) Paramters used in calculation of Chaikin Oscillator series
  33426. * points.
  33427. */
  33428. export interface PlotChaikinParamsOptions {
  33429. index?: string;
  33430. /**
  33431. * (Highstock) Parameter used indirectly for calculating the `AD` indicator.
  33432. * Decides about the number of data points that are taken into account for
  33433. * the indicator calculations.
  33434. */
  33435. period?: number;
  33436. /**
  33437. * (Highstock) Periods for Chaikin Oscillator calculations.
  33438. */
  33439. periods?: Array<number>;
  33440. /**
  33441. * (Highstock) The id of volume series which is mandatory. For example using
  33442. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  33443. * using OHLC and volume values.
  33444. */
  33445. volumeSeriesID?: string;
  33446. }
  33447. /**
  33448. * (Highstock) Enable or disable the initial animation when a series is
  33449. * displayed. The animation can also be set as a configuration object. Please
  33450. * note that this option only applies to the initial animation of the series
  33451. * itself. For other animations, see chart.animation and the animation parameter
  33452. * under the API methods. The following properties are supported:
  33453. *
  33454. * - `defer`: The animation delay time in milliseconds.
  33455. *
  33456. * - `duration`: The duration of the animation in milliseconds.
  33457. *
  33458. * - `easing`: Can be a string reference to an easing function set on the `Math`
  33459. * object or a function. See the _Custom easing function_ demo below.
  33460. *
  33461. * Due to poor performance, animation is disabled in old IE browsers for several
  33462. * chart types.
  33463. */
  33464. export interface PlotCmfAnimationOptions {
  33465. defer?: number;
  33466. }
  33467. /**
  33468. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33469. * animation when a series is displayed for the `dataLabels`. The animation can
  33470. * also be set as a configuration object. Please note that this option only
  33471. * applies to the initial animation. For other animations, see chart.animation
  33472. * and the animation parameter under the API methods. The following properties
  33473. * are supported:
  33474. *
  33475. * - `defer`: The animation delay time in milliseconds.
  33476. */
  33477. export interface PlotCmfDataLabelsAnimationOptions {
  33478. /**
  33479. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  33480. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  33481. * inherits defer time from the series.animation.defer.
  33482. */
  33483. defer?: number;
  33484. }
  33485. /**
  33486. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  33487. * appearing next to each data point.
  33488. *
  33489. * Since v6.2.0, multiple data labels can be applied to each single point by
  33490. * defining them as an array of configs.
  33491. *
  33492. * In styled mode, the data labels can be styled with the
  33493. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  33494. * example).
  33495. */
  33496. export interface PlotCmfDataLabelsOptions {
  33497. /**
  33498. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  33499. * compared to the point. If `right`, the right side of the label should be
  33500. * touching the point. For points with an extent, like columns, the
  33501. * alignments also dictates how to align it inside the box, as given with
  33502. * the inside option. Can be one of `left`, `center` or `right`.
  33503. */
  33504. align?: (AlignValue|null);
  33505. /**
  33506. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  33507. * overlap. To make the labels less sensitive for overlapping, the
  33508. * dataLabels.padding can be set to 0.
  33509. */
  33510. allowOverlap?: boolean;
  33511. /**
  33512. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  33513. * animation when a series is displayed for the `dataLabels`. The animation
  33514. * can also be set as a configuration object. Please note that this option
  33515. * only applies to the initial animation. For other animations, see
  33516. * chart.animation and the animation parameter under the API methods. The
  33517. * following properties are supported:
  33518. *
  33519. * - `defer`: The animation delay time in milliseconds.
  33520. */
  33521. animation?: (boolean|PlotCmfDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  33522. /**
  33523. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  33524. * for the data label.
  33525. */
  33526. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  33527. /**
  33528. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  33529. * label. Defaults to `undefined`.
  33530. */
  33531. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33532. /**
  33533. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  33534. * the data label.
  33535. */
  33536. borderRadius?: number;
  33537. /**
  33538. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  33539. * the data label.
  33540. */
  33541. borderWidth?: number;
  33542. /**
  33543. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  33544. * Particularly in styled mode, this can be used to give each series' or
  33545. * point's data label unique styling. In addition to this option, a default
  33546. * color class name is added so that we can give the labels a contrast text
  33547. * shadow.
  33548. */
  33549. className?: string;
  33550. /**
  33551. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  33552. * labels. Defaults to `undefined`. For certain series types, like column or
  33553. * map, the data labels can be drawn inside the points. In this case the
  33554. * data label will be drawn with maximum contrast by default. Additionally,
  33555. * it will be given a `text-outline` style with the opposite color, to
  33556. * further increase the contrast. This can be overridden by setting the
  33557. * `text-outline` style to `none` in the `dataLabels.style` option.
  33558. */
  33559. color?: (ColorString|GradientColorObject|PatternObject);
  33560. /**
  33561. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  33562. * are outside the plot area. By default, the data label is moved inside the
  33563. * plot area according to the overflow option.
  33564. */
  33565. crop?: boolean;
  33566. /**
  33567. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  33568. * labels until the initial series animation has finished. Setting to
  33569. * `false` renders the data label immediately. If set to `true` inherits the
  33570. * defer time set in plotOptions.series.animation. If set to a number, a
  33571. * defer time is specified in milliseconds.
  33572. */
  33573. defer?: (boolean|number);
  33574. /**
  33575. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  33576. * labels.
  33577. */
  33578. enabled?: boolean;
  33579. /**
  33580. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  33581. * of which data labels to display. The declarative filter is designed for
  33582. * use when callback functions are not available, like when the chart
  33583. * options require a pure JSON structure or for use with graphical editors.
  33584. * For programmatic control, use the `formatter` instead, and return
  33585. * `undefined` to disable a single data label.
  33586. */
  33587. filter?: DataLabelsFilterOptionsObject;
  33588. /**
  33589. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  33590. * label. Available variables are the same as for `formatter`.
  33591. */
  33592. format?: string;
  33593. /**
  33594. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  33595. * format the data label. Note that if a `format` is defined, the format
  33596. * takes precedence and the formatter is ignored.
  33597. */
  33598. formatter?: DataLabelsFormatterCallbackFunction;
  33599. /**
  33600. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  33601. * columns or map areas, whether to align the data label inside the box or
  33602. * to the actual value point. Defaults to `false` in most cases, `true` in
  33603. * stacked columns.
  33604. */
  33605. inside?: boolean;
  33606. /**
  33607. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  33608. * of null. Works analogously to format. `nullFormat` can be applied only to
  33609. * series which support displaying null points.
  33610. */
  33611. nullFormat?: (boolean|string);
  33612. /**
  33613. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  33614. * that defines formatting for points with the value of null. Works
  33615. * analogously to formatter. `nullPointFormatter` can be applied only to
  33616. * series which support displaying null points.
  33617. */
  33618. nullFormatter?: DataLabelsFormatterCallbackFunction;
  33619. /**
  33620. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  33621. * flow outside the plot area. The default is `"justify"`, which aligns them
  33622. * inside the plot area. For columns and bars, this means it will be moved
  33623. * inside the bar. To display data labels outside the plot area, set `crop`
  33624. * to `false` and `overflow` to `"allow"`.
  33625. */
  33626. overflow?: DataLabelsOverflowValue;
  33627. /**
  33628. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  33629. * the `backgroundColor` is set, this is the padding within the box.
  33630. */
  33631. padding?: number;
  33632. /**
  33633. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  33634. * points. If `center` alignment is not possible, it defaults to `right`.
  33635. */
  33636. position?: AlignValue;
  33637. /**
  33638. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  33639. * that due to a more complex structure, backgrounds, borders and padding
  33640. * will be lost on a rotated data label.
  33641. */
  33642. rotation?: number;
  33643. /**
  33644. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  33645. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  33646. * an object configuration containing `color`, `offsetX`, `offsetY`,
  33647. * `opacity` and `width`.
  33648. */
  33649. shadow?: (boolean|ShadowOptionsObject);
  33650. /**
  33651. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  33652. * the border around the label. Symbols are predefined functions on the
  33653. * Renderer object.
  33654. */
  33655. shape?: string;
  33656. /**
  33657. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  33658. * default `color` setting is `"contrast"`, which is a pseudo color that
  33659. * Highcharts picks up and applies the maximum contrast to the underlying
  33660. * point item, for example the bar in a bar chart.
  33661. *
  33662. * The `textOutline` is a pseudo property that applies an outline of the
  33663. * given width with the given color, which by default is the maximum
  33664. * contrast to the text. So a bright text color will result in a black text
  33665. * outline for maximum readability on a mixed background. In some cases,
  33666. * especially with grayscale text, the text outline doesn't work well, in
  33667. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  33668. * is true, the `textOutline` will not be picked up. In this, case, the same
  33669. * effect can be acheived through the `text-shadow` CSS property.
  33670. *
  33671. * For some series types, where each point has an extent, like for example
  33672. * tree maps, the data label may overflow the point. There are two
  33673. * strategies for handling overflow. By default, the text will wrap to
  33674. * multiple lines. The other strategy is to set `style.textOverflow` to
  33675. * `ellipsis`, which will keep the text on one line plus it will break
  33676. * inside long words.
  33677. */
  33678. style?: CSSObject;
  33679. /**
  33680. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  33681. * should follow marker's shape. Border and background are disabled for a
  33682. * label that follows a path.
  33683. *
  33684. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  33685. * to true will disable this option.
  33686. */
  33687. textPath?: DataLabelsTextPathOptionsObject;
  33688. /**
  33689. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  33690. * the labels.
  33691. */
  33692. useHTML?: boolean;
  33693. /**
  33694. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  33695. * label. Can be one of `top`, `middle` or `bottom`. The default value
  33696. * depends on the data, for instance in a column chart, the label is above
  33697. * positive values and below negative values.
  33698. */
  33699. verticalAlign?: (VerticalAlignValue|null);
  33700. /**
  33701. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  33702. * label relative to the point in pixels.
  33703. */
  33704. x?: number;
  33705. /**
  33706. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  33707. * label relative to the point in pixels.
  33708. */
  33709. y?: number;
  33710. /**
  33711. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  33712. * The default Z index puts it above the series. Use a Z index of 2 to
  33713. * display it behind the series.
  33714. */
  33715. z?: number;
  33716. }
  33717. /**
  33718. * (Highcharts, Highstock) Options for the series data sorting.
  33719. */
  33720. export interface PlotCmfDataSortingOptions {
  33721. /**
  33722. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  33723. * Use xAxis.reversed to change the sorting order.
  33724. */
  33725. enabled?: boolean;
  33726. /**
  33727. * (Highcharts, Highstock) Whether to allow matching points by name in an
  33728. * update. If this option is disabled, points will be matched by order.
  33729. */
  33730. matchByName?: boolean;
  33731. /**
  33732. * (Highcharts, Highstock) Determines what data value should be used to sort
  33733. * by.
  33734. */
  33735. sortKey?: string;
  33736. }
  33737. /**
  33738. * (Highstock) Chaikin Money Flow indicator (cmf).
  33739. *
  33740. * In TypeScript the type option must always be set.
  33741. *
  33742. * Configuration options for the series are given in three levels:
  33743. *
  33744. * 1. Options for all series in a chart are defined in the plotOptions.series
  33745. * object.
  33746. *
  33747. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  33748. *
  33749. * 3. Options for one single series are given in the series instance array. (see
  33750. * online documentation for example)
  33751. */
  33752. export interface PlotCmfOptions {
  33753. /**
  33754. * (Highstock) Accessibility options for a series.
  33755. */
  33756. accessibility?: SeriesAccessibilityOptionsObject;
  33757. /**
  33758. * (Highstock) Allow this series' points to be selected by clicking on the
  33759. * graphic (columns, point markers, pie slices, map areas etc).
  33760. *
  33761. * The selected points can be handled by point select and unselect events,
  33762. * or collectively by the getSelectedPoints function.
  33763. *
  33764. * And alternative way of selecting points is through dragging.
  33765. */
  33766. allowPointSelect?: boolean;
  33767. /**
  33768. * (Highstock) Enable or disable the initial animation when a series is
  33769. * displayed. The animation can also be set as a configuration object.
  33770. * Please note that this option only applies to the initial animation of the
  33771. * series itself. For other animations, see chart.animation and the
  33772. * animation parameter under the API methods. The following properties are
  33773. * supported:
  33774. *
  33775. * - `defer`: The animation delay time in milliseconds.
  33776. *
  33777. * - `duration`: The duration of the animation in milliseconds.
  33778. *
  33779. * - `easing`: Can be a string reference to an easing function set on the
  33780. * `Math` object or a function. See the _Custom easing function_ demo below.
  33781. *
  33782. * Due to poor performance, animation is disabled in old IE browsers for
  33783. * several chart types.
  33784. */
  33785. animation?: (boolean|PlotCmfAnimationOptions|Partial<AnimationOptionsObject>);
  33786. /**
  33787. * (Highstock) Sets the color blending in the boost module.
  33788. */
  33789. boostBlending?: OptionsBoostBlendingValue;
  33790. /**
  33791. * (Highstock) Set the point threshold for when a series should enter boost
  33792. * mode.
  33793. *
  33794. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  33795. * there are 2000 or more points in the series.
  33796. *
  33797. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  33798. * it to 1 will force boosting.
  33799. *
  33800. * Note that the cropThreshold also affects this setting. When zooming in on
  33801. * a series that has fewer points than the `cropThreshold`, all points are
  33802. * rendered although outside the visible plot area, and the `boostThreshold`
  33803. * won't take effect.
  33804. */
  33805. boostThreshold?: number;
  33806. /**
  33807. * (Highmaps) The border color of the map areas.
  33808. *
  33809. * In styled mode, the border stroke is given in the `.highcharts-point`
  33810. * class.
  33811. */
  33812. borderColor?: (ColorString|GradientColorObject|PatternObject);
  33813. /**
  33814. * (Highmaps) The border width of each map area.
  33815. *
  33816. * In styled mode, the border stroke width is given in the
  33817. * `.highcharts-point` class.
  33818. */
  33819. borderWidth?: number;
  33820. /**
  33821. * (Highstock) An additional class name to apply to the series' graphical
  33822. * elements. This option does not replace default class names of the
  33823. * graphical element.
  33824. */
  33825. className?: string;
  33826. /**
  33827. * (Highstock) Disable this option to allow series rendering in the whole
  33828. * plotting area.
  33829. *
  33830. * **Note:** Clipping should be always enabled when chart.zoomType is set
  33831. */
  33832. clip?: boolean;
  33833. /**
  33834. * (Highstock) The main color of the series. In line type series it applies
  33835. * to the line and the point markers unless otherwise specified. In bar type
  33836. * series it applies to the bars unless a color is specified per point. The
  33837. * default value is pulled from the `options.colors` array.
  33838. *
  33839. * In styled mode, the color can be defined by the colorIndex option. Also,
  33840. * the series color can be set with the `.highcharts-series`,
  33841. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  33842. * `.highcharts-series-{n}` class, or individual classes given by the
  33843. * `className` option.
  33844. */
  33845. color?: (ColorString|GradientColorObject|PatternObject);
  33846. /**
  33847. * (Highstock) Styled mode only. A specific color index to use for the
  33848. * series, so its graphic representations are given the class name
  33849. * `highcharts-color-{n}`.
  33850. */
  33851. colorIndex?: number;
  33852. /**
  33853. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  33854. * used to calculate point color if `colorAxis` is used. Requires to set
  33855. * `min` and `max` if some custom point property is used or if approximation
  33856. * for data grouping is set to `'sum'`.
  33857. */
  33858. colorKey?: string;
  33859. /**
  33860. * (Highstock) Compare the values of the series against the first non-null,
  33861. * non- zero value in the visible range. The y axis will show percentage or
  33862. * absolute change depending on whether `compare` is set to `"percent"` or
  33863. * `"value"`. When this is applied to multiple series, it allows comparing
  33864. * the development of the series against each other. Adds a `change` field
  33865. * to every point object.
  33866. */
  33867. compare?: string;
  33868. /**
  33869. * (Highstock) When compare is `percent`, this option dictates whether to
  33870. * use 0 or 100 as the base of comparison.
  33871. */
  33872. compareBase?: (0|100);
  33873. /**
  33874. * (Highstock) Defines if comparison should start from the first point
  33875. * within the visible range or should start from the first point **before**
  33876. * the range.
  33877. *
  33878. * In other words, this flag determines if first point within the visible
  33879. * range will have 0% (`compareStart=true`) or should have been already
  33880. * calculated according to the previous point (`compareStart=false`).
  33881. */
  33882. compareStart?: boolean;
  33883. /**
  33884. * (Highstock) Whether to compare indicator to the main series values or
  33885. * indicator values.
  33886. */
  33887. compareToMain?: boolean;
  33888. /**
  33889. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  33890. * series plot across the extremes.
  33891. */
  33892. connectEnds?: boolean;
  33893. /**
  33894. * (Highcharts, Highstock) Whether to connect a graph line across null
  33895. * points, or render a gap between the two points on either side of the
  33896. * null.
  33897. */
  33898. connectNulls?: boolean;
  33899. /**
  33900. * (Gantt) Override Pathfinder connector options for a series. Requires
  33901. * Highcharts Gantt to be loaded.
  33902. */
  33903. connectors?: SeriesConnectorsOptionsObject;
  33904. /**
  33905. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  33906. * rounded to its nearest pixel in order to render sharp on screen. In some
  33907. * cases, when there are a lot of densely packed columns, this leads to
  33908. * visible difference in column widths or distance between columns. In these
  33909. * cases, setting `crisp` to `false` may look better, even though each
  33910. * column is rendered blurry.
  33911. */
  33912. crisp?: boolean;
  33913. /**
  33914. * (Highcharts, Highstock) When the series contains less points than the
  33915. * crop threshold, all points are drawn, even if the points fall outside the
  33916. * visible plot area at the current zoom. The advantage of drawing all
  33917. * points (including markers and columns), is that animation is performed on
  33918. * updates. On the other hand, when the series contains more points than the
  33919. * crop threshold, the series data is cropped to only contain points that
  33920. * fall within the plot area. The advantage of cropping away invisible
  33921. * points is to increase performance on large series.
  33922. */
  33923. cropThreshold?: number;
  33924. /**
  33925. * (Highstock) You can set the cursor to "pointer" if you have click events
  33926. * attached to the series, to signal to the user that the points and lines
  33927. * can be clicked.
  33928. *
  33929. * In styled mode, the series cursor can be set with the same classes as
  33930. * listed under series.color.
  33931. */
  33932. cursor?: (string|CursorValue);
  33933. /**
  33934. * (Highstock) A reserved subspace to store options and values for
  33935. * customized functionality. Here you can add additional data for your own
  33936. * event callbacks and formatter callbacks.
  33937. */
  33938. custom?: Dictionary<any>;
  33939. /**
  33940. * (Highstock) Name of the dash style to use for the graph, or for some
  33941. * series types the outline of each shape.
  33942. *
  33943. * In styled mode, the stroke dash-array can be set with the same classes as
  33944. * listed under series.color.
  33945. */
  33946. dashStyle?: DashStyleValue;
  33947. /**
  33948. * (Highstock) Data grouping is the concept of sampling the data values into
  33949. * larger blocks in order to ease readability and increase performance of
  33950. * the JavaScript charts. Highcharts Stock by default applies data grouping
  33951. * when the points become closer than a certain pixel value, determined by
  33952. * the `groupPixelWidth` option.
  33953. *
  33954. * If data grouping is applied, the grouping information of grouped points
  33955. * can be read from the Point.dataGroup. If point options other than the
  33956. * data itself are set, for example `name` or `color` or custom properties,
  33957. * the grouping logic doesn't know how to group it. In this case the options
  33958. * of the first point instance are copied over to the group point. This can
  33959. * be altered through a custom `approximation` callback function.
  33960. */
  33961. dataGrouping?: DataGroupingOptionsObject;
  33962. /**
  33963. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  33964. * labels, appearing next to each data point.
  33965. *
  33966. * Since v6.2.0, multiple data labels can be applied to each single point by
  33967. * defining them as an array of configs.
  33968. *
  33969. * In styled mode, the data labels can be styled with the
  33970. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  33971. * (see example).
  33972. */
  33973. dataLabels?: (PlotCmfDataLabelsOptions|Array<PlotCmfDataLabelsOptions>);
  33974. /**
  33975. * (Highcharts, Highstock) Options for the series data sorting.
  33976. */
  33977. dataSorting?: (DataSortingOptionsObject|PlotCmfDataSortingOptions);
  33978. /**
  33979. * (Highstock) A description of the series to add to the screen reader
  33980. * information about the series.
  33981. */
  33982. description?: string;
  33983. /**
  33984. * (Highstock) Enable or disable the mouse tracking for a specific series.
  33985. * This includes point tooltips and click events on graphs and points. For
  33986. * large datasets it improves performance.
  33987. */
  33988. enableMouseTracking?: boolean;
  33989. /**
  33990. * (Highstock) General event handlers for the series items. These event
  33991. * hooks can also be attached to the series at run time using the
  33992. * `Highcharts.addEvent` function.
  33993. */
  33994. events?: SeriesEventsOptionsObject;
  33995. /**
  33996. * (Highstock) Determines whether the series should look for the nearest
  33997. * point in both dimensions or just the x-dimension when hovering the
  33998. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  33999. * series. If the data has duplicate x-values, it is recommended to set this
  34000. * to `'xy'` to allow hovering over all points.
  34001. *
  34002. * Applies only to series types using nearest neighbor search (not direct
  34003. * hover) for tooltip.
  34004. */
  34005. findNearestPointBy?: OptionsFindNearestPointByValue;
  34006. /**
  34007. * (Highstock) Defines when to display a gap in the graph, together with the
  34008. * gapUnit option.
  34009. *
  34010. * In case when `dataGrouping` is enabled, points can be grouped into a
  34011. * larger time span. This can make the grouped points to have a greater
  34012. * distance than the absolute value of `gapSize` property, which will result
  34013. * in disappearing graph completely. To prevent this situation the mentioned
  34014. * distance between grouped points is used instead of previously defined
  34015. * `gapSize`.
  34016. *
  34017. * In practice, this option is most often used to visualize gaps in time
  34018. * series. In a stock chart, intraday data is available for daytime hours,
  34019. * while gaps will appear in nights and weekends.
  34020. */
  34021. gapSize?: number;
  34022. /**
  34023. * (Highstock) Together with gapSize, this option defines where to draw gaps
  34024. * in the graph.
  34025. *
  34026. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  34027. * if the distance between two points is greater than 5 times that of the
  34028. * two closest points, the graph will be broken.
  34029. *
  34030. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  34031. * values, which on a datetime axis is milliseconds. This also applies to
  34032. * the navigator series that inherits gap options from the base series.
  34033. */
  34034. gapUnit?: OptionsGapUnitValue;
  34035. /**
  34036. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  34037. * chart width or only the zoomed area when zooming in on parts of the X
  34038. * axis. By default, the Y axis adjusts to the min and max of the visible
  34039. * data. Cartesian series only.
  34040. */
  34041. getExtremesFromAll?: boolean;
  34042. /**
  34043. * (Highstock) When set to `false` will prevent the series data from being
  34044. * included in any form of data export.
  34045. *
  34046. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  34047. * `includeInCSVExport`.
  34048. */
  34049. includeInDataExport?: boolean;
  34050. /**
  34051. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  34052. * series as possible in a natural way, seeking to avoid other series. The
  34053. * goal of this feature is to make the chart more easily readable, like if a
  34054. * human designer placed the labels in the optimal position.
  34055. *
  34056. * The series labels currently work with series types having a `graph` or an
  34057. * `area`.
  34058. */
  34059. label?: SeriesLabelOptionsObject;
  34060. /**
  34061. * (Highstock) The line marks the last price from all points.
  34062. */
  34063. lastPrice?: SeriesLastPriceOptionsObject;
  34064. /**
  34065. * (Highstock) The line marks the last price from visible range of points.
  34066. */
  34067. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  34068. /**
  34069. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  34070. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  34071. * the ends and bends.
  34072. */
  34073. linecap?: SeriesLinecapValue;
  34074. /**
  34075. * (Highcharts, Highstock) Pixel width of the graph line.
  34076. */
  34077. lineWidth?: number;
  34078. /**
  34079. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  34080. * based on. Required for this indicator.
  34081. */
  34082. linkedTo?: string;
  34083. /**
  34084. * (Highstock) Options for the point markers of line-like series. Properties
  34085. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  34086. * appearance of the markers. Other series types, like column series, don't
  34087. * have markers, but have visual options on the series level instead.
  34088. *
  34089. * In styled mode, the markers can be styled with the `.highcharts-point`,
  34090. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  34091. */
  34092. marker?: PointMarkerOptionsObject;
  34093. /**
  34094. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  34095. * If not set, it will be based on a technical indicator type and default
  34096. * params.
  34097. */
  34098. name?: string;
  34099. /**
  34100. * (Highstock) The color for the parts of the graph or points that are below
  34101. * the threshold. Note that `zones` takes precedence over the negative
  34102. * color. Using `negativeColor` is equivalent to applying a zone with value
  34103. * of 0.
  34104. */
  34105. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  34106. /**
  34107. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  34108. * dataLabels.
  34109. */
  34110. opacity?: number;
  34111. /**
  34112. * (Highstock) Paramters used in calculation of regression series' points.
  34113. */
  34114. params?: PlotCmfParamsOptions;
  34115. /**
  34116. * (Highstock) Properties for each single point.
  34117. */
  34118. point?: PlotSeriesPointOptions;
  34119. /**
  34120. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  34121. * individual series. Overrides the chart wide configuration.
  34122. */
  34123. pointDescriptionFormatter?: Function;
  34124. /**
  34125. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  34126. * true, the checkbox next to the series name in the legend will be checked
  34127. * for a selected series.
  34128. */
  34129. selected?: boolean;
  34130. /**
  34131. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  34132. * the shadow can be an object configuration containing `color`, `offsetX`,
  34133. * `offsetY`, `opacity` and `width`.
  34134. */
  34135. shadow?: (boolean|ShadowOptionsObject);
  34136. /**
  34137. * (Highstock) If true, a checkbox is displayed next to the legend item to
  34138. * allow selecting the series. The state of the checkbox is determined by
  34139. * the `selected` option.
  34140. */
  34141. showCheckbox?: boolean;
  34142. /**
  34143. * (Highstock) Whether to display this particular series or series type in
  34144. * the legend. Standalone series are shown in legend by default, and linked
  34145. * series are not. Since v7.2.0 it is possible to show series that use
  34146. * colorAxis by setting this option to `true`.
  34147. */
  34148. showInLegend?: boolean;
  34149. /**
  34150. * (Highstock) If set to `true`, the accessibility module will skip past the
  34151. * points in this series for keyboard navigation.
  34152. */
  34153. skipKeyboardNavigation?: boolean;
  34154. /**
  34155. * (Highcharts, Highstock) When this is true, the series will not cause the
  34156. * Y axis to cross the zero plane (or threshold option) unless the data
  34157. * actually crosses the plane.
  34158. *
  34159. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  34160. * make the Y axis show negative values according to the `minPadding`
  34161. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  34162. */
  34163. softThreshold?: boolean;
  34164. states?: SeriesStatesOptionsObject;
  34165. /**
  34166. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  34167. * values are `left`, `center` and `right`.
  34168. */
  34169. step?: OptionsStepValue;
  34170. /**
  34171. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  34172. * event on a series isn't triggered until the mouse moves over another
  34173. * series, or out of the plot area. When false, the `mouseOut` event on a
  34174. * series is triggered when the mouse leaves the area around the series'
  34175. * graph or markers. This also implies the tooltip when not shared. When
  34176. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  34177. * be hidden when moving the mouse between series. Defaults to true for line
  34178. * and area type series, but to false for columns, pies etc.
  34179. *
  34180. * **Note:** The boost module will force this option because of technical
  34181. * limitations.
  34182. */
  34183. stickyTracking?: boolean;
  34184. /**
  34185. * (Highcharts, Highstock) The threshold, also called zero level or base
  34186. * level. For line type series this is only used in conjunction with
  34187. * negativeColor.
  34188. */
  34189. threshold?: (number|null);
  34190. /**
  34191. * (Highstock) A configuration object for the tooltip rendering of each
  34192. * single series. Properties are inherited from tooltip, but only the
  34193. * following properties can be defined on a series level.
  34194. */
  34195. tooltip?: SeriesTooltipOptionsObject;
  34196. /**
  34197. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  34198. * is longer than this, only one dimensional arrays of numbers, or two
  34199. * dimensional arrays with x and y values are allowed. Also, only the first
  34200. * point is tested, and the rest are assumed to be the same format. This
  34201. * saves expensive data checking and indexing in long series. Set it to `0`
  34202. * disable.
  34203. *
  34204. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  34205. * two dimensional arrays are allowed.
  34206. */
  34207. turboThreshold?: number;
  34208. /**
  34209. * (Highstock) Set the initial visibility of the series.
  34210. */
  34211. visible?: boolean;
  34212. /**
  34213. * (Highmaps) Define the z index of the series.
  34214. */
  34215. zIndex?: number;
  34216. /**
  34217. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  34218. */
  34219. zoneAxis?: string;
  34220. /**
  34221. * (Highcharts, Highstock) An array defining zones within a series. Zones
  34222. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  34223. * the `zoneAxis` option. The zone definitions have to be in ascending order
  34224. * regarding to the value.
  34225. *
  34226. * In styled mode, the color zones are styled with the
  34227. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  34228. * option (view live demo).
  34229. */
  34230. zones?: Array<SeriesZonesOptionsObject>;
  34231. }
  34232. /**
  34233. * (Highstock) Paramters used in calculation of regression series' points.
  34234. */
  34235. export interface PlotCmfParamsOptions {
  34236. index?: string;
  34237. /**
  34238. * (Highstock) The base period for indicator calculations. This is the
  34239. * number of data points which are taken into account for the indicator
  34240. * calculations.
  34241. */
  34242. period?: number;
  34243. /**
  34244. * (Highstock) The id of another series to use its data as volume data for
  34245. * the indiator calculation.
  34246. */
  34247. volumeSeriesID?: string;
  34248. }
  34249. /**
  34250. * (Highstock) Enable or disable the initial animation when a series is
  34251. * displayed. The animation can also be set as a configuration object. Please
  34252. * note that this option only applies to the initial animation of the series
  34253. * itself. For other animations, see chart.animation and the animation parameter
  34254. * under the API methods. The following properties are supported:
  34255. *
  34256. * - `defer`: The animation delay time in milliseconds.
  34257. *
  34258. * - `duration`: The duration of the animation in milliseconds.
  34259. *
  34260. * - `easing`: Can be a string reference to an easing function set on the `Math`
  34261. * object or a function. See the _Custom easing function_ demo below.
  34262. *
  34263. * Due to poor performance, animation is disabled in old IE browsers for several
  34264. * chart types.
  34265. */
  34266. export interface PlotCmoAnimationOptions {
  34267. defer?: number;
  34268. }
  34269. /**
  34270. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34271. * animation when a series is displayed for the `dataLabels`. The animation can
  34272. * also be set as a configuration object. Please note that this option only
  34273. * applies to the initial animation. For other animations, see chart.animation
  34274. * and the animation parameter under the API methods. The following properties
  34275. * are supported:
  34276. *
  34277. * - `defer`: The animation delay time in milliseconds.
  34278. */
  34279. export interface PlotCmoDataLabelsAnimationOptions {
  34280. /**
  34281. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  34282. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  34283. * inherits defer time from the series.animation.defer.
  34284. */
  34285. defer?: number;
  34286. }
  34287. /**
  34288. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  34289. * appearing next to each data point.
  34290. *
  34291. * Since v6.2.0, multiple data labels can be applied to each single point by
  34292. * defining them as an array of configs.
  34293. *
  34294. * In styled mode, the data labels can be styled with the
  34295. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  34296. * example).
  34297. */
  34298. export interface PlotCmoDataLabelsOptions {
  34299. /**
  34300. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  34301. * compared to the point. If `right`, the right side of the label should be
  34302. * touching the point. For points with an extent, like columns, the
  34303. * alignments also dictates how to align it inside the box, as given with
  34304. * the inside option. Can be one of `left`, `center` or `right`.
  34305. */
  34306. align?: (AlignValue|null);
  34307. /**
  34308. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  34309. * overlap. To make the labels less sensitive for overlapping, the
  34310. * dataLabels.padding can be set to 0.
  34311. */
  34312. allowOverlap?: boolean;
  34313. /**
  34314. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  34315. * animation when a series is displayed for the `dataLabels`. The animation
  34316. * can also be set as a configuration object. Please note that this option
  34317. * only applies to the initial animation. For other animations, see
  34318. * chart.animation and the animation parameter under the API methods. The
  34319. * following properties are supported:
  34320. *
  34321. * - `defer`: The animation delay time in milliseconds.
  34322. */
  34323. animation?: (boolean|PlotCmoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  34324. /**
  34325. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  34326. * for the data label.
  34327. */
  34328. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  34329. /**
  34330. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  34331. * label. Defaults to `undefined`.
  34332. */
  34333. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34334. /**
  34335. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  34336. * the data label.
  34337. */
  34338. borderRadius?: number;
  34339. /**
  34340. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  34341. * the data label.
  34342. */
  34343. borderWidth?: number;
  34344. /**
  34345. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  34346. * Particularly in styled mode, this can be used to give each series' or
  34347. * point's data label unique styling. In addition to this option, a default
  34348. * color class name is added so that we can give the labels a contrast text
  34349. * shadow.
  34350. */
  34351. className?: string;
  34352. /**
  34353. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  34354. * labels. Defaults to `undefined`. For certain series types, like column or
  34355. * map, the data labels can be drawn inside the points. In this case the
  34356. * data label will be drawn with maximum contrast by default. Additionally,
  34357. * it will be given a `text-outline` style with the opposite color, to
  34358. * further increase the contrast. This can be overridden by setting the
  34359. * `text-outline` style to `none` in the `dataLabels.style` option.
  34360. */
  34361. color?: (ColorString|GradientColorObject|PatternObject);
  34362. /**
  34363. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  34364. * are outside the plot area. By default, the data label is moved inside the
  34365. * plot area according to the overflow option.
  34366. */
  34367. crop?: boolean;
  34368. /**
  34369. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  34370. * labels until the initial series animation has finished. Setting to
  34371. * `false` renders the data label immediately. If set to `true` inherits the
  34372. * defer time set in plotOptions.series.animation. If set to a number, a
  34373. * defer time is specified in milliseconds.
  34374. */
  34375. defer?: (boolean|number);
  34376. /**
  34377. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  34378. * labels.
  34379. */
  34380. enabled?: boolean;
  34381. /**
  34382. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  34383. * of which data labels to display. The declarative filter is designed for
  34384. * use when callback functions are not available, like when the chart
  34385. * options require a pure JSON structure or for use with graphical editors.
  34386. * For programmatic control, use the `formatter` instead, and return
  34387. * `undefined` to disable a single data label.
  34388. */
  34389. filter?: DataLabelsFilterOptionsObject;
  34390. /**
  34391. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  34392. * label. Available variables are the same as for `formatter`.
  34393. */
  34394. format?: string;
  34395. /**
  34396. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  34397. * format the data label. Note that if a `format` is defined, the format
  34398. * takes precedence and the formatter is ignored.
  34399. */
  34400. formatter?: DataLabelsFormatterCallbackFunction;
  34401. /**
  34402. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  34403. * columns or map areas, whether to align the data label inside the box or
  34404. * to the actual value point. Defaults to `false` in most cases, `true` in
  34405. * stacked columns.
  34406. */
  34407. inside?: boolean;
  34408. /**
  34409. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  34410. * of null. Works analogously to format. `nullFormat` can be applied only to
  34411. * series which support displaying null points.
  34412. */
  34413. nullFormat?: (boolean|string);
  34414. /**
  34415. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  34416. * that defines formatting for points with the value of null. Works
  34417. * analogously to formatter. `nullPointFormatter` can be applied only to
  34418. * series which support displaying null points.
  34419. */
  34420. nullFormatter?: DataLabelsFormatterCallbackFunction;
  34421. /**
  34422. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  34423. * flow outside the plot area. The default is `"justify"`, which aligns them
  34424. * inside the plot area. For columns and bars, this means it will be moved
  34425. * inside the bar. To display data labels outside the plot area, set `crop`
  34426. * to `false` and `overflow` to `"allow"`.
  34427. */
  34428. overflow?: DataLabelsOverflowValue;
  34429. /**
  34430. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  34431. * the `backgroundColor` is set, this is the padding within the box.
  34432. */
  34433. padding?: number;
  34434. /**
  34435. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  34436. * points. If `center` alignment is not possible, it defaults to `right`.
  34437. */
  34438. position?: AlignValue;
  34439. /**
  34440. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  34441. * that due to a more complex structure, backgrounds, borders and padding
  34442. * will be lost on a rotated data label.
  34443. */
  34444. rotation?: number;
  34445. /**
  34446. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  34447. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  34448. * an object configuration containing `color`, `offsetX`, `offsetY`,
  34449. * `opacity` and `width`.
  34450. */
  34451. shadow?: (boolean|ShadowOptionsObject);
  34452. /**
  34453. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  34454. * the border around the label. Symbols are predefined functions on the
  34455. * Renderer object.
  34456. */
  34457. shape?: string;
  34458. /**
  34459. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  34460. * default `color` setting is `"contrast"`, which is a pseudo color that
  34461. * Highcharts picks up and applies the maximum contrast to the underlying
  34462. * point item, for example the bar in a bar chart.
  34463. *
  34464. * The `textOutline` is a pseudo property that applies an outline of the
  34465. * given width with the given color, which by default is the maximum
  34466. * contrast to the text. So a bright text color will result in a black text
  34467. * outline for maximum readability on a mixed background. In some cases,
  34468. * especially with grayscale text, the text outline doesn't work well, in
  34469. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  34470. * is true, the `textOutline` will not be picked up. In this, case, the same
  34471. * effect can be acheived through the `text-shadow` CSS property.
  34472. *
  34473. * For some series types, where each point has an extent, like for example
  34474. * tree maps, the data label may overflow the point. There are two
  34475. * strategies for handling overflow. By default, the text will wrap to
  34476. * multiple lines. The other strategy is to set `style.textOverflow` to
  34477. * `ellipsis`, which will keep the text on one line plus it will break
  34478. * inside long words.
  34479. */
  34480. style?: CSSObject;
  34481. /**
  34482. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  34483. * should follow marker's shape. Border and background are disabled for a
  34484. * label that follows a path.
  34485. *
  34486. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  34487. * to true will disable this option.
  34488. */
  34489. textPath?: DataLabelsTextPathOptionsObject;
  34490. /**
  34491. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  34492. * the labels.
  34493. */
  34494. useHTML?: boolean;
  34495. /**
  34496. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  34497. * label. Can be one of `top`, `middle` or `bottom`. The default value
  34498. * depends on the data, for instance in a column chart, the label is above
  34499. * positive values and below negative values.
  34500. */
  34501. verticalAlign?: (VerticalAlignValue|null);
  34502. /**
  34503. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  34504. * label relative to the point in pixels.
  34505. */
  34506. x?: number;
  34507. /**
  34508. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  34509. * label relative to the point in pixels.
  34510. */
  34511. y?: number;
  34512. /**
  34513. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  34514. * The default Z index puts it above the series. Use a Z index of 2 to
  34515. * display it behind the series.
  34516. */
  34517. z?: number;
  34518. }
  34519. /**
  34520. * (Highcharts, Highstock) Options for the series data sorting.
  34521. */
  34522. export interface PlotCmoDataSortingOptions {
  34523. /**
  34524. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  34525. * Use xAxis.reversed to change the sorting order.
  34526. */
  34527. enabled?: boolean;
  34528. /**
  34529. * (Highcharts, Highstock) Whether to allow matching points by name in an
  34530. * update. If this option is disabled, points will be matched by order.
  34531. */
  34532. matchByName?: boolean;
  34533. /**
  34534. * (Highcharts, Highstock) Determines what data value should be used to sort
  34535. * by.
  34536. */
  34537. sortKey?: string;
  34538. }
  34539. /**
  34540. * (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This series
  34541. * requires the `linkedTo` option to be set and should be loaded after the
  34542. * `stock/indicators/indicators.js` file.
  34543. *
  34544. * In TypeScript the type option must always be set.
  34545. *
  34546. * Configuration options for the series are given in three levels:
  34547. *
  34548. * 1. Options for all series in a chart are defined in the plotOptions.series
  34549. * object.
  34550. *
  34551. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  34552. *
  34553. * 3. Options for one single series are given in the series instance array. (see
  34554. * online documentation for example)
  34555. */
  34556. export interface PlotCmoOptions {
  34557. /**
  34558. * (Highstock) Accessibility options for a series.
  34559. */
  34560. accessibility?: SeriesAccessibilityOptionsObject;
  34561. /**
  34562. * (Highstock) Allow this series' points to be selected by clicking on the
  34563. * graphic (columns, point markers, pie slices, map areas etc).
  34564. *
  34565. * The selected points can be handled by point select and unselect events,
  34566. * or collectively by the getSelectedPoints function.
  34567. *
  34568. * And alternative way of selecting points is through dragging.
  34569. */
  34570. allowPointSelect?: boolean;
  34571. /**
  34572. * (Highstock) Enable or disable the initial animation when a series is
  34573. * displayed. The animation can also be set as a configuration object.
  34574. * Please note that this option only applies to the initial animation of the
  34575. * series itself. For other animations, see chart.animation and the
  34576. * animation parameter under the API methods. The following properties are
  34577. * supported:
  34578. *
  34579. * - `defer`: The animation delay time in milliseconds.
  34580. *
  34581. * - `duration`: The duration of the animation in milliseconds.
  34582. *
  34583. * - `easing`: Can be a string reference to an easing function set on the
  34584. * `Math` object or a function. See the _Custom easing function_ demo below.
  34585. *
  34586. * Due to poor performance, animation is disabled in old IE browsers for
  34587. * several chart types.
  34588. */
  34589. animation?: (boolean|PlotCmoAnimationOptions|Partial<AnimationOptionsObject>);
  34590. /**
  34591. * (Highstock) For some series, there is a limit that shuts down initial
  34592. * animation by default when the total number of points in the chart is too
  34593. * high. For example, for a column chart and its derivatives, animation does
  34594. * not run if there is more than 250 points totally. To disable this cap,
  34595. * set `animationLimit` to `Infinity`.
  34596. */
  34597. animationLimit?: number;
  34598. /**
  34599. * (Highstock) Sets the color blending in the boost module.
  34600. */
  34601. boostBlending?: OptionsBoostBlendingValue;
  34602. /**
  34603. * (Highstock) Set the point threshold for when a series should enter boost
  34604. * mode.
  34605. *
  34606. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  34607. * there are 2000 or more points in the series.
  34608. *
  34609. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  34610. * it to 1 will force boosting.
  34611. *
  34612. * Note that the cropThreshold also affects this setting. When zooming in on
  34613. * a series that has fewer points than the `cropThreshold`, all points are
  34614. * rendered although outside the visible plot area, and the `boostThreshold`
  34615. * won't take effect.
  34616. */
  34617. boostThreshold?: number;
  34618. /**
  34619. * (Highmaps) The border color of the map areas.
  34620. *
  34621. * In styled mode, the border stroke is given in the `.highcharts-point`
  34622. * class.
  34623. */
  34624. borderColor?: (ColorString|GradientColorObject|PatternObject);
  34625. /**
  34626. * (Highmaps) The border width of each map area.
  34627. *
  34628. * In styled mode, the border stroke width is given in the
  34629. * `.highcharts-point` class.
  34630. */
  34631. borderWidth?: number;
  34632. /**
  34633. * (Highstock) An additional class name to apply to the series' graphical
  34634. * elements. This option does not replace default class names of the
  34635. * graphical element.
  34636. */
  34637. className?: string;
  34638. /**
  34639. * (Highstock) Disable this option to allow series rendering in the whole
  34640. * plotting area.
  34641. *
  34642. * **Note:** Clipping should be always enabled when chart.zoomType is set
  34643. */
  34644. clip?: boolean;
  34645. /**
  34646. * (Highstock) The main color of the series. In line type series it applies
  34647. * to the line and the point markers unless otherwise specified. In bar type
  34648. * series it applies to the bars unless a color is specified per point. The
  34649. * default value is pulled from the `options.colors` array.
  34650. *
  34651. * In styled mode, the color can be defined by the colorIndex option. Also,
  34652. * the series color can be set with the `.highcharts-series`,
  34653. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  34654. * `.highcharts-series-{n}` class, or individual classes given by the
  34655. * `className` option.
  34656. */
  34657. color?: (ColorString|GradientColorObject|PatternObject);
  34658. /**
  34659. * (Highstock) Styled mode only. A specific color index to use for the
  34660. * series, so its graphic representations are given the class name
  34661. * `highcharts-color-{n}`.
  34662. */
  34663. colorIndex?: number;
  34664. /**
  34665. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  34666. * used to calculate point color if `colorAxis` is used. Requires to set
  34667. * `min` and `max` if some custom point property is used or if approximation
  34668. * for data grouping is set to `'sum'`.
  34669. */
  34670. colorKey?: string;
  34671. /**
  34672. * (Highstock) Compare the values of the series against the first non-null,
  34673. * non- zero value in the visible range. The y axis will show percentage or
  34674. * absolute change depending on whether `compare` is set to `"percent"` or
  34675. * `"value"`. When this is applied to multiple series, it allows comparing
  34676. * the development of the series against each other. Adds a `change` field
  34677. * to every point object.
  34678. */
  34679. compare?: string;
  34680. /**
  34681. * (Highstock) When compare is `percent`, this option dictates whether to
  34682. * use 0 or 100 as the base of comparison.
  34683. */
  34684. compareBase?: (0|100);
  34685. /**
  34686. * (Highstock) Defines if comparison should start from the first point
  34687. * within the visible range or should start from the first point **before**
  34688. * the range.
  34689. *
  34690. * In other words, this flag determines if first point within the visible
  34691. * range will have 0% (`compareStart=true`) or should have been already
  34692. * calculated according to the previous point (`compareStart=false`).
  34693. */
  34694. compareStart?: boolean;
  34695. /**
  34696. * (Highstock) Whether to compare indicator to the main series values or
  34697. * indicator values.
  34698. */
  34699. compareToMain?: boolean;
  34700. /**
  34701. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  34702. * series plot across the extremes.
  34703. */
  34704. connectEnds?: boolean;
  34705. /**
  34706. * (Highcharts, Highstock) Whether to connect a graph line across null
  34707. * points, or render a gap between the two points on either side of the
  34708. * null.
  34709. */
  34710. connectNulls?: boolean;
  34711. /**
  34712. * (Gantt) Override Pathfinder connector options for a series. Requires
  34713. * Highcharts Gantt to be loaded.
  34714. */
  34715. connectors?: SeriesConnectorsOptionsObject;
  34716. /**
  34717. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  34718. * rounded to its nearest pixel in order to render sharp on screen. In some
  34719. * cases, when there are a lot of densely packed columns, this leads to
  34720. * visible difference in column widths or distance between columns. In these
  34721. * cases, setting `crisp` to `false` may look better, even though each
  34722. * column is rendered blurry.
  34723. */
  34724. crisp?: boolean;
  34725. /**
  34726. * (Highcharts, Highstock) When the series contains less points than the
  34727. * crop threshold, all points are drawn, even if the points fall outside the
  34728. * visible plot area at the current zoom. The advantage of drawing all
  34729. * points (including markers and columns), is that animation is performed on
  34730. * updates. On the other hand, when the series contains more points than the
  34731. * crop threshold, the series data is cropped to only contain points that
  34732. * fall within the plot area. The advantage of cropping away invisible
  34733. * points is to increase performance on large series.
  34734. */
  34735. cropThreshold?: number;
  34736. /**
  34737. * (Highstock) You can set the cursor to "pointer" if you have click events
  34738. * attached to the series, to signal to the user that the points and lines
  34739. * can be clicked.
  34740. *
  34741. * In styled mode, the series cursor can be set with the same classes as
  34742. * listed under series.color.
  34743. */
  34744. cursor?: (string|CursorValue);
  34745. /**
  34746. * (Highstock) A reserved subspace to store options and values for
  34747. * customized functionality. Here you can add additional data for your own
  34748. * event callbacks and formatter callbacks.
  34749. */
  34750. custom?: Dictionary<any>;
  34751. /**
  34752. * (Highstock) Name of the dash style to use for the graph, or for some
  34753. * series types the outline of each shape.
  34754. *
  34755. * In styled mode, the stroke dash-array can be set with the same classes as
  34756. * listed under series.color.
  34757. */
  34758. dashStyle?: DashStyleValue;
  34759. /**
  34760. * (Highstock) Data grouping is the concept of sampling the data values into
  34761. * larger blocks in order to ease readability and increase performance of
  34762. * the JavaScript charts. Highcharts Stock by default applies data grouping
  34763. * when the points become closer than a certain pixel value, determined by
  34764. * the `groupPixelWidth` option.
  34765. *
  34766. * If data grouping is applied, the grouping information of grouped points
  34767. * can be read from the Point.dataGroup. If point options other than the
  34768. * data itself are set, for example `name` or `color` or custom properties,
  34769. * the grouping logic doesn't know how to group it. In this case the options
  34770. * of the first point instance are copied over to the group point. This can
  34771. * be altered through a custom `approximation` callback function.
  34772. */
  34773. dataGrouping?: DataGroupingOptionsObject;
  34774. /**
  34775. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  34776. * labels, appearing next to each data point.
  34777. *
  34778. * Since v6.2.0, multiple data labels can be applied to each single point by
  34779. * defining them as an array of configs.
  34780. *
  34781. * In styled mode, the data labels can be styled with the
  34782. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  34783. * (see example).
  34784. */
  34785. dataLabels?: (PlotCmoDataLabelsOptions|Array<PlotCmoDataLabelsOptions>);
  34786. /**
  34787. * (Highcharts, Highstock) Options for the series data sorting.
  34788. */
  34789. dataSorting?: (DataSortingOptionsObject|PlotCmoDataSortingOptions);
  34790. /**
  34791. * (Highstock) A description of the series to add to the screen reader
  34792. * information about the series.
  34793. */
  34794. description?: string;
  34795. /**
  34796. * (Highstock) Enable or disable the mouse tracking for a specific series.
  34797. * This includes point tooltips and click events on graphs and points. For
  34798. * large datasets it improves performance.
  34799. */
  34800. enableMouseTracking?: boolean;
  34801. /**
  34802. * (Highstock) General event handlers for the series items. These event
  34803. * hooks can also be attached to the series at run time using the
  34804. * `Highcharts.addEvent` function.
  34805. */
  34806. events?: SeriesEventsOptionsObject;
  34807. /**
  34808. * (Highstock) Determines whether the series should look for the nearest
  34809. * point in both dimensions or just the x-dimension when hovering the
  34810. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  34811. * series. If the data has duplicate x-values, it is recommended to set this
  34812. * to `'xy'` to allow hovering over all points.
  34813. *
  34814. * Applies only to series types using nearest neighbor search (not direct
  34815. * hover) for tooltip.
  34816. */
  34817. findNearestPointBy?: OptionsFindNearestPointByValue;
  34818. /**
  34819. * (Highstock) Defines when to display a gap in the graph, together with the
  34820. * gapUnit option.
  34821. *
  34822. * In case when `dataGrouping` is enabled, points can be grouped into a
  34823. * larger time span. This can make the grouped points to have a greater
  34824. * distance than the absolute value of `gapSize` property, which will result
  34825. * in disappearing graph completely. To prevent this situation the mentioned
  34826. * distance between grouped points is used instead of previously defined
  34827. * `gapSize`.
  34828. *
  34829. * In practice, this option is most often used to visualize gaps in time
  34830. * series. In a stock chart, intraday data is available for daytime hours,
  34831. * while gaps will appear in nights and weekends.
  34832. */
  34833. gapSize?: number;
  34834. /**
  34835. * (Highstock) Together with gapSize, this option defines where to draw gaps
  34836. * in the graph.
  34837. *
  34838. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  34839. * if the distance between two points is greater than 5 times that of the
  34840. * two closest points, the graph will be broken.
  34841. *
  34842. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  34843. * values, which on a datetime axis is milliseconds. This also applies to
  34844. * the navigator series that inherits gap options from the base series.
  34845. */
  34846. gapUnit?: OptionsGapUnitValue;
  34847. /**
  34848. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  34849. * chart width or only the zoomed area when zooming in on parts of the X
  34850. * axis. By default, the Y axis adjusts to the min and max of the visible
  34851. * data. Cartesian series only.
  34852. */
  34853. getExtremesFromAll?: boolean;
  34854. /**
  34855. * (Highstock) When set to `false` will prevent the series data from being
  34856. * included in any form of data export.
  34857. *
  34858. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  34859. * `includeInCSVExport`.
  34860. */
  34861. includeInDataExport?: boolean;
  34862. /**
  34863. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  34864. * series as possible in a natural way, seeking to avoid other series. The
  34865. * goal of this feature is to make the chart more easily readable, like if a
  34866. * human designer placed the labels in the optimal position.
  34867. *
  34868. * The series labels currently work with series types having a `graph` or an
  34869. * `area`.
  34870. */
  34871. label?: SeriesLabelOptionsObject;
  34872. /**
  34873. * (Highstock) The line marks the last price from all points.
  34874. */
  34875. lastPrice?: SeriesLastPriceOptionsObject;
  34876. /**
  34877. * (Highstock) The line marks the last price from visible range of points.
  34878. */
  34879. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  34880. /**
  34881. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  34882. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  34883. * the ends and bends.
  34884. */
  34885. linecap?: SeriesLinecapValue;
  34886. /**
  34887. * (Highcharts, Highstock) Pixel width of the graph line.
  34888. */
  34889. lineWidth?: number;
  34890. /**
  34891. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  34892. * based on. Required for this indicator.
  34893. */
  34894. linkedTo?: string;
  34895. /**
  34896. * (Highstock) Options for the point markers of line-like series. Properties
  34897. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  34898. * appearance of the markers. Other series types, like column series, don't
  34899. * have markers, but have visual options on the series level instead.
  34900. *
  34901. * In styled mode, the markers can be styled with the `.highcharts-point`,
  34902. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  34903. */
  34904. marker?: PointMarkerOptionsObject;
  34905. /**
  34906. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  34907. * If not set, it will be based on a technical indicator type and default
  34908. * params.
  34909. */
  34910. name?: string;
  34911. /**
  34912. * (Highstock) The color for the parts of the graph or points that are below
  34913. * the threshold. Note that `zones` takes precedence over the negative
  34914. * color. Using `negativeColor` is equivalent to applying a zone with value
  34915. * of 0.
  34916. */
  34917. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  34918. /**
  34919. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  34920. * dataLabels.
  34921. */
  34922. opacity?: number;
  34923. /**
  34924. * (Highstock) Paramters used in calculation of regression series' points.
  34925. */
  34926. params?: PlotCmoParamsOptions;
  34927. /**
  34928. * (Highstock) Properties for each single point.
  34929. */
  34930. point?: PlotSeriesPointOptions;
  34931. /**
  34932. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  34933. * individual series. Overrides the chart wide configuration.
  34934. */
  34935. pointDescriptionFormatter?: Function;
  34936. /**
  34937. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  34938. * true, the checkbox next to the series name in the legend will be checked
  34939. * for a selected series.
  34940. */
  34941. selected?: boolean;
  34942. /**
  34943. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  34944. * the shadow can be an object configuration containing `color`, `offsetX`,
  34945. * `offsetY`, `opacity` and `width`.
  34946. */
  34947. shadow?: (boolean|ShadowOptionsObject);
  34948. /**
  34949. * (Highstock) If true, a checkbox is displayed next to the legend item to
  34950. * allow selecting the series. The state of the checkbox is determined by
  34951. * the `selected` option.
  34952. */
  34953. showCheckbox?: boolean;
  34954. /**
  34955. * (Highstock) Whether to display this particular series or series type in
  34956. * the legend. Standalone series are shown in legend by default, and linked
  34957. * series are not. Since v7.2.0 it is possible to show series that use
  34958. * colorAxis by setting this option to `true`.
  34959. */
  34960. showInLegend?: boolean;
  34961. /**
  34962. * (Highstock) If set to `true`, the accessibility module will skip past the
  34963. * points in this series for keyboard navigation.
  34964. */
  34965. skipKeyboardNavigation?: boolean;
  34966. /**
  34967. * (Highcharts, Highstock) When this is true, the series will not cause the
  34968. * Y axis to cross the zero plane (or threshold option) unless the data
  34969. * actually crosses the plane.
  34970. *
  34971. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  34972. * make the Y axis show negative values according to the `minPadding`
  34973. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  34974. */
  34975. softThreshold?: boolean;
  34976. states?: SeriesStatesOptionsObject;
  34977. /**
  34978. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  34979. * values are `left`, `center` and `right`.
  34980. */
  34981. step?: OptionsStepValue;
  34982. /**
  34983. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  34984. * event on a series isn't triggered until the mouse moves over another
  34985. * series, or out of the plot area. When false, the `mouseOut` event on a
  34986. * series is triggered when the mouse leaves the area around the series'
  34987. * graph or markers. This also implies the tooltip when not shared. When
  34988. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  34989. * be hidden when moving the mouse between series. Defaults to true for line
  34990. * and area type series, but to false for columns, pies etc.
  34991. *
  34992. * **Note:** The boost module will force this option because of technical
  34993. * limitations.
  34994. */
  34995. stickyTracking?: boolean;
  34996. /**
  34997. * (Highcharts, Highstock) The threshold, also called zero level or base
  34998. * level. For line type series this is only used in conjunction with
  34999. * negativeColor.
  35000. */
  35001. threshold?: (number|null);
  35002. /**
  35003. * (Highstock) A configuration object for the tooltip rendering of each
  35004. * single series. Properties are inherited from tooltip, but only the
  35005. * following properties can be defined on a series level.
  35006. */
  35007. tooltip?: SeriesTooltipOptionsObject;
  35008. /**
  35009. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  35010. * is longer than this, only one dimensional arrays of numbers, or two
  35011. * dimensional arrays with x and y values are allowed. Also, only the first
  35012. * point is tested, and the rest are assumed to be the same format. This
  35013. * saves expensive data checking and indexing in long series. Set it to `0`
  35014. * disable.
  35015. *
  35016. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  35017. * two dimensional arrays are allowed.
  35018. */
  35019. turboThreshold?: number;
  35020. /**
  35021. * (Highstock) Set the initial visibility of the series.
  35022. */
  35023. visible?: boolean;
  35024. /**
  35025. * (Highmaps) Define the z index of the series.
  35026. */
  35027. zIndex?: number;
  35028. /**
  35029. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  35030. */
  35031. zoneAxis?: string;
  35032. /**
  35033. * (Highcharts, Highstock) An array defining zones within a series. Zones
  35034. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  35035. * the `zoneAxis` option. The zone definitions have to be in ascending order
  35036. * regarding to the value.
  35037. *
  35038. * In styled mode, the color zones are styled with the
  35039. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  35040. * option (view live demo).
  35041. */
  35042. zones?: Array<SeriesZonesOptionsObject>;
  35043. }
  35044. /**
  35045. * (Highstock) Paramters used in calculation of regression series' points.
  35046. */
  35047. export interface PlotCmoParamsOptions {
  35048. /**
  35049. * (Highstock) The point index which indicator calculations will base. For
  35050. * example using OHLC data, index=2 means the indicator will be calculated
  35051. * using Low values.
  35052. */
  35053. index?: number;
  35054. /**
  35055. * (Highstock) The base period for indicator calculations. This is the
  35056. * number of data points which are taken into account for the indicator
  35057. * calculations.
  35058. */
  35059. period?: number;
  35060. }
  35061. /**
  35062. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  35063. * is displayed. The animation can also be set as a configuration object. Please
  35064. * note that this option only applies to the initial animation of the series
  35065. * itself. For other animations, see chart.animation and the animation parameter
  35066. * under the API methods. The following properties are supported:
  35067. *
  35068. * - `defer`: The animation delay time in milliseconds.
  35069. *
  35070. * - `duration`: The duration of the animation in milliseconds.
  35071. *
  35072. * - `easing`: Can be a string reference to an easing function set on the `Math`
  35073. * object or a function. See the _Custom easing function_ demo below.
  35074. *
  35075. * Due to poor performance, animation is disabled in old IE browsers for several
  35076. * chart types.
  35077. */
  35078. export interface PlotColumnAnimationOptions {
  35079. defer?: number;
  35080. }
  35081. /**
  35082. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  35083. * animation when a series is displayed for the `dataLabels`. The animation can
  35084. * also be set as a configuration object. Please note that this option only
  35085. * applies to the initial animation. For other animations, see chart.animation
  35086. * and the animation parameter under the API methods. The following properties
  35087. * are supported:
  35088. *
  35089. * - `defer`: The animation delay time in milliseconds.
  35090. */
  35091. export interface PlotColumnDataLabelsAnimationOptions {
  35092. /**
  35093. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  35094. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  35095. * inherits defer time from the series.animation.defer.
  35096. */
  35097. defer?: number;
  35098. }
  35099. /**
  35100. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  35101. * appearing next to each data point.
  35102. *
  35103. * Since v6.2.0, multiple data labels can be applied to each single point by
  35104. * defining them as an array of configs.
  35105. *
  35106. * In styled mode, the data labels can be styled with the
  35107. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  35108. * example).
  35109. */
  35110. export interface PlotColumnDataLabelsOptions {
  35111. /**
  35112. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  35113. * compared to the point. If `right`, the right side of the label should be
  35114. * touching the point. For points with an extent, like columns, the
  35115. * alignments also dictates how to align it inside the box, as given with
  35116. * the inside option. Can be one of `left`, `center` or `right`.
  35117. */
  35118. align?: string;
  35119. /**
  35120. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  35121. * overlap. To make the labels less sensitive for overlapping, the
  35122. * dataLabels.padding can be set to 0.
  35123. */
  35124. allowOverlap?: boolean;
  35125. /**
  35126. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  35127. * animation when a series is displayed for the `dataLabels`. The animation
  35128. * can also be set as a configuration object. Please note that this option
  35129. * only applies to the initial animation. For other animations, see
  35130. * chart.animation and the animation parameter under the API methods. The
  35131. * following properties are supported:
  35132. *
  35133. * - `defer`: The animation delay time in milliseconds.
  35134. */
  35135. animation?: (boolean|PlotColumnDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  35136. /**
  35137. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  35138. * for the data label.
  35139. */
  35140. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  35141. /**
  35142. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  35143. * label. Defaults to `undefined`.
  35144. */
  35145. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35146. /**
  35147. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  35148. * the data label.
  35149. */
  35150. borderRadius?: number;
  35151. /**
  35152. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  35153. * the data label.
  35154. */
  35155. borderWidth?: number;
  35156. /**
  35157. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  35158. * Particularly in styled mode, this can be used to give each series' or
  35159. * point's data label unique styling. In addition to this option, a default
  35160. * color class name is added so that we can give the labels a contrast text
  35161. * shadow.
  35162. */
  35163. className?: string;
  35164. /**
  35165. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  35166. * labels. Defaults to `undefined`. For certain series types, like column or
  35167. * map, the data labels can be drawn inside the points. In this case the
  35168. * data label will be drawn with maximum contrast by default. Additionally,
  35169. * it will be given a `text-outline` style with the opposite color, to
  35170. * further increase the contrast. This can be overridden by setting the
  35171. * `text-outline` style to `none` in the `dataLabels.style` option.
  35172. */
  35173. color?: (ColorString|GradientColorObject|PatternObject);
  35174. /**
  35175. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  35176. * are outside the plot area. By default, the data label is moved inside the
  35177. * plot area according to the overflow option.
  35178. */
  35179. crop?: boolean;
  35180. /**
  35181. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  35182. * labels until the initial series animation has finished. Setting to
  35183. * `false` renders the data label immediately. If set to `true` inherits the
  35184. * defer time set in plotOptions.series.animation. If set to a number, a
  35185. * defer time is specified in milliseconds.
  35186. */
  35187. defer?: (boolean|number);
  35188. /**
  35189. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  35190. * labels.
  35191. */
  35192. enabled?: boolean;
  35193. /**
  35194. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  35195. * of which data labels to display. The declarative filter is designed for
  35196. * use when callback functions are not available, like when the chart
  35197. * options require a pure JSON structure or for use with graphical editors.
  35198. * For programmatic control, use the `formatter` instead, and return
  35199. * `undefined` to disable a single data label.
  35200. */
  35201. filter?: DataLabelsFilterOptionsObject;
  35202. /**
  35203. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  35204. * label. Available variables are the same as for `formatter`.
  35205. */
  35206. format?: string;
  35207. /**
  35208. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  35209. * format the data label. Note that if a `format` is defined, the format
  35210. * takes precedence and the formatter is ignored.
  35211. */
  35212. formatter?: DataLabelsFormatterCallbackFunction;
  35213. /**
  35214. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  35215. * columns or map areas, whether to align the data label inside the box or
  35216. * to the actual value point. Defaults to `false` in most cases, `true` in
  35217. * stacked columns.
  35218. */
  35219. inside?: boolean;
  35220. /**
  35221. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  35222. * of null. Works analogously to format. `nullFormat` can be applied only to
  35223. * series which support displaying null points.
  35224. */
  35225. nullFormat?: (boolean|string);
  35226. /**
  35227. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  35228. * that defines formatting for points with the value of null. Works
  35229. * analogously to formatter. `nullPointFormatter` can be applied only to
  35230. * series which support displaying null points.
  35231. */
  35232. nullFormatter?: DataLabelsFormatterCallbackFunction;
  35233. /**
  35234. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  35235. * flow outside the plot area. The default is `"justify"`, which aligns them
  35236. * inside the plot area. For columns and bars, this means it will be moved
  35237. * inside the bar. To display data labels outside the plot area, set `crop`
  35238. * to `false` and `overflow` to `"allow"`.
  35239. */
  35240. overflow?: DataLabelsOverflowValue;
  35241. /**
  35242. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  35243. * the `backgroundColor` is set, this is the padding within the box.
  35244. */
  35245. padding?: number;
  35246. /**
  35247. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  35248. * points. If `center` alignment is not possible, it defaults to `right`.
  35249. */
  35250. position?: AlignValue;
  35251. /**
  35252. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  35253. * that due to a more complex structure, backgrounds, borders and padding
  35254. * will be lost on a rotated data label.
  35255. */
  35256. rotation?: number;
  35257. /**
  35258. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  35259. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  35260. * an object configuration containing `color`, `offsetX`, `offsetY`,
  35261. * `opacity` and `width`.
  35262. */
  35263. shadow?: (boolean|ShadowOptionsObject);
  35264. /**
  35265. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  35266. * the border around the label. Symbols are predefined functions on the
  35267. * Renderer object.
  35268. */
  35269. shape?: string;
  35270. /**
  35271. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  35272. * default `color` setting is `"contrast"`, which is a pseudo color that
  35273. * Highcharts picks up and applies the maximum contrast to the underlying
  35274. * point item, for example the bar in a bar chart.
  35275. *
  35276. * The `textOutline` is a pseudo property that applies an outline of the
  35277. * given width with the given color, which by default is the maximum
  35278. * contrast to the text. So a bright text color will result in a black text
  35279. * outline for maximum readability on a mixed background. In some cases,
  35280. * especially with grayscale text, the text outline doesn't work well, in
  35281. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  35282. * is true, the `textOutline` will not be picked up. In this, case, the same
  35283. * effect can be acheived through the `text-shadow` CSS property.
  35284. *
  35285. * For some series types, where each point has an extent, like for example
  35286. * tree maps, the data label may overflow the point. There are two
  35287. * strategies for handling overflow. By default, the text will wrap to
  35288. * multiple lines. The other strategy is to set `style.textOverflow` to
  35289. * `ellipsis`, which will keep the text on one line plus it will break
  35290. * inside long words.
  35291. */
  35292. style?: CSSObject;
  35293. /**
  35294. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  35295. * should follow marker's shape. Border and background are disabled for a
  35296. * label that follows a path.
  35297. *
  35298. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  35299. * to true will disable this option.
  35300. */
  35301. textPath?: DataLabelsTextPathOptionsObject;
  35302. /**
  35303. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  35304. * the labels.
  35305. */
  35306. useHTML?: boolean;
  35307. /**
  35308. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  35309. * label. Can be one of `top`, `middle` or `bottom`. The default value
  35310. * depends on the data, for instance in a column chart, the label is above
  35311. * positive values and below negative values.
  35312. */
  35313. verticalAlign?: string;
  35314. /**
  35315. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  35316. * label relative to the point in pixels.
  35317. */
  35318. x?: number;
  35319. /**
  35320. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  35321. * label relative to the point in pixels.
  35322. */
  35323. y?: number;
  35324. /**
  35325. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  35326. * The default Z index puts it above the series. Use a Z index of 2 to
  35327. * display it behind the series.
  35328. */
  35329. z?: number;
  35330. }
  35331. /**
  35332. * (Highcharts, Highstock) Options for the series data sorting.
  35333. */
  35334. export interface PlotColumnDataSortingOptions {
  35335. /**
  35336. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  35337. * Use xAxis.reversed to change the sorting order.
  35338. */
  35339. enabled?: boolean;
  35340. /**
  35341. * (Highcharts, Highstock) Whether to allow matching points by name in an
  35342. * update. If this option is disabled, points will be matched by order.
  35343. */
  35344. matchByName?: boolean;
  35345. /**
  35346. * (Highcharts, Highstock) Determines what data value should be used to sort
  35347. * by.
  35348. */
  35349. sortKey?: string;
  35350. }
  35351. /**
  35352. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  35353. * one state by default, the `default` state.
  35354. */
  35355. export interface PlotColumnDragDropGuideBoxOptions {
  35356. /**
  35357. * (Highcharts, Highstock) Style options for the guide box default state.
  35358. */
  35359. default?: DragDropGuideBoxOptionsObject;
  35360. }
  35361. /**
  35362. * (Highcharts, Highstock) Column series display one column per value along an X
  35363. * axis.
  35364. *
  35365. * In TypeScript the type option must always be set.
  35366. *
  35367. * Configuration options for the series are given in three levels:
  35368. *
  35369. * 1. Options for all series in a chart are defined in the plotOptions.series
  35370. * object.
  35371. *
  35372. * 2. Options for all `column` series are defined in plotOptions.column.
  35373. *
  35374. * 3. Options for one single series are given in the series instance array. (see
  35375. * online documentation for example)
  35376. */
  35377. export interface PlotColumnOptions {
  35378. /**
  35379. * (Highcharts, Highstock) Accessibility options for a series.
  35380. */
  35381. accessibility?: SeriesAccessibilityOptionsObject;
  35382. /**
  35383. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  35384. * rendered. If `true`, areas which don't correspond to a data point, are
  35385. * rendered as `null` points. If `false`, those areas are skipped.
  35386. */
  35387. allAreas?: boolean;
  35388. /**
  35389. * (Highcharts, Highstock) Allow this series' points to be selected by
  35390. * clicking on the graphic (columns, point markers, pie slices, map areas
  35391. * etc).
  35392. *
  35393. * The selected points can be handled by point select and unselect events,
  35394. * or collectively by the getSelectedPoints function.
  35395. *
  35396. * And alternative way of selecting points is through dragging.
  35397. */
  35398. allowPointSelect?: boolean;
  35399. /**
  35400. * (Highcharts, Highstock) Enable or disable the initial animation when a
  35401. * series is displayed. The animation can also be set as a configuration
  35402. * object. Please note that this option only applies to the initial
  35403. * animation of the series itself. For other animations, see chart.animation
  35404. * and the animation parameter under the API methods. The following
  35405. * properties are supported:
  35406. *
  35407. * - `defer`: The animation delay time in milliseconds.
  35408. *
  35409. * - `duration`: The duration of the animation in milliseconds.
  35410. *
  35411. * - `easing`: Can be a string reference to an easing function set on the
  35412. * `Math` object or a function. See the _Custom easing function_ demo below.
  35413. *
  35414. * Due to poor performance, animation is disabled in old IE browsers for
  35415. * several chart types.
  35416. */
  35417. animation?: (boolean|PlotColumnAnimationOptions|Partial<AnimationOptionsObject>);
  35418. /**
  35419. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  35420. * initial animation by default when the total number of points in the chart
  35421. * is too high. For example, for a column chart and its derivatives,
  35422. * animation does not run if there is more than 250 points totally. To
  35423. * disable this cap, set `animationLimit` to `Infinity`.
  35424. */
  35425. animationLimit?: number;
  35426. /**
  35427. * (Highcharts, Highstock) Sets the color blending in the boost module.
  35428. */
  35429. boostBlending?: OptionsBoostBlendingValue;
  35430. /**
  35431. * (Highcharts, Highstock) Set the point threshold for when a series should
  35432. * enter boost mode.
  35433. *
  35434. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  35435. * there are 2000 or more points in the series.
  35436. *
  35437. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  35438. * it to 1 will force boosting.
  35439. *
  35440. * Note that the cropThreshold also affects this setting. When zooming in on
  35441. * a series that has fewer points than the `cropThreshold`, all points are
  35442. * rendered although outside the visible plot area, and the `boostThreshold`
  35443. * won't take effect.
  35444. */
  35445. boostThreshold?: number;
  35446. /**
  35447. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  35448. * column or bar.
  35449. *
  35450. * In styled mode, the border stroke can be set with the `.highcharts-point`
  35451. * rule.
  35452. */
  35453. borderColor?: (ColorString|GradientColorObject|PatternObject);
  35454. /**
  35455. * (Highcharts, Highstock, Gantt) The corner radius of the border
  35456. * surrounding each column or bar.
  35457. */
  35458. borderRadius?: number;
  35459. /**
  35460. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  35461. * column or bar. Defaults to `1` when there is room for a border, but to
  35462. * `0` when the columns are so dense that a border would cover the next
  35463. * column.
  35464. *
  35465. * In styled mode, the stroke width can be set with the `.highcharts-point`
  35466. * rule.
  35467. */
  35468. borderWidth?: number;
  35469. /**
  35470. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  35471. * the category, ignoring null or missing points. When `false`, space will
  35472. * be reserved for null or missing points.
  35473. */
  35474. centerInCategory?: boolean;
  35475. /**
  35476. * (Highcharts, Highstock) An additional class name to apply to the series'
  35477. * graphical elements. This option does not replace default class names of
  35478. * the graphical element.
  35479. */
  35480. className?: string;
  35481. /**
  35482. * (Highcharts, Highstock) Disable this option to allow series rendering in
  35483. * the whole plotting area.
  35484. *
  35485. * **Note:** Clipping should be always enabled when chart.zoomType is set
  35486. */
  35487. clip?: boolean;
  35488. /**
  35489. * (Highcharts, Highstock) The main color of the series. In line type series
  35490. * it applies to the line and the point markers unless otherwise specified.
  35491. * In bar type series it applies to the bars unless a color is specified per
  35492. * point. The default value is pulled from the `options.colors` array.
  35493. *
  35494. * In styled mode, the color can be defined by the colorIndex option. Also,
  35495. * the series color can be set with the `.highcharts-series`,
  35496. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  35497. * `.highcharts-series-{n}` class, or individual classes given by the
  35498. * `className` option.
  35499. */
  35500. color?: (ColorString|GradientColorObject|PatternObject);
  35501. /**
  35502. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  35503. * this number defines which colorAxis the particular series is connected
  35504. * to. It refers to either the axis id or the index of the axis in the
  35505. * colorAxis array, with 0 being the first. Set this option to false to
  35506. * prevent a series from connecting to the default color axis.
  35507. *
  35508. * Since v7.2.0 the option can also be an axis id or an axis index instead
  35509. * of a boolean flag.
  35510. */
  35511. colorAxis?: (boolean|number|string);
  35512. /**
  35513. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  35514. * from the global colors or series-specific plotOptions.column.colors
  35515. * collections, this option determines whether the chart should receive one
  35516. * color per series or one color per point.
  35517. *
  35518. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  35519. * and instead this option gives the points individual color class names on
  35520. * the form `highcharts-color-{n}`.
  35521. */
  35522. colorByPoint?: boolean;
  35523. /**
  35524. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  35525. * for the series, so its graphic representations are given the class name
  35526. * `highcharts-color-{n}`.
  35527. */
  35528. colorIndex?: number;
  35529. /**
  35530. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  35531. * used to calculate point color if `colorAxis` is used. Requires to set
  35532. * `min` and `max` if some custom point property is used or if approximation
  35533. * for data grouping is set to `'sum'`.
  35534. */
  35535. colorKey?: string;
  35536. /**
  35537. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  35538. * color set to apply instead of the global colors when colorByPoint is
  35539. * true.
  35540. */
  35541. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  35542. /**
  35543. * (Highstock) Compare the values of the series against the first non-null,
  35544. * non- zero value in the visible range. The y axis will show percentage or
  35545. * absolute change depending on whether `compare` is set to `"percent"` or
  35546. * `"value"`. When this is applied to multiple series, it allows comparing
  35547. * the development of the series against each other. Adds a `change` field
  35548. * to every point object.
  35549. */
  35550. compare?: string;
  35551. /**
  35552. * (Highstock) When compare is `percent`, this option dictates whether to
  35553. * use 0 or 100 as the base of comparison.
  35554. */
  35555. compareBase?: (0|100);
  35556. /**
  35557. * (Highstock) Defines if comparison should start from the first point
  35558. * within the visible range or should start from the first point **before**
  35559. * the range.
  35560. *
  35561. * In other words, this flag determines if first point within the visible
  35562. * range will have 0% (`compareStart=true`) or should have been already
  35563. * calculated according to the previous point (`compareStart=false`).
  35564. */
  35565. compareStart?: boolean;
  35566. /**
  35567. * (Gantt) Override Pathfinder connector options for a series. Requires
  35568. * Highcharts Gantt to be loaded.
  35569. */
  35570. connectors?: SeriesConnectorsOptionsObject;
  35571. /**
  35572. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  35573. * rounded to its nearest pixel in order to render sharp on screen. In some
  35574. * cases, when there are a lot of densely packed columns, this leads to
  35575. * visible difference in column widths or distance between columns. In these
  35576. * cases, setting `crisp` to `false` may look better, even though each
  35577. * column is rendered blurry.
  35578. */
  35579. crisp?: boolean;
  35580. /**
  35581. * (Highcharts, Highstock, Gantt) When the series contains less points than
  35582. * the crop threshold, all points are drawn, event if the points fall
  35583. * outside the visible plot area at the current zoom. The advantage of
  35584. * drawing all points (including markers and columns), is that animation is
  35585. * performed on updates. On the other hand, when the series contains more
  35586. * points than the crop threshold, the series data is cropped to only
  35587. * contain points that fall within the plot area. The advantage of cropping
  35588. * away invisible points is to increase performance on large series.
  35589. */
  35590. cropThreshold?: number;
  35591. /**
  35592. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  35593. * click events attached to the series, to signal to the user that the
  35594. * points and lines can be clicked.
  35595. *
  35596. * In styled mode, the series cursor can be set with the same classes as
  35597. * listed under series.color.
  35598. */
  35599. cursor?: (string|CursorValue);
  35600. /**
  35601. * (Highcharts, Highstock) A reserved subspace to store options and values
  35602. * for customized functionality. Here you can add additional data for your
  35603. * own event callbacks and formatter callbacks.
  35604. */
  35605. custom?: Dictionary<any>;
  35606. /**
  35607. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  35608. * for some series types the outline of each shape.
  35609. *
  35610. * In styled mode, the stroke dash-array can be set with the same classes as
  35611. * listed under series.color.
  35612. */
  35613. dashStyle?: DashStyleValue;
  35614. /**
  35615. * (Highstock) Data grouping is the concept of sampling the data values into
  35616. * larger blocks in order to ease readability and increase performance of
  35617. * the JavaScript charts. Highcharts Stock by default applies data grouping
  35618. * when the points become closer than a certain pixel value, determined by
  35619. * the `groupPixelWidth` option.
  35620. *
  35621. * If data grouping is applied, the grouping information of grouped points
  35622. * can be read from the Point.dataGroup. If point options other than the
  35623. * data itself are set, for example `name` or `color` or custom properties,
  35624. * the grouping logic doesn't know how to group it. In this case the options
  35625. * of the first point instance are copied over to the group point. This can
  35626. * be altered through a custom `approximation` callback function.
  35627. */
  35628. dataGrouping?: DataGroupingOptionsObject;
  35629. /**
  35630. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  35631. * labels, appearing next to each data point.
  35632. *
  35633. * Since v6.2.0, multiple data labels can be applied to each single point by
  35634. * defining them as an array of configs.
  35635. *
  35636. * In styled mode, the data labels can be styled with the
  35637. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  35638. * (see example).
  35639. */
  35640. dataLabels?: (PlotColumnDataLabelsOptions|Array<PlotColumnDataLabelsOptions>);
  35641. /**
  35642. * (Highcharts, Highstock) Options for the series data sorting.
  35643. */
  35644. dataSorting?: (DataSortingOptionsObject|PlotColumnDataSortingOptions);
  35645. /**
  35646. * (Highcharts) Depth of the columns in a 3D column chart.
  35647. */
  35648. depth?: number;
  35649. /**
  35650. * (Highcharts, Highstock) A description of the series to add to the screen
  35651. * reader information about the series.
  35652. */
  35653. description?: string;
  35654. /**
  35655. * (Highcharts, Highstock) The draggable-points module allows points to be
  35656. * moved around or modified in the chart. In addition to the options
  35657. * mentioned under the `dragDrop` API structure, the module fires three
  35658. * events, point.dragStart, point.drag and point.drop.
  35659. */
  35660. dragDrop?: SeriesDragDropOptionsObject;
  35661. /**
  35662. * (Highcharts) 3D columns only. The color of the edges. Similar to
  35663. * `borderColor`, except it defaults to the same color as the column.
  35664. */
  35665. edgeColor?: ColorString;
  35666. /**
  35667. * (Highcharts) 3D columns only. The width of the colored edges.
  35668. */
  35669. edgeWidth?: number;
  35670. /**
  35671. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  35672. * specific series. This includes point tooltips and click events on graphs
  35673. * and points. For large datasets it improves performance.
  35674. */
  35675. enableMouseTracking?: boolean;
  35676. /**
  35677. * (Highcharts, Highstock) General event handlers for the series items.
  35678. * These event hooks can also be attached to the series at run time using
  35679. * the `Highcharts.addEvent` function.
  35680. */
  35681. events?: SeriesEventsOptionsObject;
  35682. /**
  35683. * (Highcharts, Highstock) Determines whether the series should look for the
  35684. * nearest point in both dimensions or just the x-dimension when hovering
  35685. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  35686. * other series. If the data has duplicate x-values, it is recommended to
  35687. * set this to `'xy'` to allow hovering over all points.
  35688. *
  35689. * Applies only to series types using nearest neighbor search (not direct
  35690. * hover) for tooltip.
  35691. */
  35692. findNearestPointBy?: OptionsFindNearestPointByValue;
  35693. /**
  35694. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  35695. * chart width or only the zoomed area when zooming in on parts of the X
  35696. * axis. By default, the Y axis adjusts to the min and max of the visible
  35697. * data. Cartesian series only.
  35698. */
  35699. getExtremesFromAll?: boolean;
  35700. /**
  35701. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  35702. * let them render independent of each other. Non-grouped columns will be
  35703. * laid out individually and overlap each other.
  35704. */
  35705. grouping?: boolean;
  35706. /**
  35707. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  35708. * axis units.
  35709. */
  35710. groupPadding?: number;
  35711. /**
  35712. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  35713. */
  35714. groupZPadding?: number;
  35715. /**
  35716. * (Highcharts, Highstock) When set to `false` will prevent the series data
  35717. * from being included in any form of data export.
  35718. *
  35719. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  35720. * `includeInCSVExport`.
  35721. */
  35722. includeInDataExport?: boolean;
  35723. /**
  35724. * (Highmaps) What property to join the `mapData` to the value data. For
  35725. * example, if joinBy is "code", the mapData items with a specific code is
  35726. * merged into the data with the same code. For maps loaded from GeoJSON,
  35727. * the keys may be held in each point's `properties` object.
  35728. *
  35729. * The joinBy option can also be an array of two values, where the first
  35730. * points to a key in the `mapData`, and the second points to another key in
  35731. * the `data`.
  35732. *
  35733. * When joinBy is `null`, the map items are joined by their position in the
  35734. * array, which performs much better in maps with many data points. This is
  35735. * the recommended option if you are printing more than a thousand data
  35736. * points and have a backend that can preprocess the data into a parallel
  35737. * array of the mapData.
  35738. */
  35739. joinBy?: (string|Array<string>);
  35740. /**
  35741. * (Highcharts, Highstock) An array specifying which option maps to which
  35742. * key in the data point array. This makes it convenient to work with
  35743. * unstructured data arrays from different sources.
  35744. */
  35745. keys?: Array<string>;
  35746. /**
  35747. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  35748. * series as possible in a natural way, seeking to avoid other series. The
  35749. * goal of this feature is to make the chart more easily readable, like if a
  35750. * human designer placed the labels in the optimal position.
  35751. *
  35752. * The series labels currently work with series types having a `graph` or an
  35753. * `area`.
  35754. */
  35755. label?: SeriesLabelOptionsObject;
  35756. /**
  35757. * (Highstock) The line marks the last price from all points.
  35758. */
  35759. lastPrice?: SeriesLastPriceOptionsObject;
  35760. /**
  35761. * (Highstock) The line marks the last price from visible range of points.
  35762. */
  35763. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  35764. /**
  35765. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  35766. * Additionally, the value can be ":previous" to link to the previous
  35767. * series. When two series are linked, only the first one appears in the
  35768. * legend. Toggling the visibility of this also toggles the linked series.
  35769. *
  35770. * If master series uses data sorting and linked series does not have its
  35771. * own sorting definition, the linked series will be sorted in the same
  35772. * order as the master one.
  35773. */
  35774. linkedTo?: string;
  35775. /**
  35776. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  35777. * column, translated to the height of a bar in a bar chart. This prevents
  35778. * the columns from becoming too wide when there is a small number of points
  35779. * in the chart.
  35780. */
  35781. maxPointWidth?: number;
  35782. /**
  35783. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  35784. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  35785. * to zero) point, set the minimal point length to a pixel value like 3\. In
  35786. * stacked column charts, minPointLength might not be respected for tightly
  35787. * packed values.
  35788. */
  35789. minPointLength?: number;
  35790. /**
  35791. * (Highstock) Options for the corresponding navigator series if
  35792. * `showInNavigator` is `true` for this series. Available options are the
  35793. * same as any series, documented at plotOptions and series.
  35794. *
  35795. * These options are merged with options in navigator.series, and will take
  35796. * precedence if the same option is defined both places.
  35797. */
  35798. navigatorOptions?: PlotSeriesOptions;
  35799. /**
  35800. * (Highcharts, Highstock) The color for the parts of the graph or points
  35801. * that are below the threshold. Note that `zones` takes precedence over the
  35802. * negative color. Using `negativeColor` is equivalent to applying a zone
  35803. * with value of 0.
  35804. */
  35805. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  35806. /**
  35807. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  35808. * and dataLabels.
  35809. */
  35810. opacity?: number;
  35811. /**
  35812. * (Highcharts, Highstock) Properties for each single point.
  35813. */
  35814. point?: PlotSeriesPointOptions;
  35815. /**
  35816. * (Highcharts, Highstock) Same as
  35817. * accessibility.series.descriptionFormatter, but for an individual series.
  35818. * Overrides the chart wide configuration.
  35819. */
  35820. pointDescriptionFormatter?: Function;
  35821. /**
  35822. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35823. * a series, `pointInterval` defines the interval of the x values. For
  35824. * example, if a series contains one value every decade starting from year
  35825. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  35826. * `pointInterval` is set in milliseconds.
  35827. *
  35828. * It can be also be combined with `pointIntervalUnit` to draw irregular
  35829. * time intervals.
  35830. *
  35831. * Please note that this options applies to the _series data_, not the
  35832. * interval of the axis ticks, which is independent.
  35833. */
  35834. pointInterval?: number;
  35835. /**
  35836. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  35837. * setting the pointInterval to irregular time units, `day`, `month` and
  35838. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  35839. * also takes the DST crossover into consideration when dealing with local
  35840. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  35841. * months, 10 years etc.
  35842. *
  35843. * Please note that this options applies to the _series data_, not the
  35844. * interval of the axis ticks, which is independent.
  35845. */
  35846. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  35847. /**
  35848. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  35849. * axis units.
  35850. */
  35851. pointPadding?: number;
  35852. /**
  35853. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  35854. * `number`.
  35855. *
  35856. * In a column chart, when pointPlacement is `"on"`, the point will not
  35857. * create any padding of the X axis. In a polar column chart this means that
  35858. * the first column points directly north. If the pointPlacement is
  35859. * `"between"`, the columns will be laid out between ticks. This is useful
  35860. * for example for visualising an amount between two points in time or in a
  35861. * certain sector of a polar chart.
  35862. *
  35863. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  35864. * is on the axis value, -0.5 is between this value and the previous, and
  35865. * 0.5 is between this value and the next. Unlike the textual options,
  35866. * numeric point placement options won't affect axis padding.
  35867. *
  35868. * Note that pointPlacement needs a pointRange to work. For column series
  35869. * this is computed, but for line-type series it needs to be set.
  35870. *
  35871. * For the `xrange` series type and gantt charts, if the Y axis is a
  35872. * category axis, the `pointPlacement` applies to the Y axis rather than the
  35873. * (typically datetime) X axis.
  35874. *
  35875. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  35876. */
  35877. pointPlacement?: (number|string);
  35878. /**
  35879. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  35880. * for. This determines the width of the column. On a categorized axis, the
  35881. * range will be 1 by default (one category unit). On linear and datetime
  35882. * axes, the range will be computed as the distance between the two closest
  35883. * data points.
  35884. *
  35885. * The default `null` means it is computed automatically, but this option
  35886. * can be used to override the automatic value.
  35887. *
  35888. * This option is set by default to 1 if data sorting is enabled.
  35889. */
  35890. pointRange?: (number|null);
  35891. /**
  35892. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  35893. * a series, pointStart defines on what value to start. For example, if a
  35894. * series contains one yearly value starting from 1945, set pointStart to
  35895. * 1945.
  35896. */
  35897. pointStart?: number;
  35898. /**
  35899. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  35900. * each column or bar point. When set to `undefined`, the width is
  35901. * calculated from the `pointPadding` and `groupPadding`. The width effects
  35902. * the dimension that is not based on the point value. For column series it
  35903. * is the hoizontal length and for bar series it is the vertical length.
  35904. */
  35905. pointWidth?: number;
  35906. /**
  35907. * (Highcharts, Highstock) Whether to select the series initially. If
  35908. * `showCheckbox` is true, the checkbox next to the series name in the
  35909. * legend will be checked for a selected series.
  35910. */
  35911. selected?: boolean;
  35912. /**
  35913. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  35914. * Since 2.3 the shadow can be an object configuration containing `color`,
  35915. * `offsetX`, `offsetY`, `opacity` and `width`.
  35916. */
  35917. shadow?: (boolean|ShadowOptionsObject);
  35918. /**
  35919. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  35920. * legend item to allow selecting the series. The state of the checkbox is
  35921. * determined by the `selected` option.
  35922. */
  35923. showCheckbox?: boolean;
  35924. /**
  35925. * (Highcharts, Highstock) Whether to display this particular series or
  35926. * series type in the legend. Standalone series are shown in legend by
  35927. * default, and linked series are not. Since v7.2.0 it is possible to show
  35928. * series that use colorAxis by setting this option to `true`.
  35929. */
  35930. showInLegend?: boolean;
  35931. /**
  35932. * (Highstock) Whether or not to show the series in the navigator. Takes
  35933. * precedence over navigator.baseSeries if defined.
  35934. */
  35935. showInNavigator?: boolean;
  35936. /**
  35937. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  35938. * skip past the points in this series for keyboard navigation.
  35939. */
  35940. skipKeyboardNavigation?: boolean;
  35941. /**
  35942. * (Highcharts, Highstock) When this is true, the series will not cause the
  35943. * Y axis to cross the zero plane (or threshold option) unless the data
  35944. * actually crosses the plane.
  35945. *
  35946. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  35947. * make the Y axis show negative values according to the `minPadding`
  35948. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  35949. */
  35950. softThreshold?: boolean;
  35951. /**
  35952. * (Highcharts, Highstock) Whether to stack the values of each series on top
  35953. * of each other. Possible values are `undefined` to disable, `"normal"` to
  35954. * stack by value or `"percent"`.
  35955. *
  35956. * When stacking is enabled, data must be sorted in ascending X order.
  35957. *
  35958. * Some stacking options are related to specific series types. In the
  35959. * streamgraph series type, the stacking option is set to `"stream"`. The
  35960. * second one is `"overlap"`, which only applies to waterfall series.
  35961. */
  35962. stacking?: OptionsStackingValue;
  35963. states?: SeriesStatesOptionsObject;
  35964. /**
  35965. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  35966. * `mouseOut` event on a series isn't triggered until the mouse moves over
  35967. * another series, or out of the plot area. When false, the `mouseOut` event
  35968. * on a series is triggered when the mouse leaves the area around the
  35969. * series' graph or markers. This also implies the tooltip when not shared.
  35970. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  35971. * will be hidden when moving the mouse between series. Defaults to true for
  35972. * line and area type series, but to false for columns, pies etc.
  35973. *
  35974. * **Note:** The boost module will force this option because of technical
  35975. * limitations.
  35976. */
  35977. stickyTracking?: boolean;
  35978. /**
  35979. * (Highcharts) The Y axis value to serve as the base for the columns, for
  35980. * distinguishing between values above and below a threshold. If `null`, the
  35981. * columns extend from the padding Y axis minimum.
  35982. */
  35983. threshold?: (number|null);
  35984. /**
  35985. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  35986. * of each single series. Properties are inherited from tooltip, but only
  35987. * the following properties can be defined on a series level.
  35988. */
  35989. tooltip?: SeriesTooltipOptionsObject;
  35990. /**
  35991. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  35992. * is longer than this, only one dimensional arrays of numbers, or two
  35993. * dimensional arrays with x and y values are allowed. Also, only the first
  35994. * point is tested, and the rest are assumed to be the same format. This
  35995. * saves expensive data checking and indexing in long series. Set it to `0`
  35996. * disable.
  35997. *
  35998. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  35999. * two dimensional arrays are allowed.
  36000. */
  36001. turboThreshold?: number;
  36002. /**
  36003. * (Highcharts, Highstock) Set the initial visibility of the series.
  36004. */
  36005. visible?: boolean;
  36006. /**
  36007. * (Highmaps) Define the z index of the series.
  36008. */
  36009. zIndex?: number;
  36010. /**
  36011. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  36012. */
  36013. zoneAxis?: string;
  36014. /**
  36015. * (Highcharts, Highstock) An array defining zones within a series. Zones
  36016. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  36017. * the `zoneAxis` option. The zone definitions have to be in ascending order
  36018. * regarding to the value.
  36019. *
  36020. * In styled mode, the color zones are styled with the
  36021. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  36022. * option (view live demo).
  36023. */
  36024. zones?: Array<SeriesZonesOptionsObject>;
  36025. }
  36026. /**
  36027. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  36028. * is displayed. The animation can also be set as a configuration object. Please
  36029. * note that this option only applies to the initial animation of the series
  36030. * itself. For other animations, see chart.animation and the animation parameter
  36031. * under the API methods. The following properties are supported:
  36032. *
  36033. * - `defer`: The animation delay time in milliseconds.
  36034. *
  36035. * - `duration`: The duration of the animation in milliseconds.
  36036. *
  36037. * - `easing`: Can be a string reference to an easing function set on the `Math`
  36038. * object or a function. See the _Custom easing function_ demo below.
  36039. *
  36040. * Due to poor performance, animation is disabled in old IE browsers for several
  36041. * chart types.
  36042. */
  36043. export interface PlotColumnpyramidAnimationOptions {
  36044. defer?: number;
  36045. }
  36046. /**
  36047. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36048. * animation when a series is displayed for the `dataLabels`. The animation can
  36049. * also be set as a configuration object. Please note that this option only
  36050. * applies to the initial animation. For other animations, see chart.animation
  36051. * and the animation parameter under the API methods. The following properties
  36052. * are supported:
  36053. *
  36054. * - `defer`: The animation delay time in milliseconds.
  36055. */
  36056. export interface PlotColumnpyramidDataLabelsAnimationOptions {
  36057. /**
  36058. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  36059. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  36060. * inherits defer time from the series.animation.defer.
  36061. */
  36062. defer?: number;
  36063. }
  36064. /**
  36065. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  36066. * appearing next to each data point.
  36067. *
  36068. * Since v6.2.0, multiple data labels can be applied to each single point by
  36069. * defining them as an array of configs.
  36070. *
  36071. * In styled mode, the data labels can be styled with the
  36072. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  36073. * example).
  36074. */
  36075. export interface PlotColumnpyramidDataLabelsOptions {
  36076. /**
  36077. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  36078. * compared to the point. If `right`, the right side of the label should be
  36079. * touching the point. For points with an extent, like columns, the
  36080. * alignments also dictates how to align it inside the box, as given with
  36081. * the inside option. Can be one of `left`, `center` or `right`.
  36082. */
  36083. align?: string;
  36084. /**
  36085. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  36086. * overlap. To make the labels less sensitive for overlapping, the
  36087. * dataLabels.padding can be set to 0.
  36088. */
  36089. allowOverlap?: boolean;
  36090. /**
  36091. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  36092. * animation when a series is displayed for the `dataLabels`. The animation
  36093. * can also be set as a configuration object. Please note that this option
  36094. * only applies to the initial animation. For other animations, see
  36095. * chart.animation and the animation parameter under the API methods. The
  36096. * following properties are supported:
  36097. *
  36098. * - `defer`: The animation delay time in milliseconds.
  36099. */
  36100. animation?: (boolean|PlotColumnpyramidDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  36101. /**
  36102. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  36103. * for the data label.
  36104. */
  36105. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  36106. /**
  36107. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  36108. * label. Defaults to `undefined`.
  36109. */
  36110. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36111. /**
  36112. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  36113. * the data label.
  36114. */
  36115. borderRadius?: number;
  36116. /**
  36117. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  36118. * the data label.
  36119. */
  36120. borderWidth?: number;
  36121. /**
  36122. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  36123. * Particularly in styled mode, this can be used to give each series' or
  36124. * point's data label unique styling. In addition to this option, a default
  36125. * color class name is added so that we can give the labels a contrast text
  36126. * shadow.
  36127. */
  36128. className?: string;
  36129. /**
  36130. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  36131. * labels. Defaults to `undefined`. For certain series types, like column or
  36132. * map, the data labels can be drawn inside the points. In this case the
  36133. * data label will be drawn with maximum contrast by default. Additionally,
  36134. * it will be given a `text-outline` style with the opposite color, to
  36135. * further increase the contrast. This can be overridden by setting the
  36136. * `text-outline` style to `none` in the `dataLabels.style` option.
  36137. */
  36138. color?: (ColorString|GradientColorObject|PatternObject);
  36139. /**
  36140. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  36141. * are outside the plot area. By default, the data label is moved inside the
  36142. * plot area according to the overflow option.
  36143. */
  36144. crop?: boolean;
  36145. /**
  36146. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  36147. * labels until the initial series animation has finished. Setting to
  36148. * `false` renders the data label immediately. If set to `true` inherits the
  36149. * defer time set in plotOptions.series.animation. If set to a number, a
  36150. * defer time is specified in milliseconds.
  36151. */
  36152. defer?: (boolean|number);
  36153. /**
  36154. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  36155. * labels.
  36156. */
  36157. enabled?: boolean;
  36158. /**
  36159. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  36160. * of which data labels to display. The declarative filter is designed for
  36161. * use when callback functions are not available, like when the chart
  36162. * options require a pure JSON structure or for use with graphical editors.
  36163. * For programmatic control, use the `formatter` instead, and return
  36164. * `undefined` to disable a single data label.
  36165. */
  36166. filter?: DataLabelsFilterOptionsObject;
  36167. /**
  36168. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  36169. * label. Available variables are the same as for `formatter`.
  36170. */
  36171. format?: string;
  36172. /**
  36173. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  36174. * format the data label. Note that if a `format` is defined, the format
  36175. * takes precedence and the formatter is ignored.
  36176. */
  36177. formatter?: DataLabelsFormatterCallbackFunction;
  36178. /**
  36179. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  36180. * columns or map areas, whether to align the data label inside the box or
  36181. * to the actual value point. Defaults to `false` in most cases, `true` in
  36182. * stacked columns.
  36183. */
  36184. inside?: boolean;
  36185. /**
  36186. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  36187. * of null. Works analogously to format. `nullFormat` can be applied only to
  36188. * series which support displaying null points.
  36189. */
  36190. nullFormat?: (boolean|string);
  36191. /**
  36192. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  36193. * that defines formatting for points with the value of null. Works
  36194. * analogously to formatter. `nullPointFormatter` can be applied only to
  36195. * series which support displaying null points.
  36196. */
  36197. nullFormatter?: DataLabelsFormatterCallbackFunction;
  36198. /**
  36199. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  36200. * flow outside the plot area. The default is `"justify"`, which aligns them
  36201. * inside the plot area. For columns and bars, this means it will be moved
  36202. * inside the bar. To display data labels outside the plot area, set `crop`
  36203. * to `false` and `overflow` to `"allow"`.
  36204. */
  36205. overflow?: DataLabelsOverflowValue;
  36206. /**
  36207. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  36208. * the `backgroundColor` is set, this is the padding within the box.
  36209. */
  36210. padding?: number;
  36211. /**
  36212. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  36213. * points. If `center` alignment is not possible, it defaults to `right`.
  36214. */
  36215. position?: AlignValue;
  36216. /**
  36217. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  36218. * that due to a more complex structure, backgrounds, borders and padding
  36219. * will be lost on a rotated data label.
  36220. */
  36221. rotation?: number;
  36222. /**
  36223. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  36224. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  36225. * an object configuration containing `color`, `offsetX`, `offsetY`,
  36226. * `opacity` and `width`.
  36227. */
  36228. shadow?: (boolean|ShadowOptionsObject);
  36229. /**
  36230. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  36231. * the border around the label. Symbols are predefined functions on the
  36232. * Renderer object.
  36233. */
  36234. shape?: string;
  36235. /**
  36236. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  36237. * default `color` setting is `"contrast"`, which is a pseudo color that
  36238. * Highcharts picks up and applies the maximum contrast to the underlying
  36239. * point item, for example the bar in a bar chart.
  36240. *
  36241. * The `textOutline` is a pseudo property that applies an outline of the
  36242. * given width with the given color, which by default is the maximum
  36243. * contrast to the text. So a bright text color will result in a black text
  36244. * outline for maximum readability on a mixed background. In some cases,
  36245. * especially with grayscale text, the text outline doesn't work well, in
  36246. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  36247. * is true, the `textOutline` will not be picked up. In this, case, the same
  36248. * effect can be acheived through the `text-shadow` CSS property.
  36249. *
  36250. * For some series types, where each point has an extent, like for example
  36251. * tree maps, the data label may overflow the point. There are two
  36252. * strategies for handling overflow. By default, the text will wrap to
  36253. * multiple lines. The other strategy is to set `style.textOverflow` to
  36254. * `ellipsis`, which will keep the text on one line plus it will break
  36255. * inside long words.
  36256. */
  36257. style?: CSSObject;
  36258. /**
  36259. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  36260. * should follow marker's shape. Border and background are disabled for a
  36261. * label that follows a path.
  36262. *
  36263. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  36264. * to true will disable this option.
  36265. */
  36266. textPath?: DataLabelsTextPathOptionsObject;
  36267. /**
  36268. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  36269. * the labels.
  36270. */
  36271. useHTML?: boolean;
  36272. /**
  36273. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  36274. * label. Can be one of `top`, `middle` or `bottom`. The default value
  36275. * depends on the data, for instance in a column chart, the label is above
  36276. * positive values and below negative values.
  36277. */
  36278. verticalAlign?: string;
  36279. /**
  36280. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  36281. * label relative to the point in pixels.
  36282. */
  36283. x?: number;
  36284. /**
  36285. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  36286. * label relative to the point in pixels.
  36287. */
  36288. y?: number;
  36289. /**
  36290. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  36291. * The default Z index puts it above the series. Use a Z index of 2 to
  36292. * display it behind the series.
  36293. */
  36294. z?: number;
  36295. }
  36296. /**
  36297. * (Highcharts, Highstock) Options for the series data sorting.
  36298. */
  36299. export interface PlotColumnpyramidDataSortingOptions {
  36300. /**
  36301. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  36302. * Use xAxis.reversed to change the sorting order.
  36303. */
  36304. enabled?: boolean;
  36305. /**
  36306. * (Highcharts, Highstock) Whether to allow matching points by name in an
  36307. * update. If this option is disabled, points will be matched by order.
  36308. */
  36309. matchByName?: boolean;
  36310. /**
  36311. * (Highcharts, Highstock) Determines what data value should be used to sort
  36312. * by.
  36313. */
  36314. sortKey?: string;
  36315. }
  36316. /**
  36317. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  36318. * one state by default, the `default` state.
  36319. */
  36320. export interface PlotColumnpyramidDragDropGuideBoxOptions {
  36321. /**
  36322. * (Highcharts, Highstock) Style options for the guide box default state.
  36323. */
  36324. default?: DragDropGuideBoxOptionsObject;
  36325. }
  36326. /**
  36327. * (Highcharts, Highstock) Column pyramid series display one pyramid per value
  36328. * along an X axis. To display horizontal pyramids, set chart.inverted to
  36329. * `true`.
  36330. *
  36331. * In TypeScript the type option must always be set.
  36332. *
  36333. * Configuration options for the series are given in three levels:
  36334. *
  36335. * 1. Options for all series in a chart are defined in the plotOptions.series
  36336. * object.
  36337. *
  36338. * 2. Options for all `columnpyramid` series are defined in
  36339. * plotOptions.columnpyramid.
  36340. *
  36341. * 3. Options for one single series are given in the series instance array. (see
  36342. * online documentation for example)
  36343. */
  36344. export interface PlotColumnpyramidOptions {
  36345. /**
  36346. * (Highcharts, Highstock) Accessibility options for a series.
  36347. */
  36348. accessibility?: SeriesAccessibilityOptionsObject;
  36349. /**
  36350. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  36351. * rendered. If `true`, areas which don't correspond to a data point, are
  36352. * rendered as `null` points. If `false`, those areas are skipped.
  36353. */
  36354. allAreas?: boolean;
  36355. /**
  36356. * (Highcharts, Highstock) Allow this series' points to be selected by
  36357. * clicking on the graphic (columns, point markers, pie slices, map areas
  36358. * etc).
  36359. *
  36360. * The selected points can be handled by point select and unselect events,
  36361. * or collectively by the getSelectedPoints function.
  36362. *
  36363. * And alternative way of selecting points is through dragging.
  36364. */
  36365. allowPointSelect?: boolean;
  36366. /**
  36367. * (Highcharts, Highstock) Enable or disable the initial animation when a
  36368. * series is displayed. The animation can also be set as a configuration
  36369. * object. Please note that this option only applies to the initial
  36370. * animation of the series itself. For other animations, see chart.animation
  36371. * and the animation parameter under the API methods. The following
  36372. * properties are supported:
  36373. *
  36374. * - `defer`: The animation delay time in milliseconds.
  36375. *
  36376. * - `duration`: The duration of the animation in milliseconds.
  36377. *
  36378. * - `easing`: Can be a string reference to an easing function set on the
  36379. * `Math` object or a function. See the _Custom easing function_ demo below.
  36380. *
  36381. * Due to poor performance, animation is disabled in old IE browsers for
  36382. * several chart types.
  36383. */
  36384. animation?: (boolean|PlotColumnpyramidAnimationOptions|Partial<AnimationOptionsObject>);
  36385. /**
  36386. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  36387. * initial animation by default when the total number of points in the chart
  36388. * is too high. For example, for a column chart and its derivatives,
  36389. * animation does not run if there is more than 250 points totally. To
  36390. * disable this cap, set `animationLimit` to `Infinity`.
  36391. */
  36392. animationLimit?: number;
  36393. /**
  36394. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  36395. * column or bar.
  36396. *
  36397. * In styled mode, the border stroke can be set with the `.highcharts-point`
  36398. * rule.
  36399. */
  36400. borderColor?: (ColorString|GradientColorObject|PatternObject);
  36401. /**
  36402. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  36403. * column or bar. Defaults to `1` when there is room for a border, but to
  36404. * `0` when the columns are so dense that a border would cover the next
  36405. * column.
  36406. *
  36407. * In styled mode, the stroke width can be set with the `.highcharts-point`
  36408. * rule.
  36409. */
  36410. borderWidth?: number;
  36411. /**
  36412. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  36413. * the category, ignoring null or missing points. When `false`, space will
  36414. * be reserved for null or missing points.
  36415. */
  36416. centerInCategory?: boolean;
  36417. /**
  36418. * (Highcharts, Highstock) An additional class name to apply to the series'
  36419. * graphical elements. This option does not replace default class names of
  36420. * the graphical element.
  36421. */
  36422. className?: string;
  36423. /**
  36424. * (Highcharts, Highstock) Disable this option to allow series rendering in
  36425. * the whole plotting area.
  36426. *
  36427. * **Note:** Clipping should be always enabled when chart.zoomType is set
  36428. */
  36429. clip?: boolean;
  36430. /**
  36431. * (Highcharts, Highstock) The main color of the series. In line type series
  36432. * it applies to the line and the point markers unless otherwise specified.
  36433. * In bar type series it applies to the bars unless a color is specified per
  36434. * point. The default value is pulled from the `options.colors` array.
  36435. *
  36436. * In styled mode, the color can be defined by the colorIndex option. Also,
  36437. * the series color can be set with the `.highcharts-series`,
  36438. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  36439. * `.highcharts-series-{n}` class, or individual classes given by the
  36440. * `className` option.
  36441. */
  36442. color?: (ColorString|GradientColorObject|PatternObject);
  36443. /**
  36444. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  36445. * this number defines which colorAxis the particular series is connected
  36446. * to. It refers to either the axis id or the index of the axis in the
  36447. * colorAxis array, with 0 being the first. Set this option to false to
  36448. * prevent a series from connecting to the default color axis.
  36449. *
  36450. * Since v7.2.0 the option can also be an axis id or an axis index instead
  36451. * of a boolean flag.
  36452. */
  36453. colorAxis?: (boolean|number|string);
  36454. /**
  36455. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  36456. * from the global colors or series-specific plotOptions.column.colors
  36457. * collections, this option determines whether the chart should receive one
  36458. * color per series or one color per point.
  36459. *
  36460. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  36461. * and instead this option gives the points individual color class names on
  36462. * the form `highcharts-color-{n}`.
  36463. */
  36464. colorByPoint?: boolean;
  36465. /**
  36466. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  36467. * for the series, so its graphic representations are given the class name
  36468. * `highcharts-color-{n}`.
  36469. */
  36470. colorIndex?: number;
  36471. /**
  36472. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  36473. * used to calculate point color if `colorAxis` is used. Requires to set
  36474. * `min` and `max` if some custom point property is used or if approximation
  36475. * for data grouping is set to `'sum'`.
  36476. */
  36477. colorKey?: string;
  36478. /**
  36479. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  36480. * color set to apply instead of the global colors when colorByPoint is
  36481. * true.
  36482. */
  36483. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  36484. /**
  36485. * (Highstock) Compare the values of the series against the first non-null,
  36486. * non- zero value in the visible range. The y axis will show percentage or
  36487. * absolute change depending on whether `compare` is set to `"percent"` or
  36488. * `"value"`. When this is applied to multiple series, it allows comparing
  36489. * the development of the series against each other. Adds a `change` field
  36490. * to every point object.
  36491. */
  36492. compare?: string;
  36493. /**
  36494. * (Highstock) When compare is `percent`, this option dictates whether to
  36495. * use 0 or 100 as the base of comparison.
  36496. */
  36497. compareBase?: (0|100);
  36498. /**
  36499. * (Highstock) Defines if comparison should start from the first point
  36500. * within the visible range or should start from the first point **before**
  36501. * the range.
  36502. *
  36503. * In other words, this flag determines if first point within the visible
  36504. * range will have 0% (`compareStart=true`) or should have been already
  36505. * calculated according to the previous point (`compareStart=false`).
  36506. */
  36507. compareStart?: boolean;
  36508. /**
  36509. * (Gantt) Override Pathfinder connector options for a series. Requires
  36510. * Highcharts Gantt to be loaded.
  36511. */
  36512. connectors?: SeriesConnectorsOptionsObject;
  36513. /**
  36514. * (Highcharts, Highstock, Gantt) When the series contains less points than
  36515. * the crop threshold, all points are drawn, event if the points fall
  36516. * outside the visible plot area at the current zoom. The advantage of
  36517. * drawing all points (including markers and columns), is that animation is
  36518. * performed on updates. On the other hand, when the series contains more
  36519. * points than the crop threshold, the series data is cropped to only
  36520. * contain points that fall within the plot area. The advantage of cropping
  36521. * away invisible points is to increase performance on large series.
  36522. */
  36523. cropThreshold?: number;
  36524. /**
  36525. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  36526. * click events attached to the series, to signal to the user that the
  36527. * points and lines can be clicked.
  36528. *
  36529. * In styled mode, the series cursor can be set with the same classes as
  36530. * listed under series.color.
  36531. */
  36532. cursor?: (string|CursorValue);
  36533. /**
  36534. * (Highcharts, Highstock) A reserved subspace to store options and values
  36535. * for customized functionality. Here you can add additional data for your
  36536. * own event callbacks and formatter callbacks.
  36537. */
  36538. custom?: Dictionary<any>;
  36539. /**
  36540. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  36541. * for some series types the outline of each shape.
  36542. *
  36543. * In styled mode, the stroke dash-array can be set with the same classes as
  36544. * listed under series.color.
  36545. */
  36546. dashStyle?: DashStyleValue;
  36547. /**
  36548. * (Highstock) Data grouping is the concept of sampling the data values into
  36549. * larger blocks in order to ease readability and increase performance of
  36550. * the JavaScript charts. Highcharts Stock by default applies data grouping
  36551. * when the points become closer than a certain pixel value, determined by
  36552. * the `groupPixelWidth` option.
  36553. *
  36554. * If data grouping is applied, the grouping information of grouped points
  36555. * can be read from the Point.dataGroup. If point options other than the
  36556. * data itself are set, for example `name` or `color` or custom properties,
  36557. * the grouping logic doesn't know how to group it. In this case the options
  36558. * of the first point instance are copied over to the group point. This can
  36559. * be altered through a custom `approximation` callback function.
  36560. */
  36561. dataGrouping?: DataGroupingOptionsObject;
  36562. /**
  36563. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  36564. * labels, appearing next to each data point.
  36565. *
  36566. * Since v6.2.0, multiple data labels can be applied to each single point by
  36567. * defining them as an array of configs.
  36568. *
  36569. * In styled mode, the data labels can be styled with the
  36570. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  36571. * (see example).
  36572. */
  36573. dataLabels?: (PlotColumnpyramidDataLabelsOptions|Array<PlotColumnpyramidDataLabelsOptions>);
  36574. /**
  36575. * (Highcharts, Highstock) Options for the series data sorting.
  36576. */
  36577. dataSorting?: (DataSortingOptionsObject|PlotColumnpyramidDataSortingOptions);
  36578. /**
  36579. * (Highcharts, Highstock) A description of the series to add to the screen
  36580. * reader information about the series.
  36581. */
  36582. description?: string;
  36583. /**
  36584. * (Highcharts, Highstock) The draggable-points module allows points to be
  36585. * moved around or modified in the chart. In addition to the options
  36586. * mentioned under the `dragDrop` API structure, the module fires three
  36587. * events, point.dragStart, point.drag and point.drop.
  36588. */
  36589. dragDrop?: SeriesDragDropOptionsObject;
  36590. /**
  36591. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  36592. * specific series. This includes point tooltips and click events on graphs
  36593. * and points. For large datasets it improves performance.
  36594. */
  36595. enableMouseTracking?: boolean;
  36596. /**
  36597. * (Highcharts, Highstock) General event handlers for the series items.
  36598. * These event hooks can also be attached to the series at run time using
  36599. * the `Highcharts.addEvent` function.
  36600. */
  36601. events?: SeriesEventsOptionsObject;
  36602. /**
  36603. * (Highcharts, Highstock) Determines whether the series should look for the
  36604. * nearest point in both dimensions or just the x-dimension when hovering
  36605. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  36606. * other series. If the data has duplicate x-values, it is recommended to
  36607. * set this to `'xy'` to allow hovering over all points.
  36608. *
  36609. * Applies only to series types using nearest neighbor search (not direct
  36610. * hover) for tooltip.
  36611. */
  36612. findNearestPointBy?: OptionsFindNearestPointByValue;
  36613. /**
  36614. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  36615. * chart width or only the zoomed area when zooming in on parts of the X
  36616. * axis. By default, the Y axis adjusts to the min and max of the visible
  36617. * data. Cartesian series only.
  36618. */
  36619. getExtremesFromAll?: boolean;
  36620. /**
  36621. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  36622. * let them render independent of each other. Non-grouped columns will be
  36623. * laid out individually and overlap each other.
  36624. */
  36625. grouping?: boolean;
  36626. /**
  36627. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  36628. * axis units.
  36629. */
  36630. groupPadding?: number;
  36631. /**
  36632. * (Highcharts, Highstock) When set to `false` will prevent the series data
  36633. * from being included in any form of data export.
  36634. *
  36635. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  36636. * `includeInCSVExport`.
  36637. */
  36638. includeInDataExport?: boolean;
  36639. /**
  36640. * (Highmaps) What property to join the `mapData` to the value data. For
  36641. * example, if joinBy is "code", the mapData items with a specific code is
  36642. * merged into the data with the same code. For maps loaded from GeoJSON,
  36643. * the keys may be held in each point's `properties` object.
  36644. *
  36645. * The joinBy option can also be an array of two values, where the first
  36646. * points to a key in the `mapData`, and the second points to another key in
  36647. * the `data`.
  36648. *
  36649. * When joinBy is `null`, the map items are joined by their position in the
  36650. * array, which performs much better in maps with many data points. This is
  36651. * the recommended option if you are printing more than a thousand data
  36652. * points and have a backend that can preprocess the data into a parallel
  36653. * array of the mapData.
  36654. */
  36655. joinBy?: (string|Array<string>);
  36656. /**
  36657. * (Highcharts, Highstock) An array specifying which option maps to which
  36658. * key in the data point array. This makes it convenient to work with
  36659. * unstructured data arrays from different sources.
  36660. */
  36661. keys?: Array<string>;
  36662. /**
  36663. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  36664. * series as possible in a natural way, seeking to avoid other series. The
  36665. * goal of this feature is to make the chart more easily readable, like if a
  36666. * human designer placed the labels in the optimal position.
  36667. *
  36668. * The series labels currently work with series types having a `graph` or an
  36669. * `area`.
  36670. */
  36671. label?: SeriesLabelOptionsObject;
  36672. /**
  36673. * (Highstock) The line marks the last price from all points.
  36674. */
  36675. lastPrice?: SeriesLastPriceOptionsObject;
  36676. /**
  36677. * (Highstock) The line marks the last price from visible range of points.
  36678. */
  36679. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  36680. /**
  36681. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  36682. * Additionally, the value can be ":previous" to link to the previous
  36683. * series. When two series are linked, only the first one appears in the
  36684. * legend. Toggling the visibility of this also toggles the linked series.
  36685. *
  36686. * If master series uses data sorting and linked series does not have its
  36687. * own sorting definition, the linked series will be sorted in the same
  36688. * order as the master one.
  36689. */
  36690. linkedTo?: string;
  36691. /**
  36692. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  36693. * column, translated to the height of a bar in a bar chart. This prevents
  36694. * the columns from becoming too wide when there is a small number of points
  36695. * in the chart.
  36696. */
  36697. maxPointWidth?: number;
  36698. /**
  36699. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  36700. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  36701. * to zero) point, set the minimal point length to a pixel value like 3\. In
  36702. * stacked column charts, minPointLength might not be respected for tightly
  36703. * packed values.
  36704. */
  36705. minPointLength?: number;
  36706. /**
  36707. * (Highstock) Options for the corresponding navigator series if
  36708. * `showInNavigator` is `true` for this series. Available options are the
  36709. * same as any series, documented at plotOptions and series.
  36710. *
  36711. * These options are merged with options in navigator.series, and will take
  36712. * precedence if the same option is defined both places.
  36713. */
  36714. navigatorOptions?: PlotSeriesOptions;
  36715. /**
  36716. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  36717. * and dataLabels.
  36718. */
  36719. opacity?: number;
  36720. /**
  36721. * (Highcharts, Highstock) Properties for each single point.
  36722. */
  36723. point?: PlotSeriesPointOptions;
  36724. /**
  36725. * (Highcharts, Highstock) Same as
  36726. * accessibility.series.descriptionFormatter, but for an individual series.
  36727. * Overrides the chart wide configuration.
  36728. */
  36729. pointDescriptionFormatter?: Function;
  36730. /**
  36731. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36732. * a series, `pointInterval` defines the interval of the x values. For
  36733. * example, if a series contains one value every decade starting from year
  36734. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  36735. * `pointInterval` is set in milliseconds.
  36736. *
  36737. * It can be also be combined with `pointIntervalUnit` to draw irregular
  36738. * time intervals.
  36739. *
  36740. * Please note that this options applies to the _series data_, not the
  36741. * interval of the axis ticks, which is independent.
  36742. */
  36743. pointInterval?: number;
  36744. /**
  36745. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  36746. * setting the pointInterval to irregular time units, `day`, `month` and
  36747. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  36748. * also takes the DST crossover into consideration when dealing with local
  36749. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  36750. * months, 10 years etc.
  36751. *
  36752. * Please note that this options applies to the _series data_, not the
  36753. * interval of the axis ticks, which is independent.
  36754. */
  36755. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  36756. /**
  36757. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  36758. * axis units.
  36759. */
  36760. pointPadding?: number;
  36761. /**
  36762. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  36763. * `number`.
  36764. *
  36765. * In a column chart, when pointPlacement is `"on"`, the point will not
  36766. * create any padding of the X axis. In a polar column chart this means that
  36767. * the first column points directly north. If the pointPlacement is
  36768. * `"between"`, the columns will be laid out between ticks. This is useful
  36769. * for example for visualising an amount between two points in time or in a
  36770. * certain sector of a polar chart.
  36771. *
  36772. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  36773. * is on the axis value, -0.5 is between this value and the previous, and
  36774. * 0.5 is between this value and the next. Unlike the textual options,
  36775. * numeric point placement options won't affect axis padding.
  36776. *
  36777. * Note that pointPlacement needs a pointRange to work. For column series
  36778. * this is computed, but for line-type series it needs to be set.
  36779. *
  36780. * For the `xrange` series type and gantt charts, if the Y axis is a
  36781. * category axis, the `pointPlacement` applies to the Y axis rather than the
  36782. * (typically datetime) X axis.
  36783. *
  36784. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  36785. */
  36786. pointPlacement?: (number|string);
  36787. /**
  36788. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  36789. * for. This determines the width of the column. On a categorized axis, the
  36790. * range will be 1 by default (one category unit). On linear and datetime
  36791. * axes, the range will be computed as the distance between the two closest
  36792. * data points.
  36793. *
  36794. * The default `null` means it is computed automatically, but this option
  36795. * can be used to override the automatic value.
  36796. *
  36797. * This option is set by default to 1 if data sorting is enabled.
  36798. */
  36799. pointRange?: (number|null);
  36800. /**
  36801. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  36802. * a series, pointStart defines on what value to start. For example, if a
  36803. * series contains one yearly value starting from 1945, set pointStart to
  36804. * 1945.
  36805. */
  36806. pointStart?: number;
  36807. /**
  36808. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  36809. * each column or bar point. When set to `undefined`, the width is
  36810. * calculated from the `pointPadding` and `groupPadding`. The width effects
  36811. * the dimension that is not based on the point value. For column series it
  36812. * is the hoizontal length and for bar series it is the vertical length.
  36813. */
  36814. pointWidth?: number;
  36815. /**
  36816. * (Highcharts, Highstock) Whether to select the series initially. If
  36817. * `showCheckbox` is true, the checkbox next to the series name in the
  36818. * legend will be checked for a selected series.
  36819. */
  36820. selected?: boolean;
  36821. /**
  36822. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  36823. * Since 2.3 the shadow can be an object configuration containing `color`,
  36824. * `offsetX`, `offsetY`, `opacity` and `width`.
  36825. */
  36826. shadow?: (boolean|ShadowOptionsObject);
  36827. /**
  36828. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  36829. * legend item to allow selecting the series. The state of the checkbox is
  36830. * determined by the `selected` option.
  36831. */
  36832. showCheckbox?: boolean;
  36833. /**
  36834. * (Highcharts, Highstock) Whether to display this particular series or
  36835. * series type in the legend. Standalone series are shown in legend by
  36836. * default, and linked series are not. Since v7.2.0 it is possible to show
  36837. * series that use colorAxis by setting this option to `true`.
  36838. */
  36839. showInLegend?: boolean;
  36840. /**
  36841. * (Highstock) Whether or not to show the series in the navigator. Takes
  36842. * precedence over navigator.baseSeries if defined.
  36843. */
  36844. showInNavigator?: boolean;
  36845. /**
  36846. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  36847. * skip past the points in this series for keyboard navigation.
  36848. */
  36849. skipKeyboardNavigation?: boolean;
  36850. /**
  36851. * (Highcharts, Highstock) Whether to stack the values of each series on top
  36852. * of each other. Possible values are `undefined` to disable, `"normal"` to
  36853. * stack by value or `"percent"`.
  36854. *
  36855. * When stacking is enabled, data must be sorted in ascending X order.
  36856. *
  36857. * Some stacking options are related to specific series types. In the
  36858. * streamgraph series type, the stacking option is set to `"stream"`. The
  36859. * second one is `"overlap"`, which only applies to waterfall series.
  36860. */
  36861. stacking?: OptionsStackingValue;
  36862. states?: SeriesStatesOptionsObject;
  36863. /**
  36864. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  36865. * `mouseOut` event on a series isn't triggered until the mouse moves over
  36866. * another series, or out of the plot area. When false, the `mouseOut` event
  36867. * on a series is triggered when the mouse leaves the area around the
  36868. * series' graph or markers. This also implies the tooltip when not shared.
  36869. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  36870. * will be hidden when moving the mouse between series. Defaults to true for
  36871. * line and area type series, but to false for columns, pies etc.
  36872. *
  36873. * **Note:** The boost module will force this option because of technical
  36874. * limitations.
  36875. */
  36876. stickyTracking?: boolean;
  36877. /**
  36878. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  36879. * of each single series. Properties are inherited from tooltip, but only
  36880. * the following properties can be defined on a series level.
  36881. */
  36882. tooltip?: SeriesTooltipOptionsObject;
  36883. /**
  36884. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  36885. * is longer than this, only one dimensional arrays of numbers, or two
  36886. * dimensional arrays with x and y values are allowed. Also, only the first
  36887. * point is tested, and the rest are assumed to be the same format. This
  36888. * saves expensive data checking and indexing in long series. Set it to `0`
  36889. * disable.
  36890. *
  36891. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  36892. * two dimensional arrays are allowed.
  36893. */
  36894. turboThreshold?: number;
  36895. /**
  36896. * (Highcharts, Highstock) Set the initial visibility of the series.
  36897. */
  36898. visible?: boolean;
  36899. /**
  36900. * (Highmaps) Define the z index of the series.
  36901. */
  36902. zIndex?: number;
  36903. }
  36904. /**
  36905. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  36906. * is displayed. The animation can also be set as a configuration object. Please
  36907. * note that this option only applies to the initial animation of the series
  36908. * itself. For other animations, see chart.animation and the animation parameter
  36909. * under the API methods. The following properties are supported:
  36910. *
  36911. * - `defer`: The animation delay time in milliseconds.
  36912. *
  36913. * - `duration`: The duration of the animation in milliseconds.
  36914. *
  36915. * - `easing`: Can be a string reference to an easing function set on the `Math`
  36916. * object or a function. See the _Custom easing function_ demo below.
  36917. *
  36918. * Due to poor performance, animation is disabled in old IE browsers for several
  36919. * chart types.
  36920. */
  36921. export interface PlotColumnrangeAnimationOptions {
  36922. defer?: number;
  36923. }
  36924. /**
  36925. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  36926. * is displayed for the `dataLabels`. The animation can also be set as a
  36927. * configuration object. Please note that this option only applies to the
  36928. * initial animation. For other animations, see chart.animation and the
  36929. * animation parameter under the API methods. The following properties are
  36930. * supported:
  36931. *
  36932. * - `defer`: The animation delay time in milliseconds.
  36933. */
  36934. export interface PlotColumnrangeDataLabelsAnimationOptions {
  36935. /**
  36936. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  36937. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  36938. * from the series.animation.defer.
  36939. */
  36940. defer?: number;
  36941. }
  36942. /**
  36943. * (Highcharts, Highstock) Options for the series data sorting.
  36944. */
  36945. export interface PlotColumnrangeDataSortingOptions {
  36946. /**
  36947. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  36948. * Use xAxis.reversed to change the sorting order.
  36949. */
  36950. enabled?: boolean;
  36951. /**
  36952. * (Highcharts, Highstock) Whether to allow matching points by name in an
  36953. * update. If this option is disabled, points will be matched by order.
  36954. */
  36955. matchByName?: boolean;
  36956. /**
  36957. * (Highcharts, Highstock) Determines what data value should be used to sort
  36958. * by.
  36959. */
  36960. sortKey?: string;
  36961. }
  36962. /**
  36963. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  36964. * one state by default, the `default` state.
  36965. */
  36966. export interface PlotColumnrangeDragDropGuideBoxOptions {
  36967. /**
  36968. * (Highcharts, Highstock) Style options for the guide box default state.
  36969. */
  36970. default?: DragDropGuideBoxOptionsObject;
  36971. }
  36972. /**
  36973. * (Highcharts, Highstock) The column range is a cartesian series type with
  36974. * higher and lower Y values along an X axis. To display horizontal bars, set
  36975. * chart.inverted to `true`.
  36976. *
  36977. * In TypeScript the type option must always be set.
  36978. *
  36979. * Configuration options for the series are given in three levels:
  36980. *
  36981. * 1. Options for all series in a chart are defined in the plotOptions.series
  36982. * object.
  36983. *
  36984. * 2. Options for all `columnrange` series are defined in
  36985. * plotOptions.columnrange.
  36986. *
  36987. * 3. Options for one single series are given in the series instance array. (see
  36988. * online documentation for example)
  36989. */
  36990. export interface PlotColumnrangeOptions {
  36991. /**
  36992. * (Highcharts, Highstock) Accessibility options for a series.
  36993. */
  36994. accessibility?: SeriesAccessibilityOptionsObject;
  36995. /**
  36996. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  36997. * rendered. If `true`, areas which don't correspond to a data point, are
  36998. * rendered as `null` points. If `false`, those areas are skipped.
  36999. */
  37000. allAreas?: boolean;
  37001. /**
  37002. * (Highcharts, Highstock) Allow this series' points to be selected by
  37003. * clicking on the graphic (columns, point markers, pie slices, map areas
  37004. * etc).
  37005. *
  37006. * The selected points can be handled by point select and unselect events,
  37007. * or collectively by the getSelectedPoints function.
  37008. *
  37009. * And alternative way of selecting points is through dragging.
  37010. */
  37011. allowPointSelect?: boolean;
  37012. /**
  37013. * (Highcharts, Highstock) Enable or disable the initial animation when a
  37014. * series is displayed. The animation can also be set as a configuration
  37015. * object. Please note that this option only applies to the initial
  37016. * animation of the series itself. For other animations, see chart.animation
  37017. * and the animation parameter under the API methods. The following
  37018. * properties are supported:
  37019. *
  37020. * - `defer`: The animation delay time in milliseconds.
  37021. *
  37022. * - `duration`: The duration of the animation in milliseconds.
  37023. *
  37024. * - `easing`: Can be a string reference to an easing function set on the
  37025. * `Math` object or a function. See the _Custom easing function_ demo below.
  37026. *
  37027. * Due to poor performance, animation is disabled in old IE browsers for
  37028. * several chart types.
  37029. */
  37030. animation?: (boolean|PlotColumnrangeAnimationOptions|Partial<AnimationOptionsObject>);
  37031. /**
  37032. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  37033. * initial animation by default when the total number of points in the chart
  37034. * is too high. For example, for a column chart and its derivatives,
  37035. * animation does not run if there is more than 250 points totally. To
  37036. * disable this cap, set `animationLimit` to `Infinity`.
  37037. */
  37038. animationLimit?: number;
  37039. /**
  37040. * (Highcharts, Highstock) Sets the color blending in the boost module.
  37041. */
  37042. boostBlending?: OptionsBoostBlendingValue;
  37043. /**
  37044. * (Highcharts, Highstock) Set the point threshold for when a series should
  37045. * enter boost mode.
  37046. *
  37047. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  37048. * there are 2000 or more points in the series.
  37049. *
  37050. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  37051. * it to 1 will force boosting.
  37052. *
  37053. * Note that the cropThreshold also affects this setting. When zooming in on
  37054. * a series that has fewer points than the `cropThreshold`, all points are
  37055. * rendered although outside the visible plot area, and the `boostThreshold`
  37056. * won't take effect.
  37057. */
  37058. boostThreshold?: number;
  37059. /**
  37060. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  37061. * column or bar.
  37062. *
  37063. * In styled mode, the border stroke can be set with the `.highcharts-point`
  37064. * rule.
  37065. */
  37066. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37067. /**
  37068. * (Highcharts, Highstock, Gantt) The corner radius of the border
  37069. * surrounding each column or bar.
  37070. */
  37071. borderRadius?: number;
  37072. /**
  37073. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  37074. * column or bar. Defaults to `1` when there is room for a border, but to
  37075. * `0` when the columns are so dense that a border would cover the next
  37076. * column.
  37077. *
  37078. * In styled mode, the stroke width can be set with the `.highcharts-point`
  37079. * rule.
  37080. */
  37081. borderWidth?: number;
  37082. /**
  37083. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  37084. * the category, ignoring null or missing points. When `false`, space will
  37085. * be reserved for null or missing points.
  37086. */
  37087. centerInCategory?: boolean;
  37088. /**
  37089. * (Highcharts, Highstock) An additional class name to apply to the series'
  37090. * graphical elements. This option does not replace default class names of
  37091. * the graphical element.
  37092. */
  37093. className?: string;
  37094. /**
  37095. * (Highcharts, Highstock) Disable this option to allow series rendering in
  37096. * the whole plotting area.
  37097. *
  37098. * **Note:** Clipping should be always enabled when chart.zoomType is set
  37099. */
  37100. clip?: boolean;
  37101. /**
  37102. * (Highcharts, Highstock) The main color of the series. In line type series
  37103. * it applies to the line and the point markers unless otherwise specified.
  37104. * In bar type series it applies to the bars unless a color is specified per
  37105. * point. The default value is pulled from the `options.colors` array.
  37106. *
  37107. * In styled mode, the color can be defined by the colorIndex option. Also,
  37108. * the series color can be set with the `.highcharts-series`,
  37109. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  37110. * `.highcharts-series-{n}` class, or individual classes given by the
  37111. * `className` option.
  37112. */
  37113. color?: (ColorString|GradientColorObject|PatternObject);
  37114. /**
  37115. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  37116. * this number defines which colorAxis the particular series is connected
  37117. * to. It refers to either the axis id or the index of the axis in the
  37118. * colorAxis array, with 0 being the first. Set this option to false to
  37119. * prevent a series from connecting to the default color axis.
  37120. *
  37121. * Since v7.2.0 the option can also be an axis id or an axis index instead
  37122. * of a boolean flag.
  37123. */
  37124. colorAxis?: (boolean|number|string);
  37125. /**
  37126. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  37127. * from the global colors or series-specific plotOptions.column.colors
  37128. * collections, this option determines whether the chart should receive one
  37129. * color per series or one color per point.
  37130. *
  37131. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  37132. * and instead this option gives the points individual color class names on
  37133. * the form `highcharts-color-{n}`.
  37134. */
  37135. colorByPoint?: boolean;
  37136. /**
  37137. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  37138. * for the series, so its graphic representations are given the class name
  37139. * `highcharts-color-{n}`.
  37140. */
  37141. colorIndex?: number;
  37142. /**
  37143. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  37144. * used to calculate point color if `colorAxis` is used. Requires to set
  37145. * `min` and `max` if some custom point property is used or if approximation
  37146. * for data grouping is set to `'sum'`.
  37147. */
  37148. colorKey?: string;
  37149. /**
  37150. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  37151. * color set to apply instead of the global colors when colorByPoint is
  37152. * true.
  37153. */
  37154. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  37155. /**
  37156. * (Highstock) Compare the values of the series against the first non-null,
  37157. * non- zero value in the visible range. The y axis will show percentage or
  37158. * absolute change depending on whether `compare` is set to `"percent"` or
  37159. * `"value"`. When this is applied to multiple series, it allows comparing
  37160. * the development of the series against each other. Adds a `change` field
  37161. * to every point object.
  37162. */
  37163. compare?: string;
  37164. /**
  37165. * (Highstock) When compare is `percent`, this option dictates whether to
  37166. * use 0 or 100 as the base of comparison.
  37167. */
  37168. compareBase?: (0|100);
  37169. /**
  37170. * (Highstock) Defines if comparison should start from the first point
  37171. * within the visible range or should start from the first point **before**
  37172. * the range.
  37173. *
  37174. * In other words, this flag determines if first point within the visible
  37175. * range will have 0% (`compareStart=true`) or should have been already
  37176. * calculated according to the previous point (`compareStart=false`).
  37177. */
  37178. compareStart?: boolean;
  37179. /**
  37180. * (Gantt) Override Pathfinder connector options for a series. Requires
  37181. * Highcharts Gantt to be loaded.
  37182. */
  37183. connectors?: SeriesConnectorsOptionsObject;
  37184. /**
  37185. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  37186. * rounded to its nearest pixel in order to render sharp on screen. In some
  37187. * cases, when there are a lot of densely packed columns, this leads to
  37188. * visible difference in column widths or distance between columns. In these
  37189. * cases, setting `crisp` to `false` may look better, even though each
  37190. * column is rendered blurry.
  37191. */
  37192. crisp?: boolean;
  37193. /**
  37194. * (Highcharts, Highstock, Gantt) When the series contains less points than
  37195. * the crop threshold, all points are drawn, event if the points fall
  37196. * outside the visible plot area at the current zoom. The advantage of
  37197. * drawing all points (including markers and columns), is that animation is
  37198. * performed on updates. On the other hand, when the series contains more
  37199. * points than the crop threshold, the series data is cropped to only
  37200. * contain points that fall within the plot area. The advantage of cropping
  37201. * away invisible points is to increase performance on large series.
  37202. */
  37203. cropThreshold?: number;
  37204. /**
  37205. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  37206. * click events attached to the series, to signal to the user that the
  37207. * points and lines can be clicked.
  37208. *
  37209. * In styled mode, the series cursor can be set with the same classes as
  37210. * listed under series.color.
  37211. */
  37212. cursor?: (string|CursorValue);
  37213. /**
  37214. * (Highcharts, Highstock) A reserved subspace to store options and values
  37215. * for customized functionality. Here you can add additional data for your
  37216. * own event callbacks and formatter callbacks.
  37217. */
  37218. custom?: Dictionary<any>;
  37219. /**
  37220. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  37221. * for some series types the outline of each shape.
  37222. *
  37223. * In styled mode, the stroke dash-array can be set with the same classes as
  37224. * listed under series.color.
  37225. */
  37226. dashStyle?: DashStyleValue;
  37227. /**
  37228. * (Highstock) Data grouping is the concept of sampling the data values into
  37229. * larger blocks in order to ease readability and increase performance of
  37230. * the JavaScript charts. Highcharts Stock by default applies data grouping
  37231. * when the points become closer than a certain pixel value, determined by
  37232. * the `groupPixelWidth` option.
  37233. *
  37234. * If data grouping is applied, the grouping information of grouped points
  37235. * can be read from the Point.dataGroup. If point options other than the
  37236. * data itself are set, for example `name` or `color` or custom properties,
  37237. * the grouping logic doesn't know how to group it. In this case the options
  37238. * of the first point instance are copied over to the group point. This can
  37239. * be altered through a custom `approximation` callback function.
  37240. */
  37241. dataGrouping?: DataGroupingOptionsObject;
  37242. /**
  37243. * (Highcharts, Highstock) Extended data labels for range series types.
  37244. * Range series data labels have no `x` and `y` options. Instead, they have
  37245. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  37246. * data label sets individually.
  37247. */
  37248. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  37249. /**
  37250. * (Highcharts, Highstock) Options for the series data sorting.
  37251. */
  37252. dataSorting?: (DataSortingOptionsObject|PlotColumnrangeDataSortingOptions);
  37253. /**
  37254. * (Highcharts) Depth of the columns in a 3D column chart.
  37255. */
  37256. depth?: number;
  37257. /**
  37258. * (Highcharts, Highstock) A description of the series to add to the screen
  37259. * reader information about the series.
  37260. */
  37261. description?: string;
  37262. /**
  37263. * (Highcharts, Highstock) The draggable-points module allows points to be
  37264. * moved around or modified in the chart. In addition to the options
  37265. * mentioned under the `dragDrop` API structure, the module fires three
  37266. * events, point.dragStart, point.drag and point.drop.
  37267. */
  37268. dragDrop?: SeriesDragDropOptionsObject;
  37269. /**
  37270. * (Highcharts) 3D columns only. The color of the edges. Similar to
  37271. * `borderColor`, except it defaults to the same color as the column.
  37272. */
  37273. edgeColor?: ColorString;
  37274. /**
  37275. * (Highcharts) 3D columns only. The width of the colored edges.
  37276. */
  37277. edgeWidth?: number;
  37278. /**
  37279. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  37280. * specific series. This includes point tooltips and click events on graphs
  37281. * and points. For large datasets it improves performance.
  37282. */
  37283. enableMouseTracking?: boolean;
  37284. /**
  37285. * (Highcharts, Highstock) General event handlers for the series items.
  37286. * These event hooks can also be attached to the series at run time using
  37287. * the `Highcharts.addEvent` function.
  37288. */
  37289. events?: SeriesEventsOptionsObject;
  37290. /**
  37291. * (Highcharts, Highstock) Determines whether the series should look for the
  37292. * nearest point in both dimensions or just the x-dimension when hovering
  37293. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  37294. * other series. If the data has duplicate x-values, it is recommended to
  37295. * set this to `'xy'` to allow hovering over all points.
  37296. *
  37297. * Applies only to series types using nearest neighbor search (not direct
  37298. * hover) for tooltip.
  37299. */
  37300. findNearestPointBy?: OptionsFindNearestPointByValue;
  37301. /**
  37302. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  37303. * chart width or only the zoomed area when zooming in on parts of the X
  37304. * axis. By default, the Y axis adjusts to the min and max of the visible
  37305. * data. Cartesian series only.
  37306. */
  37307. getExtremesFromAll?: boolean;
  37308. /**
  37309. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  37310. * let them render independent of each other. Non-grouped columns will be
  37311. * laid out individually and overlap each other.
  37312. */
  37313. grouping?: boolean;
  37314. /**
  37315. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  37316. * axis units.
  37317. */
  37318. groupPadding?: number;
  37319. /**
  37320. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  37321. */
  37322. groupZPadding?: number;
  37323. /**
  37324. * (Highcharts, Highstock) When set to `false` will prevent the series data
  37325. * from being included in any form of data export.
  37326. *
  37327. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  37328. * `includeInCSVExport`.
  37329. */
  37330. includeInDataExport?: boolean;
  37331. /**
  37332. * (Highmaps) What property to join the `mapData` to the value data. For
  37333. * example, if joinBy is "code", the mapData items with a specific code is
  37334. * merged into the data with the same code. For maps loaded from GeoJSON,
  37335. * the keys may be held in each point's `properties` object.
  37336. *
  37337. * The joinBy option can also be an array of two values, where the first
  37338. * points to a key in the `mapData`, and the second points to another key in
  37339. * the `data`.
  37340. *
  37341. * When joinBy is `null`, the map items are joined by their position in the
  37342. * array, which performs much better in maps with many data points. This is
  37343. * the recommended option if you are printing more than a thousand data
  37344. * points and have a backend that can preprocess the data into a parallel
  37345. * array of the mapData.
  37346. */
  37347. joinBy?: (string|Array<string>);
  37348. /**
  37349. * (Highcharts, Highstock) An array specifying which option maps to which
  37350. * key in the data point array. This makes it convenient to work with
  37351. * unstructured data arrays from different sources.
  37352. */
  37353. keys?: Array<string>;
  37354. /**
  37355. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  37356. * series as possible in a natural way, seeking to avoid other series. The
  37357. * goal of this feature is to make the chart more easily readable, like if a
  37358. * human designer placed the labels in the optimal position.
  37359. *
  37360. * The series labels currently work with series types having a `graph` or an
  37361. * `area`.
  37362. */
  37363. label?: SeriesLabelOptionsObject;
  37364. /**
  37365. * (Highstock) The line marks the last price from all points.
  37366. */
  37367. lastPrice?: SeriesLastPriceOptionsObject;
  37368. /**
  37369. * (Highstock) The line marks the last price from visible range of points.
  37370. */
  37371. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  37372. /**
  37373. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  37374. * Additionally, the value can be ":previous" to link to the previous
  37375. * series. When two series are linked, only the first one appears in the
  37376. * legend. Toggling the visibility of this also toggles the linked series.
  37377. *
  37378. * If master series uses data sorting and linked series does not have its
  37379. * own sorting definition, the linked series will be sorted in the same
  37380. * order as the master one.
  37381. */
  37382. linkedTo?: string;
  37383. /**
  37384. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  37385. * column, translated to the height of a bar in a bar chart. This prevents
  37386. * the columns from becoming too wide when there is a small number of points
  37387. * in the chart.
  37388. */
  37389. maxPointWidth?: number;
  37390. /**
  37391. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  37392. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  37393. * to zero) point, set the minimal point length to a pixel value like 3\. In
  37394. * stacked column charts, minPointLength might not be respected for tightly
  37395. * packed values.
  37396. */
  37397. minPointLength?: number;
  37398. /**
  37399. * (Highstock) Options for the corresponding navigator series if
  37400. * `showInNavigator` is `true` for this series. Available options are the
  37401. * same as any series, documented at plotOptions and series.
  37402. *
  37403. * These options are merged with options in navigator.series, and will take
  37404. * precedence if the same option is defined both places.
  37405. */
  37406. navigatorOptions?: PlotSeriesOptions;
  37407. /**
  37408. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  37409. * and dataLabels.
  37410. */
  37411. opacity?: number;
  37412. /**
  37413. * (Highcharts, Highstock) Properties for each single point.
  37414. */
  37415. point?: PlotSeriesPointOptions;
  37416. /**
  37417. * (Highcharts, Highstock) Same as
  37418. * accessibility.series.descriptionFormatter, but for an individual series.
  37419. * Overrides the chart wide configuration.
  37420. */
  37421. pointDescriptionFormatter?: Function;
  37422. /**
  37423. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37424. * a series, `pointInterval` defines the interval of the x values. For
  37425. * example, if a series contains one value every decade starting from year
  37426. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  37427. * `pointInterval` is set in milliseconds.
  37428. *
  37429. * It can be also be combined with `pointIntervalUnit` to draw irregular
  37430. * time intervals.
  37431. *
  37432. * Please note that this options applies to the _series data_, not the
  37433. * interval of the axis ticks, which is independent.
  37434. */
  37435. pointInterval?: number;
  37436. /**
  37437. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  37438. * setting the pointInterval to irregular time units, `day`, `month` and
  37439. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  37440. * also takes the DST crossover into consideration when dealing with local
  37441. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  37442. * months, 10 years etc.
  37443. *
  37444. * Please note that this options applies to the _series data_, not the
  37445. * interval of the axis ticks, which is independent.
  37446. */
  37447. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  37448. /**
  37449. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  37450. * axis units.
  37451. */
  37452. pointPadding?: number;
  37453. /**
  37454. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  37455. * `number`.
  37456. *
  37457. * In a column chart, when pointPlacement is `"on"`, the point will not
  37458. * create any padding of the X axis. In a polar column chart this means that
  37459. * the first column points directly north. If the pointPlacement is
  37460. * `"between"`, the columns will be laid out between ticks. This is useful
  37461. * for example for visualising an amount between two points in time or in a
  37462. * certain sector of a polar chart.
  37463. *
  37464. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  37465. * is on the axis value, -0.5 is between this value and the previous, and
  37466. * 0.5 is between this value and the next. Unlike the textual options,
  37467. * numeric point placement options won't affect axis padding.
  37468. *
  37469. * Note that pointPlacement needs a pointRange to work. For column series
  37470. * this is computed, but for line-type series it needs to be set.
  37471. *
  37472. * For the `xrange` series type and gantt charts, if the Y axis is a
  37473. * category axis, the `pointPlacement` applies to the Y axis rather than the
  37474. * (typically datetime) X axis.
  37475. *
  37476. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  37477. */
  37478. pointPlacement?: (number|string);
  37479. /**
  37480. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  37481. * for. This determines the width of the column. On a categorized axis, the
  37482. * range will be 1 by default (one category unit). On linear and datetime
  37483. * axes, the range will be computed as the distance between the two closest
  37484. * data points.
  37485. *
  37486. * The default `null` means it is computed automatically, but this option
  37487. * can be used to override the automatic value.
  37488. *
  37489. * This option is set by default to 1 if data sorting is enabled.
  37490. */
  37491. pointRange?: (number|null);
  37492. /**
  37493. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  37494. * a series, pointStart defines on what value to start. For example, if a
  37495. * series contains one yearly value starting from 1945, set pointStart to
  37496. * 1945.
  37497. */
  37498. pointStart?: number;
  37499. /**
  37500. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  37501. * each column or bar point. When set to `undefined`, the width is
  37502. * calculated from the `pointPadding` and `groupPadding`. The width effects
  37503. * the dimension that is not based on the point value. For column series it
  37504. * is the hoizontal length and for bar series it is the vertical length.
  37505. */
  37506. pointWidth?: number;
  37507. /**
  37508. * (Highcharts, Highstock) Whether to select the series initially. If
  37509. * `showCheckbox` is true, the checkbox next to the series name in the
  37510. * legend will be checked for a selected series.
  37511. */
  37512. selected?: boolean;
  37513. /**
  37514. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  37515. * Since 2.3 the shadow can be an object configuration containing `color`,
  37516. * `offsetX`, `offsetY`, `opacity` and `width`.
  37517. */
  37518. shadow?: (boolean|ShadowOptionsObject);
  37519. /**
  37520. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  37521. * legend item to allow selecting the series. The state of the checkbox is
  37522. * determined by the `selected` option.
  37523. */
  37524. showCheckbox?: boolean;
  37525. /**
  37526. * (Highcharts, Highstock) Whether to display this particular series or
  37527. * series type in the legend. Standalone series are shown in legend by
  37528. * default, and linked series are not. Since v7.2.0 it is possible to show
  37529. * series that use colorAxis by setting this option to `true`.
  37530. */
  37531. showInLegend?: boolean;
  37532. /**
  37533. * (Highstock) Whether or not to show the series in the navigator. Takes
  37534. * precedence over navigator.baseSeries if defined.
  37535. */
  37536. showInNavigator?: boolean;
  37537. /**
  37538. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  37539. * skip past the points in this series for keyboard navigation.
  37540. */
  37541. skipKeyboardNavigation?: boolean;
  37542. states?: SeriesStatesOptionsObject;
  37543. /**
  37544. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  37545. * `mouseOut` event on a series isn't triggered until the mouse moves over
  37546. * another series, or out of the plot area. When false, the `mouseOut` event
  37547. * on a series is triggered when the mouse leaves the area around the
  37548. * series' graph or markers. This also implies the tooltip when not shared.
  37549. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  37550. * will be hidden when moving the mouse between series. Defaults to true for
  37551. * line and area type series, but to false for columns, pies etc.
  37552. *
  37553. * **Note:** The boost module will force this option because of technical
  37554. * limitations.
  37555. */
  37556. stickyTracking?: boolean;
  37557. /**
  37558. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  37559. * of each single series. Properties are inherited from tooltip, but only
  37560. * the following properties can be defined on a series level.
  37561. */
  37562. tooltip?: SeriesTooltipOptionsObject;
  37563. /**
  37564. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  37565. * is longer than this, only one dimensional arrays of numbers, or two
  37566. * dimensional arrays with x and y values are allowed. Also, only the first
  37567. * point is tested, and the rest are assumed to be the same format. This
  37568. * saves expensive data checking and indexing in long series. Set it to `0`
  37569. * disable.
  37570. *
  37571. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  37572. * two dimensional arrays are allowed.
  37573. */
  37574. turboThreshold?: number;
  37575. /**
  37576. * (Highcharts, Highstock) Set the initial visibility of the series.
  37577. */
  37578. visible?: boolean;
  37579. /**
  37580. * (Highmaps) Define the z index of the series.
  37581. */
  37582. zIndex?: number;
  37583. /**
  37584. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  37585. */
  37586. zoneAxis?: string;
  37587. /**
  37588. * (Highcharts, Highstock) An array defining zones within a series. Zones
  37589. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  37590. * the `zoneAxis` option. The zone definitions have to be in ascending order
  37591. * regarding to the value.
  37592. *
  37593. * In styled mode, the color zones are styled with the
  37594. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  37595. * option (view live demo).
  37596. */
  37597. zones?: Array<SeriesZonesOptionsObject>;
  37598. }
  37599. /**
  37600. * (Highcharts) Enable or disable the initial animation when a series is
  37601. * displayed. The animation can also be set as a configuration object. Please
  37602. * note that this option only applies to the initial animation of the series
  37603. * itself. For other animations, see chart.animation and the animation parameter
  37604. * under the API methods. The following properties are supported:
  37605. *
  37606. * - `defer`: The animation delay time in milliseconds.
  37607. *
  37608. * - `duration`: The duration of the animation in milliseconds.
  37609. *
  37610. * - `easing`: Can be a string reference to an easing function set on the `Math`
  37611. * object or a function. See the _Custom easing function_ demo below.
  37612. *
  37613. * Due to poor performance, animation is disabled in old IE browsers for several
  37614. * chart types.
  37615. */
  37616. export interface PlotCylinderAnimationOptions {
  37617. defer?: number;
  37618. }
  37619. /**
  37620. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37621. * animation when a series is displayed for the `dataLabels`. The animation can
  37622. * also be set as a configuration object. Please note that this option only
  37623. * applies to the initial animation. For other animations, see chart.animation
  37624. * and the animation parameter under the API methods. The following properties
  37625. * are supported:
  37626. *
  37627. * - `defer`: The animation delay time in milliseconds.
  37628. */
  37629. export interface PlotCylinderDataLabelsAnimationOptions {
  37630. /**
  37631. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  37632. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  37633. * inherits defer time from the series.animation.defer.
  37634. */
  37635. defer?: number;
  37636. }
  37637. /**
  37638. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  37639. * appearing next to each data point.
  37640. *
  37641. * Since v6.2.0, multiple data labels can be applied to each single point by
  37642. * defining them as an array of configs.
  37643. *
  37644. * In styled mode, the data labels can be styled with the
  37645. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  37646. * example).
  37647. */
  37648. export interface PlotCylinderDataLabelsOptions {
  37649. /**
  37650. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  37651. * compared to the point. If `right`, the right side of the label should be
  37652. * touching the point. For points with an extent, like columns, the
  37653. * alignments also dictates how to align it inside the box, as given with
  37654. * the inside option. Can be one of `left`, `center` or `right`.
  37655. */
  37656. align?: string;
  37657. /**
  37658. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  37659. * overlap. To make the labels less sensitive for overlapping, the
  37660. * dataLabels.padding can be set to 0.
  37661. */
  37662. allowOverlap?: boolean;
  37663. /**
  37664. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  37665. * animation when a series is displayed for the `dataLabels`. The animation
  37666. * can also be set as a configuration object. Please note that this option
  37667. * only applies to the initial animation. For other animations, see
  37668. * chart.animation and the animation parameter under the API methods. The
  37669. * following properties are supported:
  37670. *
  37671. * - `defer`: The animation delay time in milliseconds.
  37672. */
  37673. animation?: (boolean|PlotCylinderDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  37674. /**
  37675. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  37676. * for the data label.
  37677. */
  37678. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  37679. /**
  37680. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  37681. * label. Defaults to `undefined`.
  37682. */
  37683. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37684. /**
  37685. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  37686. * the data label.
  37687. */
  37688. borderRadius?: number;
  37689. /**
  37690. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  37691. * the data label.
  37692. */
  37693. borderWidth?: number;
  37694. /**
  37695. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  37696. * Particularly in styled mode, this can be used to give each series' or
  37697. * point's data label unique styling. In addition to this option, a default
  37698. * color class name is added so that we can give the labels a contrast text
  37699. * shadow.
  37700. */
  37701. className?: string;
  37702. /**
  37703. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  37704. * labels. Defaults to `undefined`. For certain series types, like column or
  37705. * map, the data labels can be drawn inside the points. In this case the
  37706. * data label will be drawn with maximum contrast by default. Additionally,
  37707. * it will be given a `text-outline` style with the opposite color, to
  37708. * further increase the contrast. This can be overridden by setting the
  37709. * `text-outline` style to `none` in the `dataLabels.style` option.
  37710. */
  37711. color?: (ColorString|GradientColorObject|PatternObject);
  37712. /**
  37713. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  37714. * are outside the plot area. By default, the data label is moved inside the
  37715. * plot area according to the overflow option.
  37716. */
  37717. crop?: boolean;
  37718. /**
  37719. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  37720. * labels until the initial series animation has finished. Setting to
  37721. * `false` renders the data label immediately. If set to `true` inherits the
  37722. * defer time set in plotOptions.series.animation. If set to a number, a
  37723. * defer time is specified in milliseconds.
  37724. */
  37725. defer?: (boolean|number);
  37726. /**
  37727. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  37728. * labels.
  37729. */
  37730. enabled?: boolean;
  37731. /**
  37732. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  37733. * of which data labels to display. The declarative filter is designed for
  37734. * use when callback functions are not available, like when the chart
  37735. * options require a pure JSON structure or for use with graphical editors.
  37736. * For programmatic control, use the `formatter` instead, and return
  37737. * `undefined` to disable a single data label.
  37738. */
  37739. filter?: DataLabelsFilterOptionsObject;
  37740. /**
  37741. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  37742. * label. Available variables are the same as for `formatter`.
  37743. */
  37744. format?: string;
  37745. /**
  37746. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  37747. * format the data label. Note that if a `format` is defined, the format
  37748. * takes precedence and the formatter is ignored.
  37749. */
  37750. formatter?: DataLabelsFormatterCallbackFunction;
  37751. /**
  37752. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  37753. * columns or map areas, whether to align the data label inside the box or
  37754. * to the actual value point. Defaults to `false` in most cases, `true` in
  37755. * stacked columns.
  37756. */
  37757. inside?: boolean;
  37758. /**
  37759. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  37760. * of null. Works analogously to format. `nullFormat` can be applied only to
  37761. * series which support displaying null points.
  37762. */
  37763. nullFormat?: (boolean|string);
  37764. /**
  37765. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  37766. * that defines formatting for points with the value of null. Works
  37767. * analogously to formatter. `nullPointFormatter` can be applied only to
  37768. * series which support displaying null points.
  37769. */
  37770. nullFormatter?: DataLabelsFormatterCallbackFunction;
  37771. /**
  37772. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  37773. * flow outside the plot area. The default is `"justify"`, which aligns them
  37774. * inside the plot area. For columns and bars, this means it will be moved
  37775. * inside the bar. To display data labels outside the plot area, set `crop`
  37776. * to `false` and `overflow` to `"allow"`.
  37777. */
  37778. overflow?: DataLabelsOverflowValue;
  37779. /**
  37780. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  37781. * the `backgroundColor` is set, this is the padding within the box.
  37782. */
  37783. padding?: number;
  37784. /**
  37785. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  37786. * points. If `center` alignment is not possible, it defaults to `right`.
  37787. */
  37788. position?: AlignValue;
  37789. /**
  37790. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  37791. * that due to a more complex structure, backgrounds, borders and padding
  37792. * will be lost on a rotated data label.
  37793. */
  37794. rotation?: number;
  37795. /**
  37796. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  37797. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  37798. * an object configuration containing `color`, `offsetX`, `offsetY`,
  37799. * `opacity` and `width`.
  37800. */
  37801. shadow?: (boolean|ShadowOptionsObject);
  37802. /**
  37803. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  37804. * the border around the label. Symbols are predefined functions on the
  37805. * Renderer object.
  37806. */
  37807. shape?: string;
  37808. /**
  37809. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  37810. * default `color` setting is `"contrast"`, which is a pseudo color that
  37811. * Highcharts picks up and applies the maximum contrast to the underlying
  37812. * point item, for example the bar in a bar chart.
  37813. *
  37814. * The `textOutline` is a pseudo property that applies an outline of the
  37815. * given width with the given color, which by default is the maximum
  37816. * contrast to the text. So a bright text color will result in a black text
  37817. * outline for maximum readability on a mixed background. In some cases,
  37818. * especially with grayscale text, the text outline doesn't work well, in
  37819. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  37820. * is true, the `textOutline` will not be picked up. In this, case, the same
  37821. * effect can be acheived through the `text-shadow` CSS property.
  37822. *
  37823. * For some series types, where each point has an extent, like for example
  37824. * tree maps, the data label may overflow the point. There are two
  37825. * strategies for handling overflow. By default, the text will wrap to
  37826. * multiple lines. The other strategy is to set `style.textOverflow` to
  37827. * `ellipsis`, which will keep the text on one line plus it will break
  37828. * inside long words.
  37829. */
  37830. style?: CSSObject;
  37831. /**
  37832. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  37833. * should follow marker's shape. Border and background are disabled for a
  37834. * label that follows a path.
  37835. *
  37836. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  37837. * to true will disable this option.
  37838. */
  37839. textPath?: DataLabelsTextPathOptionsObject;
  37840. /**
  37841. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  37842. * the labels.
  37843. */
  37844. useHTML?: boolean;
  37845. /**
  37846. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  37847. * label. Can be one of `top`, `middle` or `bottom`. The default value
  37848. * depends on the data, for instance in a column chart, the label is above
  37849. * positive values and below negative values.
  37850. */
  37851. verticalAlign?: string;
  37852. /**
  37853. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  37854. * label relative to the point in pixels.
  37855. */
  37856. x?: number;
  37857. /**
  37858. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  37859. * label relative to the point in pixels.
  37860. */
  37861. y?: number;
  37862. /**
  37863. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  37864. * The default Z index puts it above the series. Use a Z index of 2 to
  37865. * display it behind the series.
  37866. */
  37867. z?: number;
  37868. }
  37869. /**
  37870. * (Highcharts, Highstock) Options for the series data sorting.
  37871. */
  37872. export interface PlotCylinderDataSortingOptions {
  37873. /**
  37874. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  37875. * Use xAxis.reversed to change the sorting order.
  37876. */
  37877. enabled?: boolean;
  37878. /**
  37879. * (Highcharts, Highstock) Whether to allow matching points by name in an
  37880. * update. If this option is disabled, points will be matched by order.
  37881. */
  37882. matchByName?: boolean;
  37883. /**
  37884. * (Highcharts, Highstock) Determines what data value should be used to sort
  37885. * by.
  37886. */
  37887. sortKey?: string;
  37888. }
  37889. /**
  37890. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  37891. * cylinder graph features cylindrical points.
  37892. *
  37893. * In TypeScript the type option must always be set.
  37894. *
  37895. * Configuration options for the series are given in three levels:
  37896. *
  37897. * 1. Options for all series in a chart are defined in the plotOptions.series
  37898. * object.
  37899. *
  37900. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  37901. *
  37902. * 3. Options for one single series are given in the series instance array. (see
  37903. * online documentation for example)
  37904. */
  37905. export interface PlotCylinderOptions {
  37906. /**
  37907. * (Highcharts) Accessibility options for a series.
  37908. */
  37909. accessibility?: SeriesAccessibilityOptionsObject;
  37910. /**
  37911. * (Highcharts) Allow this series' points to be selected by clicking on the
  37912. * graphic (columns, point markers, pie slices, map areas etc).
  37913. *
  37914. * The selected points can be handled by point select and unselect events,
  37915. * or collectively by the getSelectedPoints function.
  37916. *
  37917. * And alternative way of selecting points is through dragging.
  37918. */
  37919. allowPointSelect?: boolean;
  37920. /**
  37921. * (Highcharts) Enable or disable the initial animation when a series is
  37922. * displayed. The animation can also be set as a configuration object.
  37923. * Please note that this option only applies to the initial animation of the
  37924. * series itself. For other animations, see chart.animation and the
  37925. * animation parameter under the API methods. The following properties are
  37926. * supported:
  37927. *
  37928. * - `defer`: The animation delay time in milliseconds.
  37929. *
  37930. * - `duration`: The duration of the animation in milliseconds.
  37931. *
  37932. * - `easing`: Can be a string reference to an easing function set on the
  37933. * `Math` object or a function. See the _Custom easing function_ demo below.
  37934. *
  37935. * Due to poor performance, animation is disabled in old IE browsers for
  37936. * several chart types.
  37937. */
  37938. animation?: (boolean|PlotCylinderAnimationOptions|Partial<AnimationOptionsObject>);
  37939. /**
  37940. * (Highcharts) For some series, there is a limit that shuts down initial
  37941. * animation by default when the total number of points in the chart is too
  37942. * high. For example, for a column chart and its derivatives, animation does
  37943. * not run if there is more than 250 points totally. To disable this cap,
  37944. * set `animationLimit` to `Infinity`.
  37945. */
  37946. animationLimit?: number;
  37947. /**
  37948. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  37949. * column or bar.
  37950. *
  37951. * In styled mode, the border stroke can be set with the `.highcharts-point`
  37952. * rule.
  37953. */
  37954. borderColor?: (ColorString|GradientColorObject|PatternObject);
  37955. /**
  37956. * (Highcharts, Highstock, Gantt) The corner radius of the border
  37957. * surrounding each column or bar.
  37958. */
  37959. borderRadius?: number;
  37960. /**
  37961. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  37962. * column or bar. Defaults to `1` when there is room for a border, but to
  37963. * `0` when the columns are so dense that a border would cover the next
  37964. * column.
  37965. *
  37966. * In styled mode, the stroke width can be set with the `.highcharts-point`
  37967. * rule.
  37968. */
  37969. borderWidth?: number;
  37970. /**
  37971. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  37972. * the category, ignoring null or missing points. When `false`, space will
  37973. * be reserved for null or missing points.
  37974. */
  37975. centerInCategory?: boolean;
  37976. /**
  37977. * (Highcharts) An additional class name to apply to the series' graphical
  37978. * elements. This option does not replace default class names of the
  37979. * graphical element.
  37980. */
  37981. className?: string;
  37982. /**
  37983. * (Highcharts) Disable this option to allow series rendering in the whole
  37984. * plotting area.
  37985. *
  37986. * **Note:** Clipping should be always enabled when chart.zoomType is set
  37987. */
  37988. clip?: boolean;
  37989. /**
  37990. * (Highcharts) The main color of the series. In line type series it applies
  37991. * to the line and the point markers unless otherwise specified. In bar type
  37992. * series it applies to the bars unless a color is specified per point. The
  37993. * default value is pulled from the `options.colors` array.
  37994. *
  37995. * In styled mode, the color can be defined by the colorIndex option. Also,
  37996. * the series color can be set with the `.highcharts-series`,
  37997. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  37998. * `.highcharts-series-{n}` class, or individual classes given by the
  37999. * `className` option.
  38000. */
  38001. color?: (ColorString|GradientColorObject|PatternObject);
  38002. /**
  38003. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  38004. * from the global colors or series-specific plotOptions.column.colors
  38005. * collections, this option determines whether the chart should receive one
  38006. * color per series or one color per point.
  38007. *
  38008. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  38009. * and instead this option gives the points individual color class names on
  38010. * the form `highcharts-color-{n}`.
  38011. */
  38012. colorByPoint?: boolean;
  38013. /**
  38014. * (Highcharts) Styled mode only. A specific color index to use for the
  38015. * series, so its graphic representations are given the class name
  38016. * `highcharts-color-{n}`.
  38017. */
  38018. colorIndex?: number;
  38019. /**
  38020. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  38021. * used to calculate point color if `colorAxis` is used. Requires to set
  38022. * `min` and `max` if some custom point property is used or if approximation
  38023. * for data grouping is set to `'sum'`.
  38024. */
  38025. colorKey?: string;
  38026. /**
  38027. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  38028. * color set to apply instead of the global colors when colorByPoint is
  38029. * true.
  38030. */
  38031. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  38032. /**
  38033. * (Highstock) Defines if comparison should start from the first point
  38034. * within the visible range or should start from the first point **before**
  38035. * the range.
  38036. *
  38037. * In other words, this flag determines if first point within the visible
  38038. * range will have 0% (`compareStart=true`) or should have been already
  38039. * calculated according to the previous point (`compareStart=false`).
  38040. */
  38041. compareStart?: boolean;
  38042. /**
  38043. * (Gantt) Override Pathfinder connector options for a series. Requires
  38044. * Highcharts Gantt to be loaded.
  38045. */
  38046. connectors?: SeriesConnectorsOptionsObject;
  38047. /**
  38048. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  38049. * rounded to its nearest pixel in order to render sharp on screen. In some
  38050. * cases, when there are a lot of densely packed columns, this leads to
  38051. * visible difference in column widths or distance between columns. In these
  38052. * cases, setting `crisp` to `false` may look better, even though each
  38053. * column is rendered blurry.
  38054. */
  38055. crisp?: boolean;
  38056. /**
  38057. * (Highcharts, Highstock, Gantt) When the series contains less points than
  38058. * the crop threshold, all points are drawn, event if the points fall
  38059. * outside the visible plot area at the current zoom. The advantage of
  38060. * drawing all points (including markers and columns), is that animation is
  38061. * performed on updates. On the other hand, when the series contains more
  38062. * points than the crop threshold, the series data is cropped to only
  38063. * contain points that fall within the plot area. The advantage of cropping
  38064. * away invisible points is to increase performance on large series.
  38065. */
  38066. cropThreshold?: number;
  38067. /**
  38068. * (Highcharts) You can set the cursor to "pointer" if you have click events
  38069. * attached to the series, to signal to the user that the points and lines
  38070. * can be clicked.
  38071. *
  38072. * In styled mode, the series cursor can be set with the same classes as
  38073. * listed under series.color.
  38074. */
  38075. cursor?: (string|CursorValue);
  38076. /**
  38077. * (Highcharts) A reserved subspace to store options and values for
  38078. * customized functionality. Here you can add additional data for your own
  38079. * event callbacks and formatter callbacks.
  38080. */
  38081. custom?: Dictionary<any>;
  38082. /**
  38083. * (Highcharts) Name of the dash style to use for the graph, or for some
  38084. * series types the outline of each shape.
  38085. *
  38086. * In styled mode, the stroke dash-array can be set with the same classes as
  38087. * listed under series.color.
  38088. */
  38089. dashStyle?: DashStyleValue;
  38090. /**
  38091. * (Highstock) Data grouping is the concept of sampling the data values into
  38092. * larger blocks in order to ease readability and increase performance of
  38093. * the JavaScript charts. Highcharts Stock by default applies data grouping
  38094. * when the points become closer than a certain pixel value, determined by
  38095. * the `groupPixelWidth` option.
  38096. *
  38097. * If data grouping is applied, the grouping information of grouped points
  38098. * can be read from the Point.dataGroup. If point options other than the
  38099. * data itself are set, for example `name` or `color` or custom properties,
  38100. * the grouping logic doesn't know how to group it. In this case the options
  38101. * of the first point instance are copied over to the group point. This can
  38102. * be altered through a custom `approximation` callback function.
  38103. */
  38104. dataGrouping?: DataGroupingOptionsObject;
  38105. /**
  38106. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  38107. * labels, appearing next to each data point.
  38108. *
  38109. * Since v6.2.0, multiple data labels can be applied to each single point by
  38110. * defining them as an array of configs.
  38111. *
  38112. * In styled mode, the data labels can be styled with the
  38113. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  38114. * (see example).
  38115. */
  38116. dataLabels?: (PlotCylinderDataLabelsOptions|Array<PlotCylinderDataLabelsOptions>);
  38117. /**
  38118. * (Highcharts, Highstock) Options for the series data sorting.
  38119. */
  38120. dataSorting?: (DataSortingOptionsObject|PlotCylinderDataSortingOptions);
  38121. /**
  38122. * (Highcharts) Depth of the columns in a 3D column chart.
  38123. */
  38124. depth?: number;
  38125. /**
  38126. * (Highcharts) A description of the series to add to the screen reader
  38127. * information about the series.
  38128. */
  38129. description?: string;
  38130. /**
  38131. * (Highcharts) 3D columns only. The color of the edges. Similar to
  38132. * `borderColor`, except it defaults to the same color as the column.
  38133. */
  38134. edgeColor?: ColorString;
  38135. /**
  38136. * (Highcharts) 3D columns only. The width of the colored edges.
  38137. */
  38138. edgeWidth?: number;
  38139. /**
  38140. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  38141. * This includes point tooltips and click events on graphs and points. For
  38142. * large datasets it improves performance.
  38143. */
  38144. enableMouseTracking?: boolean;
  38145. /**
  38146. * (Highcharts) General event handlers for the series items. These event
  38147. * hooks can also be attached to the series at run time using the
  38148. * `Highcharts.addEvent` function.
  38149. */
  38150. events?: SeriesEventsOptionsObject;
  38151. /**
  38152. * (Highcharts) Determines whether the series should look for the nearest
  38153. * point in both dimensions or just the x-dimension when hovering the
  38154. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  38155. * series. If the data has duplicate x-values, it is recommended to set this
  38156. * to `'xy'` to allow hovering over all points.
  38157. *
  38158. * Applies only to series types using nearest neighbor search (not direct
  38159. * hover) for tooltip.
  38160. */
  38161. findNearestPointBy?: OptionsFindNearestPointByValue;
  38162. /**
  38163. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  38164. * chart width or only the zoomed area when zooming in on parts of the X
  38165. * axis. By default, the Y axis adjusts to the min and max of the visible
  38166. * data. Cartesian series only.
  38167. */
  38168. getExtremesFromAll?: boolean;
  38169. /**
  38170. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  38171. * let them render independent of each other. Non-grouped columns will be
  38172. * laid out individually and overlap each other.
  38173. */
  38174. grouping?: boolean;
  38175. /**
  38176. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  38177. * axis units.
  38178. */
  38179. groupPadding?: number;
  38180. /**
  38181. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  38182. */
  38183. groupZPadding?: number;
  38184. /**
  38185. * (Highcharts) When set to `false` will prevent the series data from being
  38186. * included in any form of data export.
  38187. *
  38188. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  38189. * `includeInCSVExport`.
  38190. */
  38191. includeInDataExport?: boolean;
  38192. /**
  38193. * (Highmaps) What property to join the `mapData` to the value data. For
  38194. * example, if joinBy is "code", the mapData items with a specific code is
  38195. * merged into the data with the same code. For maps loaded from GeoJSON,
  38196. * the keys may be held in each point's `properties` object.
  38197. *
  38198. * The joinBy option can also be an array of two values, where the first
  38199. * points to a key in the `mapData`, and the second points to another key in
  38200. * the `data`.
  38201. *
  38202. * When joinBy is `null`, the map items are joined by their position in the
  38203. * array, which performs much better in maps with many data points. This is
  38204. * the recommended option if you are printing more than a thousand data
  38205. * points and have a backend that can preprocess the data into a parallel
  38206. * array of the mapData.
  38207. */
  38208. joinBy?: (string|Array<string>);
  38209. /**
  38210. * (Highcharts) An array specifying which option maps to which key in the
  38211. * data point array. This makes it convenient to work with unstructured data
  38212. * arrays from different sources.
  38213. */
  38214. keys?: Array<string>;
  38215. /**
  38216. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  38217. * series as possible in a natural way, seeking to avoid other series. The
  38218. * goal of this feature is to make the chart more easily readable, like if a
  38219. * human designer placed the labels in the optimal position.
  38220. *
  38221. * The series labels currently work with series types having a `graph` or an
  38222. * `area`.
  38223. */
  38224. label?: SeriesLabelOptionsObject;
  38225. /**
  38226. * (Highstock) The line marks the last price from all points.
  38227. */
  38228. lastPrice?: SeriesLastPriceOptionsObject;
  38229. /**
  38230. * (Highstock) The line marks the last price from visible range of points.
  38231. */
  38232. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  38233. /**
  38234. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  38235. * Additionally, the value can be ":previous" to link to the previous
  38236. * series. When two series are linked, only the first one appears in the
  38237. * legend. Toggling the visibility of this also toggles the linked series.
  38238. *
  38239. * If master series uses data sorting and linked series does not have its
  38240. * own sorting definition, the linked series will be sorted in the same
  38241. * order as the master one.
  38242. */
  38243. linkedTo?: string;
  38244. /**
  38245. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  38246. * column, translated to the height of a bar in a bar chart. This prevents
  38247. * the columns from becoming too wide when there is a small number of points
  38248. * in the chart.
  38249. */
  38250. maxPointWidth?: number;
  38251. /**
  38252. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  38253. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  38254. * to zero) point, set the minimal point length to a pixel value like 3\. In
  38255. * stacked column charts, minPointLength might not be respected for tightly
  38256. * packed values.
  38257. */
  38258. minPointLength?: number;
  38259. /**
  38260. * (Highstock) Options for the corresponding navigator series if
  38261. * `showInNavigator` is `true` for this series. Available options are the
  38262. * same as any series, documented at plotOptions and series.
  38263. *
  38264. * These options are merged with options in navigator.series, and will take
  38265. * precedence if the same option is defined both places.
  38266. */
  38267. navigatorOptions?: PlotSeriesOptions;
  38268. /**
  38269. * (Highcharts) The color for the parts of the graph or points that are
  38270. * below the threshold. Note that `zones` takes precedence over the negative
  38271. * color. Using `negativeColor` is equivalent to applying a zone with value
  38272. * of 0.
  38273. */
  38274. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  38275. /**
  38276. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  38277. * dataLabels.
  38278. */
  38279. opacity?: number;
  38280. /**
  38281. * (Highcharts) Properties for each single point.
  38282. */
  38283. point?: PlotSeriesPointOptions;
  38284. /**
  38285. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  38286. * an individual series. Overrides the chart wide configuration.
  38287. */
  38288. pointDescriptionFormatter?: Function;
  38289. /**
  38290. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  38291. * a series, `pointInterval` defines the interval of the x values. For
  38292. * example, if a series contains one value every decade starting from year
  38293. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  38294. * `pointInterval` is set in milliseconds.
  38295. *
  38296. * It can be also be combined with `pointIntervalUnit` to draw irregular
  38297. * time intervals.
  38298. *
  38299. * Please note that this options applies to the _series data_, not the
  38300. * interval of the axis ticks, which is independent.
  38301. */
  38302. pointInterval?: number;
  38303. /**
  38304. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  38305. * setting the pointInterval to irregular time units, `day`, `month` and
  38306. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  38307. * also takes the DST crossover into consideration when dealing with local
  38308. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  38309. * months, 10 years etc.
  38310. *
  38311. * Please note that this options applies to the _series data_, not the
  38312. * interval of the axis ticks, which is independent.
  38313. */
  38314. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  38315. /**
  38316. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  38317. * axis units.
  38318. */
  38319. pointPadding?: number;
  38320. /**
  38321. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  38322. * `number`.
  38323. *
  38324. * In a column chart, when pointPlacement is `"on"`, the point will not
  38325. * create any padding of the X axis. In a polar column chart this means that
  38326. * the first column points directly north. If the pointPlacement is
  38327. * `"between"`, the columns will be laid out between ticks. This is useful
  38328. * for example for visualising an amount between two points in time or in a
  38329. * certain sector of a polar chart.
  38330. *
  38331. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  38332. * is on the axis value, -0.5 is between this value and the previous, and
  38333. * 0.5 is between this value and the next. Unlike the textual options,
  38334. * numeric point placement options won't affect axis padding.
  38335. *
  38336. * Note that pointPlacement needs a pointRange to work. For column series
  38337. * this is computed, but for line-type series it needs to be set.
  38338. *
  38339. * For the `xrange` series type and gantt charts, if the Y axis is a
  38340. * category axis, the `pointPlacement` applies to the Y axis rather than the
  38341. * (typically datetime) X axis.
  38342. *
  38343. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  38344. */
  38345. pointPlacement?: (number|string);
  38346. /**
  38347. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  38348. * for. This determines the width of the column. On a categorized axis, the
  38349. * range will be 1 by default (one category unit). On linear and datetime
  38350. * axes, the range will be computed as the distance between the two closest
  38351. * data points.
  38352. *
  38353. * The default `null` means it is computed automatically, but this option
  38354. * can be used to override the automatic value.
  38355. *
  38356. * This option is set by default to 1 if data sorting is enabled.
  38357. */
  38358. pointRange?: (number|null);
  38359. /**
  38360. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  38361. * a series, pointStart defines on what value to start. For example, if a
  38362. * series contains one yearly value starting from 1945, set pointStart to
  38363. * 1945.
  38364. */
  38365. pointStart?: number;
  38366. /**
  38367. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  38368. * each column or bar point. When set to `undefined`, the width is
  38369. * calculated from the `pointPadding` and `groupPadding`. The width effects
  38370. * the dimension that is not based on the point value. For column series it
  38371. * is the hoizontal length and for bar series it is the vertical length.
  38372. */
  38373. pointWidth?: number;
  38374. /**
  38375. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  38376. * true, the checkbox next to the series name in the legend will be checked
  38377. * for a selected series.
  38378. */
  38379. selected?: boolean;
  38380. /**
  38381. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  38382. * the shadow can be an object configuration containing `color`, `offsetX`,
  38383. * `offsetY`, `opacity` and `width`.
  38384. */
  38385. shadow?: (boolean|ShadowOptionsObject);
  38386. /**
  38387. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  38388. * allow selecting the series. The state of the checkbox is determined by
  38389. * the `selected` option.
  38390. */
  38391. showCheckbox?: boolean;
  38392. /**
  38393. * (Highcharts) Whether to display this particular series or series type in
  38394. * the legend. Standalone series are shown in legend by default, and linked
  38395. * series are not. Since v7.2.0 it is possible to show series that use
  38396. * colorAxis by setting this option to `true`.
  38397. */
  38398. showInLegend?: boolean;
  38399. /**
  38400. * (Highstock) Whether or not to show the series in the navigator. Takes
  38401. * precedence over navigator.baseSeries if defined.
  38402. */
  38403. showInNavigator?: boolean;
  38404. /**
  38405. * (Highcharts) If set to `true`, the accessibility module will skip past
  38406. * the points in this series for keyboard navigation.
  38407. */
  38408. skipKeyboardNavigation?: boolean;
  38409. /**
  38410. * (Highcharts, Highstock) When this is true, the series will not cause the
  38411. * Y axis to cross the zero plane (or threshold option) unless the data
  38412. * actually crosses the plane.
  38413. *
  38414. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  38415. * make the Y axis show negative values according to the `minPadding`
  38416. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  38417. */
  38418. softThreshold?: boolean;
  38419. /**
  38420. * (Highcharts, Highstock) Whether to stack the values of each series on top
  38421. * of each other. Possible values are `undefined` to disable, `"normal"` to
  38422. * stack by value or `"percent"`.
  38423. *
  38424. * When stacking is enabled, data must be sorted in ascending X order.
  38425. *
  38426. * Some stacking options are related to specific series types. In the
  38427. * streamgraph series type, the stacking option is set to `"stream"`. The
  38428. * second one is `"overlap"`, which only applies to waterfall series.
  38429. */
  38430. stacking?: OptionsStackingValue;
  38431. states?: SeriesStatesOptionsObject;
  38432. /**
  38433. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  38434. * event on a series isn't triggered until the mouse moves over another
  38435. * series, or out of the plot area. When false, the `mouseOut` event on a
  38436. * series is triggered when the mouse leaves the area around the series'
  38437. * graph or markers. This also implies the tooltip when not shared. When
  38438. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  38439. * be hidden when moving the mouse between series. Defaults to true for line
  38440. * and area type series, but to false for columns, pies etc.
  38441. *
  38442. * **Note:** The boost module will force this option because of technical
  38443. * limitations.
  38444. */
  38445. stickyTracking?: boolean;
  38446. /**
  38447. * (Highcharts) The Y axis value to serve as the base for the columns, for
  38448. * distinguishing between values above and below a threshold. If `null`, the
  38449. * columns extend from the padding Y axis minimum.
  38450. */
  38451. threshold?: (number|null);
  38452. /**
  38453. * (Highcharts) A configuration object for the tooltip rendering of each
  38454. * single series. Properties are inherited from tooltip, but only the
  38455. * following properties can be defined on a series level.
  38456. */
  38457. tooltip?: SeriesTooltipOptionsObject;
  38458. /**
  38459. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  38460. * is longer than this, only one dimensional arrays of numbers, or two
  38461. * dimensional arrays with x and y values are allowed. Also, only the first
  38462. * point is tested, and the rest are assumed to be the same format. This
  38463. * saves expensive data checking and indexing in long series. Set it to `0`
  38464. * disable.
  38465. *
  38466. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  38467. * two dimensional arrays are allowed.
  38468. */
  38469. turboThreshold?: number;
  38470. /**
  38471. * (Highcharts) Set the initial visibility of the series.
  38472. */
  38473. visible?: boolean;
  38474. /**
  38475. * (Highmaps) Define the z index of the series.
  38476. */
  38477. zIndex?: number;
  38478. /**
  38479. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  38480. */
  38481. zoneAxis?: string;
  38482. /**
  38483. * (Highcharts, Highstock) An array defining zones within a series. Zones
  38484. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  38485. * the `zoneAxis` option. The zone definitions have to be in ascending order
  38486. * regarding to the value.
  38487. *
  38488. * In styled mode, the color zones are styled with the
  38489. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  38490. * option (view live demo).
  38491. */
  38492. zones?: Array<SeriesZonesOptionsObject>;
  38493. }
  38494. /**
  38495. * (Highstock) Enable or disable the initial animation when a series is
  38496. * displayed. The animation can also be set as a configuration object. Please
  38497. * note that this option only applies to the initial animation of the series
  38498. * itself. For other animations, see chart.animation and the animation parameter
  38499. * under the API methods. The following properties are supported:
  38500. *
  38501. * - `defer`: The animation delay time in milliseconds.
  38502. *
  38503. * - `duration`: The duration of the animation in milliseconds.
  38504. *
  38505. * - `easing`: Can be a string reference to an easing function set on the `Math`
  38506. * object or a function. See the _Custom easing function_ demo below.
  38507. *
  38508. * Due to poor performance, animation is disabled in old IE browsers for several
  38509. * chart types.
  38510. */
  38511. export interface PlotDemaAnimationOptions {
  38512. defer?: number;
  38513. }
  38514. /**
  38515. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38516. * animation when a series is displayed for the `dataLabels`. The animation can
  38517. * also be set as a configuration object. Please note that this option only
  38518. * applies to the initial animation. For other animations, see chart.animation
  38519. * and the animation parameter under the API methods. The following properties
  38520. * are supported:
  38521. *
  38522. * - `defer`: The animation delay time in milliseconds.
  38523. */
  38524. export interface PlotDemaDataLabelsAnimationOptions {
  38525. /**
  38526. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  38527. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  38528. * inherits defer time from the series.animation.defer.
  38529. */
  38530. defer?: number;
  38531. }
  38532. /**
  38533. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  38534. * appearing next to each data point.
  38535. *
  38536. * Since v6.2.0, multiple data labels can be applied to each single point by
  38537. * defining them as an array of configs.
  38538. *
  38539. * In styled mode, the data labels can be styled with the
  38540. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  38541. * example).
  38542. */
  38543. export interface PlotDemaDataLabelsOptions {
  38544. /**
  38545. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  38546. * compared to the point. If `right`, the right side of the label should be
  38547. * touching the point. For points with an extent, like columns, the
  38548. * alignments also dictates how to align it inside the box, as given with
  38549. * the inside option. Can be one of `left`, `center` or `right`.
  38550. */
  38551. align?: (AlignValue|null);
  38552. /**
  38553. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  38554. * overlap. To make the labels less sensitive for overlapping, the
  38555. * dataLabels.padding can be set to 0.
  38556. */
  38557. allowOverlap?: boolean;
  38558. /**
  38559. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  38560. * animation when a series is displayed for the `dataLabels`. The animation
  38561. * can also be set as a configuration object. Please note that this option
  38562. * only applies to the initial animation. For other animations, see
  38563. * chart.animation and the animation parameter under the API methods. The
  38564. * following properties are supported:
  38565. *
  38566. * - `defer`: The animation delay time in milliseconds.
  38567. */
  38568. animation?: (boolean|PlotDemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  38569. /**
  38570. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  38571. * for the data label.
  38572. */
  38573. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  38574. /**
  38575. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  38576. * label. Defaults to `undefined`.
  38577. */
  38578. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38579. /**
  38580. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  38581. * the data label.
  38582. */
  38583. borderRadius?: number;
  38584. /**
  38585. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  38586. * the data label.
  38587. */
  38588. borderWidth?: number;
  38589. /**
  38590. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  38591. * Particularly in styled mode, this can be used to give each series' or
  38592. * point's data label unique styling. In addition to this option, a default
  38593. * color class name is added so that we can give the labels a contrast text
  38594. * shadow.
  38595. */
  38596. className?: string;
  38597. /**
  38598. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  38599. * labels. Defaults to `undefined`. For certain series types, like column or
  38600. * map, the data labels can be drawn inside the points. In this case the
  38601. * data label will be drawn with maximum contrast by default. Additionally,
  38602. * it will be given a `text-outline` style with the opposite color, to
  38603. * further increase the contrast. This can be overridden by setting the
  38604. * `text-outline` style to `none` in the `dataLabels.style` option.
  38605. */
  38606. color?: (ColorString|GradientColorObject|PatternObject);
  38607. /**
  38608. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  38609. * are outside the plot area. By default, the data label is moved inside the
  38610. * plot area according to the overflow option.
  38611. */
  38612. crop?: boolean;
  38613. /**
  38614. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  38615. * labels until the initial series animation has finished. Setting to
  38616. * `false` renders the data label immediately. If set to `true` inherits the
  38617. * defer time set in plotOptions.series.animation. If set to a number, a
  38618. * defer time is specified in milliseconds.
  38619. */
  38620. defer?: (boolean|number);
  38621. /**
  38622. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  38623. * labels.
  38624. */
  38625. enabled?: boolean;
  38626. /**
  38627. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  38628. * of which data labels to display. The declarative filter is designed for
  38629. * use when callback functions are not available, like when the chart
  38630. * options require a pure JSON structure or for use with graphical editors.
  38631. * For programmatic control, use the `formatter` instead, and return
  38632. * `undefined` to disable a single data label.
  38633. */
  38634. filter?: DataLabelsFilterOptionsObject;
  38635. /**
  38636. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  38637. * label. Available variables are the same as for `formatter`.
  38638. */
  38639. format?: string;
  38640. /**
  38641. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  38642. * format the data label. Note that if a `format` is defined, the format
  38643. * takes precedence and the formatter is ignored.
  38644. */
  38645. formatter?: DataLabelsFormatterCallbackFunction;
  38646. /**
  38647. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  38648. * columns or map areas, whether to align the data label inside the box or
  38649. * to the actual value point. Defaults to `false` in most cases, `true` in
  38650. * stacked columns.
  38651. */
  38652. inside?: boolean;
  38653. /**
  38654. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  38655. * of null. Works analogously to format. `nullFormat` can be applied only to
  38656. * series which support displaying null points.
  38657. */
  38658. nullFormat?: (boolean|string);
  38659. /**
  38660. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  38661. * that defines formatting for points with the value of null. Works
  38662. * analogously to formatter. `nullPointFormatter` can be applied only to
  38663. * series which support displaying null points.
  38664. */
  38665. nullFormatter?: DataLabelsFormatterCallbackFunction;
  38666. /**
  38667. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  38668. * flow outside the plot area. The default is `"justify"`, which aligns them
  38669. * inside the plot area. For columns and bars, this means it will be moved
  38670. * inside the bar. To display data labels outside the plot area, set `crop`
  38671. * to `false` and `overflow` to `"allow"`.
  38672. */
  38673. overflow?: DataLabelsOverflowValue;
  38674. /**
  38675. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  38676. * the `backgroundColor` is set, this is the padding within the box.
  38677. */
  38678. padding?: number;
  38679. /**
  38680. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  38681. * points. If `center` alignment is not possible, it defaults to `right`.
  38682. */
  38683. position?: AlignValue;
  38684. /**
  38685. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  38686. * that due to a more complex structure, backgrounds, borders and padding
  38687. * will be lost on a rotated data label.
  38688. */
  38689. rotation?: number;
  38690. /**
  38691. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  38692. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  38693. * an object configuration containing `color`, `offsetX`, `offsetY`,
  38694. * `opacity` and `width`.
  38695. */
  38696. shadow?: (boolean|ShadowOptionsObject);
  38697. /**
  38698. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  38699. * the border around the label. Symbols are predefined functions on the
  38700. * Renderer object.
  38701. */
  38702. shape?: string;
  38703. /**
  38704. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  38705. * default `color` setting is `"contrast"`, which is a pseudo color that
  38706. * Highcharts picks up and applies the maximum contrast to the underlying
  38707. * point item, for example the bar in a bar chart.
  38708. *
  38709. * The `textOutline` is a pseudo property that applies an outline of the
  38710. * given width with the given color, which by default is the maximum
  38711. * contrast to the text. So a bright text color will result in a black text
  38712. * outline for maximum readability on a mixed background. In some cases,
  38713. * especially with grayscale text, the text outline doesn't work well, in
  38714. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  38715. * is true, the `textOutline` will not be picked up. In this, case, the same
  38716. * effect can be acheived through the `text-shadow` CSS property.
  38717. *
  38718. * For some series types, where each point has an extent, like for example
  38719. * tree maps, the data label may overflow the point. There are two
  38720. * strategies for handling overflow. By default, the text will wrap to
  38721. * multiple lines. The other strategy is to set `style.textOverflow` to
  38722. * `ellipsis`, which will keep the text on one line plus it will break
  38723. * inside long words.
  38724. */
  38725. style?: CSSObject;
  38726. /**
  38727. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  38728. * should follow marker's shape. Border and background are disabled for a
  38729. * label that follows a path.
  38730. *
  38731. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  38732. * to true will disable this option.
  38733. */
  38734. textPath?: DataLabelsTextPathOptionsObject;
  38735. /**
  38736. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  38737. * the labels.
  38738. */
  38739. useHTML?: boolean;
  38740. /**
  38741. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  38742. * label. Can be one of `top`, `middle` or `bottom`. The default value
  38743. * depends on the data, for instance in a column chart, the label is above
  38744. * positive values and below negative values.
  38745. */
  38746. verticalAlign?: (VerticalAlignValue|null);
  38747. /**
  38748. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  38749. * label relative to the point in pixels.
  38750. */
  38751. x?: number;
  38752. /**
  38753. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  38754. * label relative to the point in pixels.
  38755. */
  38756. y?: number;
  38757. /**
  38758. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  38759. * The default Z index puts it above the series. Use a Z index of 2 to
  38760. * display it behind the series.
  38761. */
  38762. z?: number;
  38763. }
  38764. /**
  38765. * (Highcharts, Highstock) Options for the series data sorting.
  38766. */
  38767. export interface PlotDemaDataSortingOptions {
  38768. /**
  38769. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  38770. * Use xAxis.reversed to change the sorting order.
  38771. */
  38772. enabled?: boolean;
  38773. /**
  38774. * (Highcharts, Highstock) Whether to allow matching points by name in an
  38775. * update. If this option is disabled, points will be matched by order.
  38776. */
  38777. matchByName?: boolean;
  38778. /**
  38779. * (Highcharts, Highstock) Determines what data value should be used to sort
  38780. * by.
  38781. */
  38782. sortKey?: string;
  38783. }
  38784. /**
  38785. * (Highstock) Double exponential moving average (DEMA) indicator. This series
  38786. * requires `linkedTo` option to be set and should be loaded after the
  38787. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  38788. *
  38789. * In TypeScript the type option must always be set.
  38790. *
  38791. * Configuration options for the series are given in three levels:
  38792. *
  38793. * 1. Options for all series in a chart are defined in the plotOptions.series
  38794. * object.
  38795. *
  38796. * 2. Options for all `dema` series are defined in plotOptions.dema.
  38797. *
  38798. * 3. Options for one single series are given in the series instance array. (see
  38799. * online documentation for example)
  38800. */
  38801. export interface PlotDemaOptions {
  38802. /**
  38803. * (Highstock) Accessibility options for a series.
  38804. */
  38805. accessibility?: SeriesAccessibilityOptionsObject;
  38806. /**
  38807. * (Highstock) Allow this series' points to be selected by clicking on the
  38808. * graphic (columns, point markers, pie slices, map areas etc).
  38809. *
  38810. * The selected points can be handled by point select and unselect events,
  38811. * or collectively by the getSelectedPoints function.
  38812. *
  38813. * And alternative way of selecting points is through dragging.
  38814. */
  38815. allowPointSelect?: boolean;
  38816. /**
  38817. * (Highstock) Enable or disable the initial animation when a series is
  38818. * displayed. The animation can also be set as a configuration object.
  38819. * Please note that this option only applies to the initial animation of the
  38820. * series itself. For other animations, see chart.animation and the
  38821. * animation parameter under the API methods. The following properties are
  38822. * supported:
  38823. *
  38824. * - `defer`: The animation delay time in milliseconds.
  38825. *
  38826. * - `duration`: The duration of the animation in milliseconds.
  38827. *
  38828. * - `easing`: Can be a string reference to an easing function set on the
  38829. * `Math` object or a function. See the _Custom easing function_ demo below.
  38830. *
  38831. * Due to poor performance, animation is disabled in old IE browsers for
  38832. * several chart types.
  38833. */
  38834. animation?: (boolean|PlotDemaAnimationOptions|Partial<AnimationOptionsObject>);
  38835. /**
  38836. * (Highstock) For some series, there is a limit that shuts down initial
  38837. * animation by default when the total number of points in the chart is too
  38838. * high. For example, for a column chart and its derivatives, animation does
  38839. * not run if there is more than 250 points totally. To disable this cap,
  38840. * set `animationLimit` to `Infinity`.
  38841. */
  38842. animationLimit?: number;
  38843. /**
  38844. * (Highstock) Sets the color blending in the boost module.
  38845. */
  38846. boostBlending?: OptionsBoostBlendingValue;
  38847. /**
  38848. * (Highstock) Set the point threshold for when a series should enter boost
  38849. * mode.
  38850. *
  38851. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  38852. * there are 2000 or more points in the series.
  38853. *
  38854. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  38855. * it to 1 will force boosting.
  38856. *
  38857. * Note that the cropThreshold also affects this setting. When zooming in on
  38858. * a series that has fewer points than the `cropThreshold`, all points are
  38859. * rendered although outside the visible plot area, and the `boostThreshold`
  38860. * won't take effect.
  38861. */
  38862. boostThreshold?: number;
  38863. /**
  38864. * (Highmaps) The border color of the map areas.
  38865. *
  38866. * In styled mode, the border stroke is given in the `.highcharts-point`
  38867. * class.
  38868. */
  38869. borderColor?: (ColorString|GradientColorObject|PatternObject);
  38870. /**
  38871. * (Highmaps) The border width of each map area.
  38872. *
  38873. * In styled mode, the border stroke width is given in the
  38874. * `.highcharts-point` class.
  38875. */
  38876. borderWidth?: number;
  38877. /**
  38878. * (Highstock) An additional class name to apply to the series' graphical
  38879. * elements. This option does not replace default class names of the
  38880. * graphical element.
  38881. */
  38882. className?: string;
  38883. /**
  38884. * (Highstock) Disable this option to allow series rendering in the whole
  38885. * plotting area.
  38886. *
  38887. * **Note:** Clipping should be always enabled when chart.zoomType is set
  38888. */
  38889. clip?: boolean;
  38890. /**
  38891. * (Highstock) The main color of the series. In line type series it applies
  38892. * to the line and the point markers unless otherwise specified. In bar type
  38893. * series it applies to the bars unless a color is specified per point. The
  38894. * default value is pulled from the `options.colors` array.
  38895. *
  38896. * In styled mode, the color can be defined by the colorIndex option. Also,
  38897. * the series color can be set with the `.highcharts-series`,
  38898. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  38899. * `.highcharts-series-{n}` class, or individual classes given by the
  38900. * `className` option.
  38901. */
  38902. color?: (ColorString|GradientColorObject|PatternObject);
  38903. /**
  38904. * (Highstock) Styled mode only. A specific color index to use for the
  38905. * series, so its graphic representations are given the class name
  38906. * `highcharts-color-{n}`.
  38907. */
  38908. colorIndex?: number;
  38909. /**
  38910. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  38911. * used to calculate point color if `colorAxis` is used. Requires to set
  38912. * `min` and `max` if some custom point property is used or if approximation
  38913. * for data grouping is set to `'sum'`.
  38914. */
  38915. colorKey?: string;
  38916. /**
  38917. * (Highstock) Defines if comparison should start from the first point
  38918. * within the visible range or should start from the first point **before**
  38919. * the range.
  38920. *
  38921. * In other words, this flag determines if first point within the visible
  38922. * range will have 0% (`compareStart=true`) or should have been already
  38923. * calculated according to the previous point (`compareStart=false`).
  38924. */
  38925. compareStart?: boolean;
  38926. /**
  38927. * (Highstock) Whether to compare indicator to the main series values or
  38928. * indicator values.
  38929. */
  38930. compareToMain?: boolean;
  38931. /**
  38932. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  38933. * series plot across the extremes.
  38934. */
  38935. connectEnds?: boolean;
  38936. /**
  38937. * (Highcharts, Highstock) Whether to connect a graph line across null
  38938. * points, or render a gap between the two points on either side of the
  38939. * null.
  38940. */
  38941. connectNulls?: boolean;
  38942. /**
  38943. * (Gantt) Override Pathfinder connector options for a series. Requires
  38944. * Highcharts Gantt to be loaded.
  38945. */
  38946. connectors?: SeriesConnectorsOptionsObject;
  38947. /**
  38948. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  38949. * rounded to its nearest pixel in order to render sharp on screen. In some
  38950. * cases, when there are a lot of densely packed columns, this leads to
  38951. * visible difference in column widths or distance between columns. In these
  38952. * cases, setting `crisp` to `false` may look better, even though each
  38953. * column is rendered blurry.
  38954. */
  38955. crisp?: boolean;
  38956. /**
  38957. * (Highcharts, Highstock) When the series contains less points than the
  38958. * crop threshold, all points are drawn, even if the points fall outside the
  38959. * visible plot area at the current zoom. The advantage of drawing all
  38960. * points (including markers and columns), is that animation is performed on
  38961. * updates. On the other hand, when the series contains more points than the
  38962. * crop threshold, the series data is cropped to only contain points that
  38963. * fall within the plot area. The advantage of cropping away invisible
  38964. * points is to increase performance on large series.
  38965. */
  38966. cropThreshold?: number;
  38967. /**
  38968. * (Highstock) You can set the cursor to "pointer" if you have click events
  38969. * attached to the series, to signal to the user that the points and lines
  38970. * can be clicked.
  38971. *
  38972. * In styled mode, the series cursor can be set with the same classes as
  38973. * listed under series.color.
  38974. */
  38975. cursor?: (string|CursorValue);
  38976. /**
  38977. * (Highstock) A reserved subspace to store options and values for
  38978. * customized functionality. Here you can add additional data for your own
  38979. * event callbacks and formatter callbacks.
  38980. */
  38981. custom?: Dictionary<any>;
  38982. /**
  38983. * (Highstock) Name of the dash style to use for the graph, or for some
  38984. * series types the outline of each shape.
  38985. *
  38986. * In styled mode, the stroke dash-array can be set with the same classes as
  38987. * listed under series.color.
  38988. */
  38989. dashStyle?: DashStyleValue;
  38990. /**
  38991. * (Highstock) Data grouping is the concept of sampling the data values into
  38992. * larger blocks in order to ease readability and increase performance of
  38993. * the JavaScript charts. Highcharts Stock by default applies data grouping
  38994. * when the points become closer than a certain pixel value, determined by
  38995. * the `groupPixelWidth` option.
  38996. *
  38997. * If data grouping is applied, the grouping information of grouped points
  38998. * can be read from the Point.dataGroup. If point options other than the
  38999. * data itself are set, for example `name` or `color` or custom properties,
  39000. * the grouping logic doesn't know how to group it. In this case the options
  39001. * of the first point instance are copied over to the group point. This can
  39002. * be altered through a custom `approximation` callback function.
  39003. */
  39004. dataGrouping?: DataGroupingOptionsObject;
  39005. /**
  39006. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  39007. * labels, appearing next to each data point.
  39008. *
  39009. * Since v6.2.0, multiple data labels can be applied to each single point by
  39010. * defining them as an array of configs.
  39011. *
  39012. * In styled mode, the data labels can be styled with the
  39013. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  39014. * (see example).
  39015. */
  39016. dataLabels?: (PlotDemaDataLabelsOptions|Array<PlotDemaDataLabelsOptions>);
  39017. /**
  39018. * (Highcharts, Highstock) Options for the series data sorting.
  39019. */
  39020. dataSorting?: (DataSortingOptionsObject|PlotDemaDataSortingOptions);
  39021. /**
  39022. * (Highstock) A description of the series to add to the screen reader
  39023. * information about the series.
  39024. */
  39025. description?: string;
  39026. /**
  39027. * (Highstock) Enable or disable the mouse tracking for a specific series.
  39028. * This includes point tooltips and click events on graphs and points. For
  39029. * large datasets it improves performance.
  39030. */
  39031. enableMouseTracking?: boolean;
  39032. /**
  39033. * (Highstock) General event handlers for the series items. These event
  39034. * hooks can also be attached to the series at run time using the
  39035. * `Highcharts.addEvent` function.
  39036. */
  39037. events?: SeriesEventsOptionsObject;
  39038. /**
  39039. * (Highstock) Determines whether the series should look for the nearest
  39040. * point in both dimensions or just the x-dimension when hovering the
  39041. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  39042. * series. If the data has duplicate x-values, it is recommended to set this
  39043. * to `'xy'` to allow hovering over all points.
  39044. *
  39045. * Applies only to series types using nearest neighbor search (not direct
  39046. * hover) for tooltip.
  39047. */
  39048. findNearestPointBy?: OptionsFindNearestPointByValue;
  39049. /**
  39050. * (Highstock) Defines when to display a gap in the graph, together with the
  39051. * gapUnit option.
  39052. *
  39053. * In case when `dataGrouping` is enabled, points can be grouped into a
  39054. * larger time span. This can make the grouped points to have a greater
  39055. * distance than the absolute value of `gapSize` property, which will result
  39056. * in disappearing graph completely. To prevent this situation the mentioned
  39057. * distance between grouped points is used instead of previously defined
  39058. * `gapSize`.
  39059. *
  39060. * In practice, this option is most often used to visualize gaps in time
  39061. * series. In a stock chart, intraday data is available for daytime hours,
  39062. * while gaps will appear in nights and weekends.
  39063. */
  39064. gapSize?: number;
  39065. /**
  39066. * (Highstock) Together with gapSize, this option defines where to draw gaps
  39067. * in the graph.
  39068. *
  39069. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  39070. * if the distance between two points is greater than 5 times that of the
  39071. * two closest points, the graph will be broken.
  39072. *
  39073. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  39074. * values, which on a datetime axis is milliseconds. This also applies to
  39075. * the navigator series that inherits gap options from the base series.
  39076. */
  39077. gapUnit?: OptionsGapUnitValue;
  39078. /**
  39079. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39080. * chart width or only the zoomed area when zooming in on parts of the X
  39081. * axis. By default, the Y axis adjusts to the min and max of the visible
  39082. * data. Cartesian series only.
  39083. */
  39084. getExtremesFromAll?: boolean;
  39085. /**
  39086. * (Highstock) When set to `false` will prevent the series data from being
  39087. * included in any form of data export.
  39088. *
  39089. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39090. * `includeInCSVExport`.
  39091. */
  39092. includeInDataExport?: boolean;
  39093. /**
  39094. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39095. * series as possible in a natural way, seeking to avoid other series. The
  39096. * goal of this feature is to make the chart more easily readable, like if a
  39097. * human designer placed the labels in the optimal position.
  39098. *
  39099. * The series labels currently work with series types having a `graph` or an
  39100. * `area`.
  39101. */
  39102. label?: SeriesLabelOptionsObject;
  39103. /**
  39104. * (Highstock) The line marks the last price from all points.
  39105. */
  39106. lastPrice?: SeriesLastPriceOptionsObject;
  39107. /**
  39108. * (Highstock) The line marks the last price from visible range of points.
  39109. */
  39110. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39111. /**
  39112. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  39113. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  39114. * the ends and bends.
  39115. */
  39116. linecap?: SeriesLinecapValue;
  39117. /**
  39118. * (Highcharts, Highstock) Pixel width of the graph line.
  39119. */
  39120. lineWidth?: number;
  39121. /**
  39122. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  39123. * based on. Required for this indicator.
  39124. */
  39125. linkedTo?: string;
  39126. /**
  39127. * (Highstock) Options for the point markers of line-like series. Properties
  39128. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  39129. * appearance of the markers. Other series types, like column series, don't
  39130. * have markers, but have visual options on the series level instead.
  39131. *
  39132. * In styled mode, the markers can be styled with the `.highcharts-point`,
  39133. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  39134. */
  39135. marker?: PointMarkerOptionsObject;
  39136. /**
  39137. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  39138. * If not set, it will be based on a technical indicator type and default
  39139. * params.
  39140. */
  39141. name?: string;
  39142. /**
  39143. * (Highstock) The color for the parts of the graph or points that are below
  39144. * the threshold. Note that `zones` takes precedence over the negative
  39145. * color. Using `negativeColor` is equivalent to applying a zone with value
  39146. * of 0.
  39147. */
  39148. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  39149. /**
  39150. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  39151. * dataLabels.
  39152. */
  39153. opacity?: number;
  39154. /**
  39155. * (Highstock) Paramters used in calculation of regression series' points.
  39156. */
  39157. params?: PlotDemaParamsOptions;
  39158. /**
  39159. * (Highstock) Properties for each single point.
  39160. */
  39161. point?: PlotSeriesPointOptions;
  39162. /**
  39163. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  39164. * individual series. Overrides the chart wide configuration.
  39165. */
  39166. pointDescriptionFormatter?: Function;
  39167. /**
  39168. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  39169. * true, the checkbox next to the series name in the legend will be checked
  39170. * for a selected series.
  39171. */
  39172. selected?: boolean;
  39173. /**
  39174. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  39175. * the shadow can be an object configuration containing `color`, `offsetX`,
  39176. * `offsetY`, `opacity` and `width`.
  39177. */
  39178. shadow?: (boolean|ShadowOptionsObject);
  39179. /**
  39180. * (Highstock) If true, a checkbox is displayed next to the legend item to
  39181. * allow selecting the series. The state of the checkbox is determined by
  39182. * the `selected` option.
  39183. */
  39184. showCheckbox?: boolean;
  39185. /**
  39186. * (Highstock) Whether to display this particular series or series type in
  39187. * the legend. Standalone series are shown in legend by default, and linked
  39188. * series are not. Since v7.2.0 it is possible to show series that use
  39189. * colorAxis by setting this option to `true`.
  39190. */
  39191. showInLegend?: boolean;
  39192. /**
  39193. * (Highstock) If set to `true`, the accessibility module will skip past the
  39194. * points in this series for keyboard navigation.
  39195. */
  39196. skipKeyboardNavigation?: boolean;
  39197. /**
  39198. * (Highcharts, Highstock) When this is true, the series will not cause the
  39199. * Y axis to cross the zero plane (or threshold option) unless the data
  39200. * actually crosses the plane.
  39201. *
  39202. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  39203. * make the Y axis show negative values according to the `minPadding`
  39204. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  39205. */
  39206. softThreshold?: boolean;
  39207. states?: SeriesStatesOptionsObject;
  39208. /**
  39209. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  39210. * values are `left`, `center` and `right`.
  39211. */
  39212. step?: OptionsStepValue;
  39213. /**
  39214. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  39215. * event on a series isn't triggered until the mouse moves over another
  39216. * series, or out of the plot area. When false, the `mouseOut` event on a
  39217. * series is triggered when the mouse leaves the area around the series'
  39218. * graph or markers. This also implies the tooltip when not shared. When
  39219. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  39220. * be hidden when moving the mouse between series. Defaults to true for line
  39221. * and area type series, but to false for columns, pies etc.
  39222. *
  39223. * **Note:** The boost module will force this option because of technical
  39224. * limitations.
  39225. */
  39226. stickyTracking?: boolean;
  39227. /**
  39228. * (Highcharts, Highstock) The threshold, also called zero level or base
  39229. * level. For line type series this is only used in conjunction with
  39230. * negativeColor.
  39231. */
  39232. threshold?: (number|null);
  39233. /**
  39234. * (Highstock) A configuration object for the tooltip rendering of each
  39235. * single series. Properties are inherited from tooltip, but only the
  39236. * following properties can be defined on a series level.
  39237. */
  39238. tooltip?: SeriesTooltipOptionsObject;
  39239. /**
  39240. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  39241. * is longer than this, only one dimensional arrays of numbers, or two
  39242. * dimensional arrays with x and y values are allowed. Also, only the first
  39243. * point is tested, and the rest are assumed to be the same format. This
  39244. * saves expensive data checking and indexing in long series. Set it to `0`
  39245. * disable.
  39246. *
  39247. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  39248. * two dimensional arrays are allowed.
  39249. */
  39250. turboThreshold?: number;
  39251. /**
  39252. * (Highstock) Set the initial visibility of the series.
  39253. */
  39254. visible?: boolean;
  39255. /**
  39256. * (Highmaps) Define the z index of the series.
  39257. */
  39258. zIndex?: number;
  39259. /**
  39260. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  39261. */
  39262. zoneAxis?: string;
  39263. /**
  39264. * (Highcharts, Highstock) An array defining zones within a series. Zones
  39265. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  39266. * the `zoneAxis` option. The zone definitions have to be in ascending order
  39267. * regarding to the value.
  39268. *
  39269. * In styled mode, the color zones are styled with the
  39270. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  39271. * option (view live demo).
  39272. */
  39273. zones?: Array<SeriesZonesOptionsObject>;
  39274. }
  39275. /**
  39276. * (Highstock) Paramters used in calculation of regression series' points.
  39277. */
  39278. export interface PlotDemaParamsOptions {
  39279. /**
  39280. * (Highstock) The point index which indicator calculations will base. For
  39281. * example using OHLC data, index=2 means the indicator will be calculated
  39282. * using Low values.
  39283. *
  39284. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  39285. * default index is set to 3 which means that the ema indicator will be
  39286. * calculated using Close values.
  39287. */
  39288. index?: number;
  39289. /**
  39290. * (Highstock) The base period for indicator calculations. This is the
  39291. * number of data points which are taken into account for the indicator
  39292. * calculations.
  39293. */
  39294. period?: number;
  39295. }
  39296. /**
  39297. * (Highcharts) Enable or disable the initial animation when a series is
  39298. * displayed. The animation can also be set as a configuration object. Please
  39299. * note that this option only applies to the initial animation of the series
  39300. * itself. For other animations, see chart.animation and the animation parameter
  39301. * under the API methods. The following properties are supported:
  39302. *
  39303. * - `defer`: The animation delay time in milliseconds.
  39304. *
  39305. * - `duration`: The duration of the animation in milliseconds.
  39306. *
  39307. * - `easing`: Can be a string reference to an easing function set on the `Math`
  39308. * object or a function. See the _Custom easing function_ demo below.
  39309. *
  39310. * Due to poor performance, animation is disabled in old IE browsers for several
  39311. * chart types.
  39312. */
  39313. export interface PlotDependencywheelAnimationOptions {
  39314. defer?: number;
  39315. }
  39316. /**
  39317. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39318. * animation when a series is displayed for the `dataLabels`. The animation can
  39319. * also be set as a configuration object. Please note that this option only
  39320. * applies to the initial animation. For other animations, see chart.animation
  39321. * and the animation parameter under the API methods. The following properties
  39322. * are supported:
  39323. *
  39324. * - `defer`: The animation delay time in milliseconds.
  39325. */
  39326. export interface PlotDependencywheelDataLabelsAnimationOptions {
  39327. /**
  39328. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39329. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39330. * inherits defer time from the series.animation.defer.
  39331. */
  39332. defer?: number;
  39333. }
  39334. /**
  39335. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39336. * animation when a series is displayed for the `dataLabels`. The animation can
  39337. * also be set as a configuration object. Please note that this option only
  39338. * applies to the initial animation. For other animations, see chart.animation
  39339. * and the animation parameter under the API methods. The following properties
  39340. * are supported:
  39341. *
  39342. * - `defer`: The animation delay time in milliseconds.
  39343. */
  39344. export interface PlotDependencywheelLevelsDataLabelsAnimationOptions {
  39345. /**
  39346. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39347. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39348. * inherits defer time from the series.animation.defer.
  39349. */
  39350. defer?: number;
  39351. }
  39352. /**
  39353. * (Highcharts) Set options on specific levels. Takes precedence over series
  39354. * options, but not node and link options.
  39355. */
  39356. export interface PlotDependencywheelLevelsOptions {
  39357. /**
  39358. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  39359. * level.
  39360. */
  39361. borderColor?: ColorString;
  39362. /**
  39363. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  39364. * level.
  39365. */
  39366. borderWidth?: number;
  39367. /**
  39368. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  39369. */
  39370. color?: (ColorString|GradientColorObject|PatternObject);
  39371. /**
  39372. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  39373. * level.
  39374. */
  39375. colorByPoint?: boolean;
  39376. /**
  39377. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  39378. * points which lay on the same level.
  39379. */
  39380. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  39381. /**
  39382. * (Highcharts) Decides which level takes effect from the options set in the
  39383. * levels object.
  39384. */
  39385. level?: number;
  39386. /**
  39387. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  39388. * level.
  39389. */
  39390. linkOpacity?: number;
  39391. /**
  39392. * (Highcharts) Can set `states` on all nodes and points which lay on the
  39393. * same level.
  39394. */
  39395. states?: SeriesStatesOptionsObject;
  39396. }
  39397. /**
  39398. * (Highcharts) A dependency wheel chart is a type of flow diagram, where all
  39399. * nodes are laid out in a circle, and the flow between the are drawn as link
  39400. * bands.
  39401. *
  39402. * In TypeScript the type option must always be set.
  39403. *
  39404. * Configuration options for the series are given in three levels:
  39405. *
  39406. * 1. Options for all series in a chart are defined in the plotOptions.series
  39407. * object.
  39408. *
  39409. * 2. Options for all `dependencywheel` series are defined in
  39410. * plotOptions.dependencywheel.
  39411. *
  39412. * 3. Options for one single series are given in the series instance array. (see
  39413. * online documentation for example)
  39414. */
  39415. export interface PlotDependencywheelOptions {
  39416. /**
  39417. * (Highcharts) Accessibility options for a series.
  39418. */
  39419. accessibility?: SeriesAccessibilityOptionsObject;
  39420. /**
  39421. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  39422. * rendered. If `true`, areas which don't correspond to a data point, are
  39423. * rendered as `null` points. If `false`, those areas are skipped.
  39424. */
  39425. allAreas?: boolean;
  39426. /**
  39427. * (Highcharts) Allow this series' points to be selected by clicking on the
  39428. * graphic (columns, point markers, pie slices, map areas etc).
  39429. *
  39430. * The selected points can be handled by point select and unselect events,
  39431. * or collectively by the getSelectedPoints function.
  39432. *
  39433. * And alternative way of selecting points is through dragging.
  39434. */
  39435. allowPointSelect?: boolean;
  39436. /**
  39437. * (Highcharts) Enable or disable the initial animation when a series is
  39438. * displayed. The animation can also be set as a configuration object.
  39439. * Please note that this option only applies to the initial animation of the
  39440. * series itself. For other animations, see chart.animation and the
  39441. * animation parameter under the API methods. The following properties are
  39442. * supported:
  39443. *
  39444. * - `defer`: The animation delay time in milliseconds.
  39445. *
  39446. * - `duration`: The duration of the animation in milliseconds.
  39447. *
  39448. * - `easing`: Can be a string reference to an easing function set on the
  39449. * `Math` object or a function. See the _Custom easing function_ demo below.
  39450. *
  39451. * Due to poor performance, animation is disabled in old IE browsers for
  39452. * several chart types.
  39453. */
  39454. animation?: (boolean|PlotDependencywheelAnimationOptions|Partial<AnimationOptionsObject>);
  39455. /**
  39456. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  39457. * column or bar.
  39458. *
  39459. * In styled mode, the border stroke can be set with the `.highcharts-point`
  39460. * rule.
  39461. */
  39462. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39463. /**
  39464. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  39465. * column or bar. Defaults to `1` when there is room for a border, but to
  39466. * `0` when the columns are so dense that a border would cover the next
  39467. * column.
  39468. *
  39469. * In styled mode, the stroke width can be set with the `.highcharts-point`
  39470. * rule.
  39471. */
  39472. borderWidth?: number;
  39473. /**
  39474. * (Highcharts) The center of the wheel relative to the plot area. Can be
  39475. * percentages or pixel values. The default behaviour is to center the wheel
  39476. * inside the plot area.
  39477. */
  39478. center?: Array<(number|string|null)>;
  39479. /**
  39480. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  39481. * the category, ignoring null or missing points. When `false`, space will
  39482. * be reserved for null or missing points.
  39483. */
  39484. centerInCategory?: boolean;
  39485. /**
  39486. * (Highcharts) An additional class name to apply to the series' graphical
  39487. * elements. This option does not replace default class names of the
  39488. * graphical element.
  39489. */
  39490. className?: string;
  39491. /**
  39492. * (Highcharts) Disable this option to allow series rendering in the whole
  39493. * plotting area.
  39494. *
  39495. * **Note:** Clipping should be always enabled when chart.zoomType is set
  39496. */
  39497. clip?: boolean;
  39498. /**
  39499. * (Highcharts) The main color of the series. In line type series it applies
  39500. * to the line and the point markers unless otherwise specified. In bar type
  39501. * series it applies to the bars unless a color is specified per point. The
  39502. * default value is pulled from the `options.colors` array.
  39503. *
  39504. * In styled mode, the color can be defined by the colorIndex option. Also,
  39505. * the series color can be set with the `.highcharts-series`,
  39506. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  39507. * `.highcharts-series-{n}` class, or individual classes given by the
  39508. * `className` option.
  39509. */
  39510. color?: (ColorString|GradientColorObject|PatternObject);
  39511. /**
  39512. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  39513. * from the global colors or series-specific plotOptions.column.colors
  39514. * collections, this option determines whether the chart should receive one
  39515. * color per series or one color per point.
  39516. *
  39517. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  39518. * and instead this option gives the points individual color class names on
  39519. * the form `highcharts-color-{n}`.
  39520. */
  39521. colorByPoint?: boolean;
  39522. /**
  39523. * (Highcharts) Styled mode only. A specific color index to use for the
  39524. * series, so its graphic representations are given the class name
  39525. * `highcharts-color-{n}`.
  39526. */
  39527. colorIndex?: number;
  39528. /**
  39529. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  39530. * color set to apply instead of the global colors when colorByPoint is
  39531. * true.
  39532. */
  39533. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  39534. /**
  39535. * (Highstock) Compare the values of the series against the first non-null,
  39536. * non- zero value in the visible range. The y axis will show percentage or
  39537. * absolute change depending on whether `compare` is set to `"percent"` or
  39538. * `"value"`. When this is applied to multiple series, it allows comparing
  39539. * the development of the series against each other. Adds a `change` field
  39540. * to every point object.
  39541. */
  39542. compare?: string;
  39543. /**
  39544. * (Highstock) When compare is `percent`, this option dictates whether to
  39545. * use 0 or 100 as the base of comparison.
  39546. */
  39547. compareBase?: (0|100);
  39548. /**
  39549. * (Highstock) Defines if comparison should start from the first point
  39550. * within the visible range or should start from the first point **before**
  39551. * the range.
  39552. *
  39553. * In other words, this flag determines if first point within the visible
  39554. * range will have 0% (`compareStart=true`) or should have been already
  39555. * calculated according to the previous point (`compareStart=false`).
  39556. */
  39557. compareStart?: boolean;
  39558. /**
  39559. * (Gantt) Override Pathfinder connector options for a series. Requires
  39560. * Highcharts Gantt to be loaded.
  39561. */
  39562. connectors?: SeriesConnectorsOptionsObject;
  39563. /**
  39564. * (Highcharts) You can set the cursor to "pointer" if you have click events
  39565. * attached to the series, to signal to the user that the points and lines
  39566. * can be clicked.
  39567. *
  39568. * In styled mode, the series cursor can be set with the same classes as
  39569. * listed under series.color.
  39570. */
  39571. cursor?: (string|CursorValue);
  39572. /**
  39573. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  39574. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  39575. * straight.
  39576. */
  39577. curveFactor?: number;
  39578. /**
  39579. * (Highcharts) A reserved subspace to store options and values for
  39580. * customized functionality. Here you can add additional data for your own
  39581. * event callbacks and formatter callbacks.
  39582. */
  39583. custom?: Dictionary<any>;
  39584. /**
  39585. * (Highcharts) Name of the dash style to use for the graph, or for some
  39586. * series types the outline of each shape.
  39587. *
  39588. * In styled mode, the stroke dash-array can be set with the same classes as
  39589. * listed under series.color.
  39590. */
  39591. dashStyle?: DashStyleValue;
  39592. /**
  39593. * (Highstock) Data grouping is the concept of sampling the data values into
  39594. * larger blocks in order to ease readability and increase performance of
  39595. * the JavaScript charts. Highcharts Stock by default applies data grouping
  39596. * when the points become closer than a certain pixel value, determined by
  39597. * the `groupPixelWidth` option.
  39598. *
  39599. * If data grouping is applied, the grouping information of grouped points
  39600. * can be read from the Point.dataGroup. If point options other than the
  39601. * data itself are set, for example `name` or `color` or custom properties,
  39602. * the grouping logic doesn't know how to group it. In this case the options
  39603. * of the first point instance are copied over to the group point. This can
  39604. * be altered through a custom `approximation` callback function.
  39605. */
  39606. dataGrouping?: DataGroupingOptionsObject;
  39607. /**
  39608. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  39609. * appearing on top of the nodes and links. For sankey charts, data labels
  39610. * are visible for the nodes by default, but hidden for links. This is
  39611. * controlled by modifying the `nodeFormat`, and the `format` that applies
  39612. * to links and is an empty string by default.
  39613. */
  39614. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  39615. /**
  39616. * (Highcharts) A description of the series to add to the screen reader
  39617. * information about the series.
  39618. */
  39619. description?: string;
  39620. /**
  39621. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  39622. * This includes point tooltips and click events on graphs and points. For
  39623. * large datasets it improves performance.
  39624. */
  39625. enableMouseTracking?: boolean;
  39626. /**
  39627. * (Highcharts) General event handlers for the series items. These event
  39628. * hooks can also be attached to the series at run time using the
  39629. * `Highcharts.addEvent` function.
  39630. */
  39631. events?: SeriesEventsOptionsObject;
  39632. /**
  39633. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  39634. * chart width or only the zoomed area when zooming in on parts of the X
  39635. * axis. By default, the Y axis adjusts to the min and max of the visible
  39636. * data. Cartesian series only.
  39637. */
  39638. getExtremesFromAll?: boolean;
  39639. /**
  39640. * (Highcharts) When set to `false` will prevent the series data from being
  39641. * included in any form of data export.
  39642. *
  39643. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  39644. * `includeInCSVExport`.
  39645. */
  39646. includeInDataExport?: boolean;
  39647. /**
  39648. * (Highmaps) What property to join the `mapData` to the value data. For
  39649. * example, if joinBy is "code", the mapData items with a specific code is
  39650. * merged into the data with the same code. For maps loaded from GeoJSON,
  39651. * the keys may be held in each point's `properties` object.
  39652. *
  39653. * The joinBy option can also be an array of two values, where the first
  39654. * points to a key in the `mapData`, and the second points to another key in
  39655. * the `data`.
  39656. *
  39657. * When joinBy is `null`, the map items are joined by their position in the
  39658. * array, which performs much better in maps with many data points. This is
  39659. * the recommended option if you are printing more than a thousand data
  39660. * points and have a backend that can preprocess the data into a parallel
  39661. * array of the mapData.
  39662. */
  39663. joinBy?: (string|Array<string>);
  39664. /**
  39665. * (Highcharts) An array specifying which option maps to which key in the
  39666. * data point array. This makes it convenient to work with unstructured data
  39667. * arrays from different sources.
  39668. */
  39669. keys?: Array<string>;
  39670. /**
  39671. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  39672. * series as possible in a natural way, seeking to avoid other series. The
  39673. * goal of this feature is to make the chart more easily readable, like if a
  39674. * human designer placed the labels in the optimal position.
  39675. *
  39676. * The series labels currently work with series types having a `graph` or an
  39677. * `area`.
  39678. */
  39679. label?: SeriesLabelOptionsObject;
  39680. /**
  39681. * (Highstock) The line marks the last price from all points.
  39682. */
  39683. lastPrice?: SeriesLastPriceOptionsObject;
  39684. /**
  39685. * (Highstock) The line marks the last price from visible range of points.
  39686. */
  39687. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  39688. /**
  39689. * (Highcharts) Set options on specific levels. Takes precedence over series
  39690. * options, but not node and link options.
  39691. */
  39692. levels?: Array<PlotDependencywheelLevelsOptions>;
  39693. /**
  39694. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  39695. * Additionally, the value can be ":previous" to link to the previous
  39696. * series. When two series are linked, only the first one appears in the
  39697. * legend. Toggling the visibility of this also toggles the linked series.
  39698. *
  39699. * If master series uses data sorting and linked series does not have its
  39700. * own sorting definition, the linked series will be sorted in the same
  39701. * order as the master one.
  39702. */
  39703. linkedTo?: string;
  39704. /**
  39705. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  39706. */
  39707. linkOpacity?: number;
  39708. /**
  39709. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  39710. * values are not shown.
  39711. */
  39712. minLinkWidth?: number;
  39713. /**
  39714. * (Highstock) Options for the corresponding navigator series if
  39715. * `showInNavigator` is `true` for this series. Available options are the
  39716. * same as any series, documented at plotOptions and series.
  39717. *
  39718. * These options are merged with options in navigator.series, and will take
  39719. * precedence if the same option is defined both places.
  39720. */
  39721. navigatorOptions?: PlotSeriesOptions;
  39722. /**
  39723. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  39724. * wheel, in pixels.
  39725. *
  39726. * If the number of nodes is so great that it is possible to lay them out
  39727. * within the plot area with the given `nodePadding`, they will be rendered
  39728. * with a smaller padding as a strategy to avoid overflow.
  39729. */
  39730. nodePadding?: number;
  39731. /**
  39732. * (Highcharts) The pixel width of each node in a sankey diagram or
  39733. * dependency wheel, or the height in case the chart is inverted.
  39734. */
  39735. nodeWidth?: number;
  39736. /**
  39737. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  39738. * dataLabels.
  39739. */
  39740. opacity?: number;
  39741. /**
  39742. * (Highcharts) Properties for each single point.
  39743. */
  39744. point?: PlotSeriesPointOptions;
  39745. /**
  39746. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  39747. * an individual series. Overrides the chart wide configuration.
  39748. */
  39749. pointDescriptionFormatter?: Function;
  39750. /**
  39751. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  39752. * true, the checkbox next to the series name in the legend will be checked
  39753. * for a selected series.
  39754. */
  39755. selected?: boolean;
  39756. /**
  39757. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  39758. * allow selecting the series. The state of the checkbox is determined by
  39759. * the `selected` option.
  39760. */
  39761. showCheckbox?: boolean;
  39762. /**
  39763. * (Highcharts) Whether to display this particular series or series type in
  39764. * the legend. Standalone series are shown in legend by default, and linked
  39765. * series are not. Since v7.2.0 it is possible to show series that use
  39766. * colorAxis by setting this option to `true`.
  39767. */
  39768. showInLegend?: boolean;
  39769. /**
  39770. * (Highstock) Whether or not to show the series in the navigator. Takes
  39771. * precedence over navigator.baseSeries if defined.
  39772. */
  39773. showInNavigator?: boolean;
  39774. /**
  39775. * (Highcharts) If set to `true`, the accessibility module will skip past
  39776. * the points in this series for keyboard navigation.
  39777. */
  39778. skipKeyboardNavigation?: boolean;
  39779. /**
  39780. * (Highcharts) The start angle of the dependency wheel, in degrees where 0
  39781. * is up.
  39782. */
  39783. startAngle?: number;
  39784. states?: SeriesStatesOptionsObject;
  39785. /**
  39786. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  39787. * event on a series isn't triggered until the mouse moves over another
  39788. * series, or out of the plot area. When false, the `mouseOut` event on a
  39789. * series is triggered when the mouse leaves the area around the series'
  39790. * graph or markers. This also implies the tooltip when not shared. When
  39791. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  39792. * be hidden when moving the mouse between series. Defaults to true for line
  39793. * and area type series, but to false for columns, pies etc.
  39794. *
  39795. * **Note:** The boost module will force this option because of technical
  39796. * limitations.
  39797. */
  39798. stickyTracking?: boolean;
  39799. /**
  39800. * (Highcharts) A configuration object for the tooltip rendering of each
  39801. * single series. Properties are inherited from tooltip, but only the
  39802. * following properties can be defined on a series level.
  39803. */
  39804. tooltip?: SeriesTooltipOptionsObject;
  39805. /**
  39806. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  39807. * is longer than this, only one dimensional arrays of numbers, or two
  39808. * dimensional arrays with x and y values are allowed. Also, only the first
  39809. * point is tested, and the rest are assumed to be the same format. This
  39810. * saves expensive data checking and indexing in long series. Set it to `0`
  39811. * disable.
  39812. *
  39813. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  39814. * two dimensional arrays are allowed.
  39815. */
  39816. turboThreshold?: number;
  39817. /**
  39818. * (Highcharts) Set the initial visibility of the series.
  39819. */
  39820. visible?: boolean;
  39821. /**
  39822. * (Highmaps) Define the z index of the series.
  39823. */
  39824. zIndex?: number;
  39825. }
  39826. /**
  39827. * (Highstock) Enable or disable the initial animation when a series is
  39828. * displayed. The animation can also be set as a configuration object. Please
  39829. * note that this option only applies to the initial animation of the series
  39830. * itself. For other animations, see chart.animation and the animation parameter
  39831. * under the API methods. The following properties are supported:
  39832. *
  39833. * - `defer`: The animation delay time in milliseconds.
  39834. *
  39835. * - `duration`: The duration of the animation in milliseconds.
  39836. *
  39837. * - `easing`: Can be a string reference to an easing function set on the `Math`
  39838. * object or a function. See the _Custom easing function_ demo below.
  39839. *
  39840. * Due to poor performance, animation is disabled in old IE browsers for several
  39841. * chart types.
  39842. */
  39843. export interface PlotDisparityindexAnimationOptions {
  39844. defer?: number;
  39845. }
  39846. /**
  39847. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39848. * animation when a series is displayed for the `dataLabels`. The animation can
  39849. * also be set as a configuration object. Please note that this option only
  39850. * applies to the initial animation. For other animations, see chart.animation
  39851. * and the animation parameter under the API methods. The following properties
  39852. * are supported:
  39853. *
  39854. * - `defer`: The animation delay time in milliseconds.
  39855. */
  39856. export interface PlotDisparityindexDataLabelsAnimationOptions {
  39857. /**
  39858. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  39859. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  39860. * inherits defer time from the series.animation.defer.
  39861. */
  39862. defer?: number;
  39863. }
  39864. /**
  39865. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  39866. * appearing next to each data point.
  39867. *
  39868. * Since v6.2.0, multiple data labels can be applied to each single point by
  39869. * defining them as an array of configs.
  39870. *
  39871. * In styled mode, the data labels can be styled with the
  39872. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  39873. * example).
  39874. */
  39875. export interface PlotDisparityindexDataLabelsOptions {
  39876. /**
  39877. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  39878. * compared to the point. If `right`, the right side of the label should be
  39879. * touching the point. For points with an extent, like columns, the
  39880. * alignments also dictates how to align it inside the box, as given with
  39881. * the inside option. Can be one of `left`, `center` or `right`.
  39882. */
  39883. align?: (AlignValue|null);
  39884. /**
  39885. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  39886. * overlap. To make the labels less sensitive for overlapping, the
  39887. * dataLabels.padding can be set to 0.
  39888. */
  39889. allowOverlap?: boolean;
  39890. /**
  39891. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  39892. * animation when a series is displayed for the `dataLabels`. The animation
  39893. * can also be set as a configuration object. Please note that this option
  39894. * only applies to the initial animation. For other animations, see
  39895. * chart.animation and the animation parameter under the API methods. The
  39896. * following properties are supported:
  39897. *
  39898. * - `defer`: The animation delay time in milliseconds.
  39899. */
  39900. animation?: (boolean|PlotDisparityindexDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  39901. /**
  39902. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  39903. * for the data label.
  39904. */
  39905. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  39906. /**
  39907. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  39908. * label. Defaults to `undefined`.
  39909. */
  39910. borderColor?: (ColorString|GradientColorObject|PatternObject);
  39911. /**
  39912. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  39913. * the data label.
  39914. */
  39915. borderRadius?: number;
  39916. /**
  39917. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  39918. * the data label.
  39919. */
  39920. borderWidth?: number;
  39921. /**
  39922. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  39923. * Particularly in styled mode, this can be used to give each series' or
  39924. * point's data label unique styling. In addition to this option, a default
  39925. * color class name is added so that we can give the labels a contrast text
  39926. * shadow.
  39927. */
  39928. className?: string;
  39929. /**
  39930. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  39931. * labels. Defaults to `undefined`. For certain series types, like column or
  39932. * map, the data labels can be drawn inside the points. In this case the
  39933. * data label will be drawn with maximum contrast by default. Additionally,
  39934. * it will be given a `text-outline` style with the opposite color, to
  39935. * further increase the contrast. This can be overridden by setting the
  39936. * `text-outline` style to `none` in the `dataLabels.style` option.
  39937. */
  39938. color?: (ColorString|GradientColorObject|PatternObject);
  39939. /**
  39940. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  39941. * are outside the plot area. By default, the data label is moved inside the
  39942. * plot area according to the overflow option.
  39943. */
  39944. crop?: boolean;
  39945. /**
  39946. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  39947. * labels until the initial series animation has finished. Setting to
  39948. * `false` renders the data label immediately. If set to `true` inherits the
  39949. * defer time set in plotOptions.series.animation. If set to a number, a
  39950. * defer time is specified in milliseconds.
  39951. */
  39952. defer?: (boolean|number);
  39953. /**
  39954. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  39955. * labels.
  39956. */
  39957. enabled?: boolean;
  39958. /**
  39959. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  39960. * of which data labels to display. The declarative filter is designed for
  39961. * use when callback functions are not available, like when the chart
  39962. * options require a pure JSON structure or for use with graphical editors.
  39963. * For programmatic control, use the `formatter` instead, and return
  39964. * `undefined` to disable a single data label.
  39965. */
  39966. filter?: DataLabelsFilterOptionsObject;
  39967. /**
  39968. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  39969. * label. Available variables are the same as for `formatter`.
  39970. */
  39971. format?: string;
  39972. /**
  39973. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  39974. * format the data label. Note that if a `format` is defined, the format
  39975. * takes precedence and the formatter is ignored.
  39976. */
  39977. formatter?: DataLabelsFormatterCallbackFunction;
  39978. /**
  39979. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  39980. * columns or map areas, whether to align the data label inside the box or
  39981. * to the actual value point. Defaults to `false` in most cases, `true` in
  39982. * stacked columns.
  39983. */
  39984. inside?: boolean;
  39985. /**
  39986. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  39987. * of null. Works analogously to format. `nullFormat` can be applied only to
  39988. * series which support displaying null points.
  39989. */
  39990. nullFormat?: (boolean|string);
  39991. /**
  39992. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  39993. * that defines formatting for points with the value of null. Works
  39994. * analogously to formatter. `nullPointFormatter` can be applied only to
  39995. * series which support displaying null points.
  39996. */
  39997. nullFormatter?: DataLabelsFormatterCallbackFunction;
  39998. /**
  39999. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  40000. * flow outside the plot area. The default is `"justify"`, which aligns them
  40001. * inside the plot area. For columns and bars, this means it will be moved
  40002. * inside the bar. To display data labels outside the plot area, set `crop`
  40003. * to `false` and `overflow` to `"allow"`.
  40004. */
  40005. overflow?: DataLabelsOverflowValue;
  40006. /**
  40007. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  40008. * the `backgroundColor` is set, this is the padding within the box.
  40009. */
  40010. padding?: number;
  40011. /**
  40012. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  40013. * points. If `center` alignment is not possible, it defaults to `right`.
  40014. */
  40015. position?: AlignValue;
  40016. /**
  40017. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  40018. * that due to a more complex structure, backgrounds, borders and padding
  40019. * will be lost on a rotated data label.
  40020. */
  40021. rotation?: number;
  40022. /**
  40023. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  40024. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  40025. * an object configuration containing `color`, `offsetX`, `offsetY`,
  40026. * `opacity` and `width`.
  40027. */
  40028. shadow?: (boolean|ShadowOptionsObject);
  40029. /**
  40030. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  40031. * the border around the label. Symbols are predefined functions on the
  40032. * Renderer object.
  40033. */
  40034. shape?: string;
  40035. /**
  40036. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  40037. * default `color` setting is `"contrast"`, which is a pseudo color that
  40038. * Highcharts picks up and applies the maximum contrast to the underlying
  40039. * point item, for example the bar in a bar chart.
  40040. *
  40041. * The `textOutline` is a pseudo property that applies an outline of the
  40042. * given width with the given color, which by default is the maximum
  40043. * contrast to the text. So a bright text color will result in a black text
  40044. * outline for maximum readability on a mixed background. In some cases,
  40045. * especially with grayscale text, the text outline doesn't work well, in
  40046. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  40047. * is true, the `textOutline` will not be picked up. In this, case, the same
  40048. * effect can be acheived through the `text-shadow` CSS property.
  40049. *
  40050. * For some series types, where each point has an extent, like for example
  40051. * tree maps, the data label may overflow the point. There are two
  40052. * strategies for handling overflow. By default, the text will wrap to
  40053. * multiple lines. The other strategy is to set `style.textOverflow` to
  40054. * `ellipsis`, which will keep the text on one line plus it will break
  40055. * inside long words.
  40056. */
  40057. style?: CSSObject;
  40058. /**
  40059. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  40060. * should follow marker's shape. Border and background are disabled for a
  40061. * label that follows a path.
  40062. *
  40063. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  40064. * to true will disable this option.
  40065. */
  40066. textPath?: DataLabelsTextPathOptionsObject;
  40067. /**
  40068. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  40069. * the labels.
  40070. */
  40071. useHTML?: boolean;
  40072. /**
  40073. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  40074. * label. Can be one of `top`, `middle` or `bottom`. The default value
  40075. * depends on the data, for instance in a column chart, the label is above
  40076. * positive values and below negative values.
  40077. */
  40078. verticalAlign?: (VerticalAlignValue|null);
  40079. /**
  40080. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  40081. * label relative to the point in pixels.
  40082. */
  40083. x?: number;
  40084. /**
  40085. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  40086. * label relative to the point in pixels.
  40087. */
  40088. y?: number;
  40089. /**
  40090. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  40091. * The default Z index puts it above the series. Use a Z index of 2 to
  40092. * display it behind the series.
  40093. */
  40094. z?: number;
  40095. }
  40096. /**
  40097. * (Highcharts, Highstock) Options for the series data sorting.
  40098. */
  40099. export interface PlotDisparityindexDataSortingOptions {
  40100. /**
  40101. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  40102. * Use xAxis.reversed to change the sorting order.
  40103. */
  40104. enabled?: boolean;
  40105. /**
  40106. * (Highcharts, Highstock) Whether to allow matching points by name in an
  40107. * update. If this option is disabled, points will be matched by order.
  40108. */
  40109. matchByName?: boolean;
  40110. /**
  40111. * (Highcharts, Highstock) Determines what data value should be used to sort
  40112. * by.
  40113. */
  40114. sortKey?: string;
  40115. }
  40116. /**
  40117. * (Highstock) Disparity Index. This series requires the `linkedTo` option to be
  40118. * set and should be loaded after the `stock/indicators/indicators.js` file.
  40119. *
  40120. * In TypeScript the type option must always be set.
  40121. *
  40122. * Configuration options for the series are given in three levels:
  40123. *
  40124. * 1. Options for all series in a chart are defined in the plotOptions.series
  40125. * object.
  40126. *
  40127. * 2. Options for all `disparityindex` series are defined in
  40128. * plotOptions.disparityindex.
  40129. *
  40130. * 3. Options for one single series are given in the series instance array. (see
  40131. * online documentation for example)
  40132. */
  40133. export interface PlotDisparityindexOptions {
  40134. /**
  40135. * (Highstock) Accessibility options for a series.
  40136. */
  40137. accessibility?: SeriesAccessibilityOptionsObject;
  40138. /**
  40139. * (Highstock) Allow this series' points to be selected by clicking on the
  40140. * graphic (columns, point markers, pie slices, map areas etc).
  40141. *
  40142. * The selected points can be handled by point select and unselect events,
  40143. * or collectively by the getSelectedPoints function.
  40144. *
  40145. * And alternative way of selecting points is through dragging.
  40146. */
  40147. allowPointSelect?: boolean;
  40148. /**
  40149. * (Highstock) Enable or disable the initial animation when a series is
  40150. * displayed. The animation can also be set as a configuration object.
  40151. * Please note that this option only applies to the initial animation of the
  40152. * series itself. For other animations, see chart.animation and the
  40153. * animation parameter under the API methods. The following properties are
  40154. * supported:
  40155. *
  40156. * - `defer`: The animation delay time in milliseconds.
  40157. *
  40158. * - `duration`: The duration of the animation in milliseconds.
  40159. *
  40160. * - `easing`: Can be a string reference to an easing function set on the
  40161. * `Math` object or a function. See the _Custom easing function_ demo below.
  40162. *
  40163. * Due to poor performance, animation is disabled in old IE browsers for
  40164. * several chart types.
  40165. */
  40166. animation?: (boolean|PlotDisparityindexAnimationOptions|Partial<AnimationOptionsObject>);
  40167. /**
  40168. * (Highstock) For some series, there is a limit that shuts down initial
  40169. * animation by default when the total number of points in the chart is too
  40170. * high. For example, for a column chart and its derivatives, animation does
  40171. * not run if there is more than 250 points totally. To disable this cap,
  40172. * set `animationLimit` to `Infinity`.
  40173. */
  40174. animationLimit?: number;
  40175. /**
  40176. * (Highstock) Sets the color blending in the boost module.
  40177. */
  40178. boostBlending?: OptionsBoostBlendingValue;
  40179. /**
  40180. * (Highstock) Set the point threshold for when a series should enter boost
  40181. * mode.
  40182. *
  40183. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  40184. * there are 2000 or more points in the series.
  40185. *
  40186. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  40187. * it to 1 will force boosting.
  40188. *
  40189. * Note that the cropThreshold also affects this setting. When zooming in on
  40190. * a series that has fewer points than the `cropThreshold`, all points are
  40191. * rendered although outside the visible plot area, and the `boostThreshold`
  40192. * won't take effect.
  40193. */
  40194. boostThreshold?: number;
  40195. /**
  40196. * (Highmaps) The border color of the map areas.
  40197. *
  40198. * In styled mode, the border stroke is given in the `.highcharts-point`
  40199. * class.
  40200. */
  40201. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40202. /**
  40203. * (Highmaps) The border width of each map area.
  40204. *
  40205. * In styled mode, the border stroke width is given in the
  40206. * `.highcharts-point` class.
  40207. */
  40208. borderWidth?: number;
  40209. /**
  40210. * (Highstock) An additional class name to apply to the series' graphical
  40211. * elements. This option does not replace default class names of the
  40212. * graphical element.
  40213. */
  40214. className?: string;
  40215. /**
  40216. * (Highstock) Disable this option to allow series rendering in the whole
  40217. * plotting area.
  40218. *
  40219. * **Note:** Clipping should be always enabled when chart.zoomType is set
  40220. */
  40221. clip?: boolean;
  40222. /**
  40223. * (Highstock) The main color of the series. In line type series it applies
  40224. * to the line and the point markers unless otherwise specified. In bar type
  40225. * series it applies to the bars unless a color is specified per point. The
  40226. * default value is pulled from the `options.colors` array.
  40227. *
  40228. * In styled mode, the color can be defined by the colorIndex option. Also,
  40229. * the series color can be set with the `.highcharts-series`,
  40230. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  40231. * `.highcharts-series-{n}` class, or individual classes given by the
  40232. * `className` option.
  40233. */
  40234. color?: (ColorString|GradientColorObject|PatternObject);
  40235. /**
  40236. * (Highstock) Styled mode only. A specific color index to use for the
  40237. * series, so its graphic representations are given the class name
  40238. * `highcharts-color-{n}`.
  40239. */
  40240. colorIndex?: number;
  40241. /**
  40242. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  40243. * used to calculate point color if `colorAxis` is used. Requires to set
  40244. * `min` and `max` if some custom point property is used or if approximation
  40245. * for data grouping is set to `'sum'`.
  40246. */
  40247. colorKey?: string;
  40248. /**
  40249. * (Highstock) Compare the values of the series against the first non-null,
  40250. * non- zero value in the visible range. The y axis will show percentage or
  40251. * absolute change depending on whether `compare` is set to `"percent"` or
  40252. * `"value"`. When this is applied to multiple series, it allows comparing
  40253. * the development of the series against each other. Adds a `change` field
  40254. * to every point object.
  40255. */
  40256. compare?: string;
  40257. /**
  40258. * (Highstock) When compare is `percent`, this option dictates whether to
  40259. * use 0 or 100 as the base of comparison.
  40260. */
  40261. compareBase?: (0|100);
  40262. /**
  40263. * (Highstock) Defines if comparison should start from the first point
  40264. * within the visible range or should start from the first point **before**
  40265. * the range.
  40266. *
  40267. * In other words, this flag determines if first point within the visible
  40268. * range will have 0% (`compareStart=true`) or should have been already
  40269. * calculated according to the previous point (`compareStart=false`).
  40270. */
  40271. compareStart?: boolean;
  40272. /**
  40273. * (Highstock) Whether to compare indicator to the main series values or
  40274. * indicator values.
  40275. */
  40276. compareToMain?: boolean;
  40277. /**
  40278. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  40279. * series plot across the extremes.
  40280. */
  40281. connectEnds?: boolean;
  40282. /**
  40283. * (Highcharts, Highstock) Whether to connect a graph line across null
  40284. * points, or render a gap between the two points on either side of the
  40285. * null.
  40286. */
  40287. connectNulls?: boolean;
  40288. /**
  40289. * (Gantt) Override Pathfinder connector options for a series. Requires
  40290. * Highcharts Gantt to be loaded.
  40291. */
  40292. connectors?: SeriesConnectorsOptionsObject;
  40293. /**
  40294. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  40295. * rounded to its nearest pixel in order to render sharp on screen. In some
  40296. * cases, when there are a lot of densely packed columns, this leads to
  40297. * visible difference in column widths or distance between columns. In these
  40298. * cases, setting `crisp` to `false` may look better, even though each
  40299. * column is rendered blurry.
  40300. */
  40301. crisp?: boolean;
  40302. /**
  40303. * (Highcharts, Highstock) When the series contains less points than the
  40304. * crop threshold, all points are drawn, even if the points fall outside the
  40305. * visible plot area at the current zoom. The advantage of drawing all
  40306. * points (including markers and columns), is that animation is performed on
  40307. * updates. On the other hand, when the series contains more points than the
  40308. * crop threshold, the series data is cropped to only contain points that
  40309. * fall within the plot area. The advantage of cropping away invisible
  40310. * points is to increase performance on large series.
  40311. */
  40312. cropThreshold?: number;
  40313. /**
  40314. * (Highstock) You can set the cursor to "pointer" if you have click events
  40315. * attached to the series, to signal to the user that the points and lines
  40316. * can be clicked.
  40317. *
  40318. * In styled mode, the series cursor can be set with the same classes as
  40319. * listed under series.color.
  40320. */
  40321. cursor?: (string|CursorValue);
  40322. /**
  40323. * (Highstock) A reserved subspace to store options and values for
  40324. * customized functionality. Here you can add additional data for your own
  40325. * event callbacks and formatter callbacks.
  40326. */
  40327. custom?: Dictionary<any>;
  40328. /**
  40329. * (Highstock) Name of the dash style to use for the graph, or for some
  40330. * series types the outline of each shape.
  40331. *
  40332. * In styled mode, the stroke dash-array can be set with the same classes as
  40333. * listed under series.color.
  40334. */
  40335. dashStyle?: DashStyleValue;
  40336. /**
  40337. * (Highstock) Data grouping is the concept of sampling the data values into
  40338. * larger blocks in order to ease readability and increase performance of
  40339. * the JavaScript charts. Highcharts Stock by default applies data grouping
  40340. * when the points become closer than a certain pixel value, determined by
  40341. * the `groupPixelWidth` option.
  40342. *
  40343. * If data grouping is applied, the grouping information of grouped points
  40344. * can be read from the Point.dataGroup. If point options other than the
  40345. * data itself are set, for example `name` or `color` or custom properties,
  40346. * the grouping logic doesn't know how to group it. In this case the options
  40347. * of the first point instance are copied over to the group point. This can
  40348. * be altered through a custom `approximation` callback function.
  40349. */
  40350. dataGrouping?: DataGroupingOptionsObject;
  40351. /**
  40352. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  40353. * labels, appearing next to each data point.
  40354. *
  40355. * Since v6.2.0, multiple data labels can be applied to each single point by
  40356. * defining them as an array of configs.
  40357. *
  40358. * In styled mode, the data labels can be styled with the
  40359. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  40360. * (see example).
  40361. */
  40362. dataLabels?: (PlotDisparityindexDataLabelsOptions|Array<PlotDisparityindexDataLabelsOptions>);
  40363. /**
  40364. * (Highcharts, Highstock) Options for the series data sorting.
  40365. */
  40366. dataSorting?: (DataSortingOptionsObject|PlotDisparityindexDataSortingOptions);
  40367. /**
  40368. * (Highstock) A description of the series to add to the screen reader
  40369. * information about the series.
  40370. */
  40371. description?: string;
  40372. /**
  40373. * (Highstock) Enable or disable the mouse tracking for a specific series.
  40374. * This includes point tooltips and click events on graphs and points. For
  40375. * large datasets it improves performance.
  40376. */
  40377. enableMouseTracking?: boolean;
  40378. /**
  40379. * (Highstock) General event handlers for the series items. These event
  40380. * hooks can also be attached to the series at run time using the
  40381. * `Highcharts.addEvent` function.
  40382. */
  40383. events?: SeriesEventsOptionsObject;
  40384. /**
  40385. * (Highstock) Determines whether the series should look for the nearest
  40386. * point in both dimensions or just the x-dimension when hovering the
  40387. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  40388. * series. If the data has duplicate x-values, it is recommended to set this
  40389. * to `'xy'` to allow hovering over all points.
  40390. *
  40391. * Applies only to series types using nearest neighbor search (not direct
  40392. * hover) for tooltip.
  40393. */
  40394. findNearestPointBy?: OptionsFindNearestPointByValue;
  40395. /**
  40396. * (Highstock) Defines when to display a gap in the graph, together with the
  40397. * gapUnit option.
  40398. *
  40399. * In case when `dataGrouping` is enabled, points can be grouped into a
  40400. * larger time span. This can make the grouped points to have a greater
  40401. * distance than the absolute value of `gapSize` property, which will result
  40402. * in disappearing graph completely. To prevent this situation the mentioned
  40403. * distance between grouped points is used instead of previously defined
  40404. * `gapSize`.
  40405. *
  40406. * In practice, this option is most often used to visualize gaps in time
  40407. * series. In a stock chart, intraday data is available for daytime hours,
  40408. * while gaps will appear in nights and weekends.
  40409. */
  40410. gapSize?: number;
  40411. /**
  40412. * (Highstock) Together with gapSize, this option defines where to draw gaps
  40413. * in the graph.
  40414. *
  40415. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  40416. * if the distance between two points is greater than 5 times that of the
  40417. * two closest points, the graph will be broken.
  40418. *
  40419. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  40420. * values, which on a datetime axis is milliseconds. This also applies to
  40421. * the navigator series that inherits gap options from the base series.
  40422. */
  40423. gapUnit?: OptionsGapUnitValue;
  40424. /**
  40425. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  40426. * chart width or only the zoomed area when zooming in on parts of the X
  40427. * axis. By default, the Y axis adjusts to the min and max of the visible
  40428. * data. Cartesian series only.
  40429. */
  40430. getExtremesFromAll?: boolean;
  40431. /**
  40432. * (Highstock) When set to `false` will prevent the series data from being
  40433. * included in any form of data export.
  40434. *
  40435. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  40436. * `includeInCSVExport`.
  40437. */
  40438. includeInDataExport?: boolean;
  40439. /**
  40440. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  40441. * series as possible in a natural way, seeking to avoid other series. The
  40442. * goal of this feature is to make the chart more easily readable, like if a
  40443. * human designer placed the labels in the optimal position.
  40444. *
  40445. * The series labels currently work with series types having a `graph` or an
  40446. * `area`.
  40447. */
  40448. label?: SeriesLabelOptionsObject;
  40449. /**
  40450. * (Highstock) The line marks the last price from all points.
  40451. */
  40452. lastPrice?: SeriesLastPriceOptionsObject;
  40453. /**
  40454. * (Highstock) The line marks the last price from visible range of points.
  40455. */
  40456. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  40457. /**
  40458. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  40459. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  40460. * the ends and bends.
  40461. */
  40462. linecap?: SeriesLinecapValue;
  40463. /**
  40464. * (Highcharts, Highstock) Pixel width of the graph line.
  40465. */
  40466. lineWidth?: number;
  40467. /**
  40468. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  40469. * based on. Required for this indicator.
  40470. */
  40471. linkedTo?: string;
  40472. /**
  40473. * (Highstock) Options for the point markers of line-like series. Properties
  40474. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  40475. * appearance of the markers. Other series types, like column series, don't
  40476. * have markers, but have visual options on the series level instead.
  40477. *
  40478. * In styled mode, the markers can be styled with the `.highcharts-point`,
  40479. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  40480. */
  40481. marker?: PointMarkerOptionsObject;
  40482. /**
  40483. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  40484. * If not set, it will be based on a technical indicator type and default
  40485. * params.
  40486. */
  40487. name?: string;
  40488. /**
  40489. * (Highstock) The color for the parts of the graph or points that are below
  40490. * the threshold. Note that `zones` takes precedence over the negative
  40491. * color. Using `negativeColor` is equivalent to applying a zone with value
  40492. * of 0.
  40493. */
  40494. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  40495. /**
  40496. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  40497. * dataLabels.
  40498. */
  40499. opacity?: number;
  40500. /**
  40501. * (Highstock) Paramters used in calculation of regression series' points.
  40502. */
  40503. params?: PlotDisparityindexParamsOptions;
  40504. /**
  40505. * (Highstock) Properties for each single point.
  40506. */
  40507. point?: PlotSeriesPointOptions;
  40508. /**
  40509. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  40510. * individual series. Overrides the chart wide configuration.
  40511. */
  40512. pointDescriptionFormatter?: Function;
  40513. /**
  40514. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  40515. * true, the checkbox next to the series name in the legend will be checked
  40516. * for a selected series.
  40517. */
  40518. selected?: boolean;
  40519. /**
  40520. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  40521. * the shadow can be an object configuration containing `color`, `offsetX`,
  40522. * `offsetY`, `opacity` and `width`.
  40523. */
  40524. shadow?: (boolean|ShadowOptionsObject);
  40525. /**
  40526. * (Highstock) If true, a checkbox is displayed next to the legend item to
  40527. * allow selecting the series. The state of the checkbox is determined by
  40528. * the `selected` option.
  40529. */
  40530. showCheckbox?: boolean;
  40531. /**
  40532. * (Highstock) Whether to display this particular series or series type in
  40533. * the legend. Standalone series are shown in legend by default, and linked
  40534. * series are not. Since v7.2.0 it is possible to show series that use
  40535. * colorAxis by setting this option to `true`.
  40536. */
  40537. showInLegend?: boolean;
  40538. /**
  40539. * (Highstock) If set to `true`, the accessibility module will skip past the
  40540. * points in this series for keyboard navigation.
  40541. */
  40542. skipKeyboardNavigation?: boolean;
  40543. /**
  40544. * (Highcharts, Highstock) When this is true, the series will not cause the
  40545. * Y axis to cross the zero plane (or threshold option) unless the data
  40546. * actually crosses the plane.
  40547. *
  40548. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  40549. * make the Y axis show negative values according to the `minPadding`
  40550. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  40551. */
  40552. softThreshold?: boolean;
  40553. states?: SeriesStatesOptionsObject;
  40554. /**
  40555. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  40556. * values are `left`, `center` and `right`.
  40557. */
  40558. step?: OptionsStepValue;
  40559. /**
  40560. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  40561. * event on a series isn't triggered until the mouse moves over another
  40562. * series, or out of the plot area. When false, the `mouseOut` event on a
  40563. * series is triggered when the mouse leaves the area around the series'
  40564. * graph or markers. This also implies the tooltip when not shared. When
  40565. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  40566. * be hidden when moving the mouse between series. Defaults to true for line
  40567. * and area type series, but to false for columns, pies etc.
  40568. *
  40569. * **Note:** The boost module will force this option because of technical
  40570. * limitations.
  40571. */
  40572. stickyTracking?: boolean;
  40573. /**
  40574. * (Highcharts, Highstock) The threshold, also called zero level or base
  40575. * level. For line type series this is only used in conjunction with
  40576. * negativeColor.
  40577. */
  40578. threshold?: (number|null);
  40579. /**
  40580. * (Highstock) A configuration object for the tooltip rendering of each
  40581. * single series. Properties are inherited from tooltip, but only the
  40582. * following properties can be defined on a series level.
  40583. */
  40584. tooltip?: SeriesTooltipOptionsObject;
  40585. /**
  40586. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  40587. * is longer than this, only one dimensional arrays of numbers, or two
  40588. * dimensional arrays with x and y values are allowed. Also, only the first
  40589. * point is tested, and the rest are assumed to be the same format. This
  40590. * saves expensive data checking and indexing in long series. Set it to `0`
  40591. * disable.
  40592. *
  40593. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  40594. * two dimensional arrays are allowed.
  40595. */
  40596. turboThreshold?: number;
  40597. /**
  40598. * (Highstock) Set the initial visibility of the series.
  40599. */
  40600. visible?: boolean;
  40601. /**
  40602. * (Highmaps) Define the z index of the series.
  40603. */
  40604. zIndex?: number;
  40605. /**
  40606. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  40607. */
  40608. zoneAxis?: string;
  40609. /**
  40610. * (Highcharts, Highstock) An array defining zones within a series. Zones
  40611. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  40612. * the `zoneAxis` option. The zone definitions have to be in ascending order
  40613. * regarding to the value.
  40614. *
  40615. * In styled mode, the color zones are styled with the
  40616. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  40617. * option (view live demo).
  40618. */
  40619. zones?: Array<SeriesZonesOptionsObject>;
  40620. }
  40621. /**
  40622. * (Highstock) Paramters used in calculation of regression series' points.
  40623. */
  40624. export interface PlotDisparityindexParamsOptions {
  40625. /**
  40626. * (Highstock) The average used to calculate the Disparity Index indicator.
  40627. * By default it uses SMA. To use other averages, e.g. EMA, the
  40628. * `stock/indicators/ema.js` file needs to be loaded.
  40629. *
  40630. * If value is different than ema|dema|tema|wma, then sma is used.
  40631. */
  40632. average?: string;
  40633. /**
  40634. * (Highstock) The point index which indicator calculations will base. For
  40635. * example using OHLC data, index=2 means the indicator will be calculated
  40636. * using Low values.
  40637. */
  40638. index?: number;
  40639. /**
  40640. * (Highstock) The base period for indicator calculations. This is the
  40641. * number of data points which are taken into account for the indicator
  40642. * calculations.
  40643. */
  40644. period?: number;
  40645. }
  40646. /**
  40647. * (Highstock) Enable or disable the initial animation when a series is
  40648. * displayed. The animation can also be set as a configuration object. Please
  40649. * note that this option only applies to the initial animation of the series
  40650. * itself. For other animations, see chart.animation and the animation parameter
  40651. * under the API methods. The following properties are supported:
  40652. *
  40653. * - `defer`: The animation delay time in milliseconds.
  40654. *
  40655. * - `duration`: The duration of the animation in milliseconds.
  40656. *
  40657. * - `easing`: Can be a string reference to an easing function set on the `Math`
  40658. * object or a function. See the _Custom easing function_ demo below.
  40659. *
  40660. * Due to poor performance, animation is disabled in old IE browsers for several
  40661. * chart types.
  40662. */
  40663. export interface PlotDmiAnimationOptions {
  40664. defer?: number;
  40665. }
  40666. /**
  40667. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40668. * animation when a series is displayed for the `dataLabels`. The animation can
  40669. * also be set as a configuration object. Please note that this option only
  40670. * applies to the initial animation. For other animations, see chart.animation
  40671. * and the animation parameter under the API methods. The following properties
  40672. * are supported:
  40673. *
  40674. * - `defer`: The animation delay time in milliseconds.
  40675. */
  40676. export interface PlotDmiDataLabelsAnimationOptions {
  40677. /**
  40678. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  40679. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  40680. * inherits defer time from the series.animation.defer.
  40681. */
  40682. defer?: number;
  40683. }
  40684. /**
  40685. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  40686. * appearing next to each data point.
  40687. *
  40688. * Since v6.2.0, multiple data labels can be applied to each single point by
  40689. * defining them as an array of configs.
  40690. *
  40691. * In styled mode, the data labels can be styled with the
  40692. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  40693. * example).
  40694. */
  40695. export interface PlotDmiDataLabelsOptions {
  40696. /**
  40697. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  40698. * compared to the point. If `right`, the right side of the label should be
  40699. * touching the point. For points with an extent, like columns, the
  40700. * alignments also dictates how to align it inside the box, as given with
  40701. * the inside option. Can be one of `left`, `center` or `right`.
  40702. */
  40703. align?: (AlignValue|null);
  40704. /**
  40705. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  40706. * overlap. To make the labels less sensitive for overlapping, the
  40707. * dataLabels.padding can be set to 0.
  40708. */
  40709. allowOverlap?: boolean;
  40710. /**
  40711. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  40712. * animation when a series is displayed for the `dataLabels`. The animation
  40713. * can also be set as a configuration object. Please note that this option
  40714. * only applies to the initial animation. For other animations, see
  40715. * chart.animation and the animation parameter under the API methods. The
  40716. * following properties are supported:
  40717. *
  40718. * - `defer`: The animation delay time in milliseconds.
  40719. */
  40720. animation?: (boolean|PlotDmiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  40721. /**
  40722. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  40723. * for the data label.
  40724. */
  40725. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  40726. /**
  40727. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  40728. * label. Defaults to `undefined`.
  40729. */
  40730. borderColor?: (ColorString|GradientColorObject|PatternObject);
  40731. /**
  40732. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  40733. * the data label.
  40734. */
  40735. borderRadius?: number;
  40736. /**
  40737. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  40738. * the data label.
  40739. */
  40740. borderWidth?: number;
  40741. /**
  40742. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  40743. * Particularly in styled mode, this can be used to give each series' or
  40744. * point's data label unique styling. In addition to this option, a default
  40745. * color class name is added so that we can give the labels a contrast text
  40746. * shadow.
  40747. */
  40748. className?: string;
  40749. /**
  40750. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  40751. * labels. Defaults to `undefined`. For certain series types, like column or
  40752. * map, the data labels can be drawn inside the points. In this case the
  40753. * data label will be drawn with maximum contrast by default. Additionally,
  40754. * it will be given a `text-outline` style with the opposite color, to
  40755. * further increase the contrast. This can be overridden by setting the
  40756. * `text-outline` style to `none` in the `dataLabels.style` option.
  40757. */
  40758. color?: (ColorString|GradientColorObject|PatternObject);
  40759. /**
  40760. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  40761. * are outside the plot area. By default, the data label is moved inside the
  40762. * plot area according to the overflow option.
  40763. */
  40764. crop?: boolean;
  40765. /**
  40766. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  40767. * labels until the initial series animation has finished. Setting to
  40768. * `false` renders the data label immediately. If set to `true` inherits the
  40769. * defer time set in plotOptions.series.animation. If set to a number, a
  40770. * defer time is specified in milliseconds.
  40771. */
  40772. defer?: (boolean|number);
  40773. /**
  40774. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  40775. * labels.
  40776. */
  40777. enabled?: boolean;
  40778. /**
  40779. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  40780. * of which data labels to display. The declarative filter is designed for
  40781. * use when callback functions are not available, like when the chart
  40782. * options require a pure JSON structure or for use with graphical editors.
  40783. * For programmatic control, use the `formatter` instead, and return
  40784. * `undefined` to disable a single data label.
  40785. */
  40786. filter?: DataLabelsFilterOptionsObject;
  40787. /**
  40788. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  40789. * label. Available variables are the same as for `formatter`.
  40790. */
  40791. format?: string;
  40792. /**
  40793. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  40794. * format the data label. Note that if a `format` is defined, the format
  40795. * takes precedence and the formatter is ignored.
  40796. */
  40797. formatter?: DataLabelsFormatterCallbackFunction;
  40798. /**
  40799. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  40800. * columns or map areas, whether to align the data label inside the box or
  40801. * to the actual value point. Defaults to `false` in most cases, `true` in
  40802. * stacked columns.
  40803. */
  40804. inside?: boolean;
  40805. /**
  40806. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  40807. * of null. Works analogously to format. `nullFormat` can be applied only to
  40808. * series which support displaying null points.
  40809. */
  40810. nullFormat?: (boolean|string);
  40811. /**
  40812. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  40813. * that defines formatting for points with the value of null. Works
  40814. * analogously to formatter. `nullPointFormatter` can be applied only to
  40815. * series which support displaying null points.
  40816. */
  40817. nullFormatter?: DataLabelsFormatterCallbackFunction;
  40818. /**
  40819. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  40820. * flow outside the plot area. The default is `"justify"`, which aligns them
  40821. * inside the plot area. For columns and bars, this means it will be moved
  40822. * inside the bar. To display data labels outside the plot area, set `crop`
  40823. * to `false` and `overflow` to `"allow"`.
  40824. */
  40825. overflow?: DataLabelsOverflowValue;
  40826. /**
  40827. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  40828. * the `backgroundColor` is set, this is the padding within the box.
  40829. */
  40830. padding?: number;
  40831. /**
  40832. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  40833. * points. If `center` alignment is not possible, it defaults to `right`.
  40834. */
  40835. position?: AlignValue;
  40836. /**
  40837. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  40838. * that due to a more complex structure, backgrounds, borders and padding
  40839. * will be lost on a rotated data label.
  40840. */
  40841. rotation?: number;
  40842. /**
  40843. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  40844. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  40845. * an object configuration containing `color`, `offsetX`, `offsetY`,
  40846. * `opacity` and `width`.
  40847. */
  40848. shadow?: (boolean|ShadowOptionsObject);
  40849. /**
  40850. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  40851. * the border around the label. Symbols are predefined functions on the
  40852. * Renderer object.
  40853. */
  40854. shape?: string;
  40855. /**
  40856. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  40857. * default `color` setting is `"contrast"`, which is a pseudo color that
  40858. * Highcharts picks up and applies the maximum contrast to the underlying
  40859. * point item, for example the bar in a bar chart.
  40860. *
  40861. * The `textOutline` is a pseudo property that applies an outline of the
  40862. * given width with the given color, which by default is the maximum
  40863. * contrast to the text. So a bright text color will result in a black text
  40864. * outline for maximum readability on a mixed background. In some cases,
  40865. * especially with grayscale text, the text outline doesn't work well, in
  40866. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  40867. * is true, the `textOutline` will not be picked up. In this, case, the same
  40868. * effect can be acheived through the `text-shadow` CSS property.
  40869. *
  40870. * For some series types, where each point has an extent, like for example
  40871. * tree maps, the data label may overflow the point. There are two
  40872. * strategies for handling overflow. By default, the text will wrap to
  40873. * multiple lines. The other strategy is to set `style.textOverflow` to
  40874. * `ellipsis`, which will keep the text on one line plus it will break
  40875. * inside long words.
  40876. */
  40877. style?: CSSObject;
  40878. /**
  40879. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  40880. * should follow marker's shape. Border and background are disabled for a
  40881. * label that follows a path.
  40882. *
  40883. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  40884. * to true will disable this option.
  40885. */
  40886. textPath?: DataLabelsTextPathOptionsObject;
  40887. /**
  40888. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  40889. * the labels.
  40890. */
  40891. useHTML?: boolean;
  40892. /**
  40893. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  40894. * label. Can be one of `top`, `middle` or `bottom`. The default value
  40895. * depends on the data, for instance in a column chart, the label is above
  40896. * positive values and below negative values.
  40897. */
  40898. verticalAlign?: (VerticalAlignValue|null);
  40899. /**
  40900. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  40901. * label relative to the point in pixels.
  40902. */
  40903. x?: number;
  40904. /**
  40905. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  40906. * label relative to the point in pixels.
  40907. */
  40908. y?: number;
  40909. /**
  40910. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  40911. * The default Z index puts it above the series. Use a Z index of 2 to
  40912. * display it behind the series.
  40913. */
  40914. z?: number;
  40915. }
  40916. /**
  40917. * (Highcharts, Highstock) Options for the series data sorting.
  40918. */
  40919. export interface PlotDmiDataSortingOptions {
  40920. /**
  40921. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  40922. * Use xAxis.reversed to change the sorting order.
  40923. */
  40924. enabled?: boolean;
  40925. /**
  40926. * (Highcharts, Highstock) Whether to allow matching points by name in an
  40927. * update. If this option is disabled, points will be matched by order.
  40928. */
  40929. matchByName?: boolean;
  40930. /**
  40931. * (Highcharts, Highstock) Determines what data value should be used to sort
  40932. * by.
  40933. */
  40934. sortKey?: string;
  40935. }
  40936. /**
  40937. * (Highstock) -DI line options.
  40938. */
  40939. export interface PlotDmiMinusDILineOptions {
  40940. /**
  40941. * (Highstock) Styles for the -DI line.
  40942. */
  40943. styles?: PlotDmiMinusDILineStylesOptions;
  40944. }
  40945. /**
  40946. * (Highstock) Styles for the -DI line.
  40947. */
  40948. export interface PlotDmiMinusDILineStylesOptions {
  40949. /**
  40950. * (Highstock) Color of the line.
  40951. */
  40952. lineColor?: ColorString;
  40953. /**
  40954. * (Highstock) Pixel width of the line.
  40955. */
  40956. lineWidth?: number;
  40957. }
  40958. /**
  40959. * (Highstock) Directional Movement Index (DMI). This series requires the
  40960. * `linkedTo` option to be set and should be loaded after the
  40961. * `stock/indicators/indicators.js` file.
  40962. *
  40963. * In TypeScript the type option must always be set.
  40964. *
  40965. * Configuration options for the series are given in three levels:
  40966. *
  40967. * 1. Options for all series in a chart are defined in the plotOptions.series
  40968. * object.
  40969. *
  40970. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  40971. *
  40972. * 3. Options for one single series are given in the series instance array. (see
  40973. * online documentation for example)
  40974. */
  40975. export interface PlotDmiOptions {
  40976. /**
  40977. * (Highstock) Accessibility options for a series.
  40978. */
  40979. accessibility?: SeriesAccessibilityOptionsObject;
  40980. /**
  40981. * (Highstock) Allow this series' points to be selected by clicking on the
  40982. * graphic (columns, point markers, pie slices, map areas etc).
  40983. *
  40984. * The selected points can be handled by point select and unselect events,
  40985. * or collectively by the getSelectedPoints function.
  40986. *
  40987. * And alternative way of selecting points is through dragging.
  40988. */
  40989. allowPointSelect?: boolean;
  40990. /**
  40991. * (Highstock) Enable or disable the initial animation when a series is
  40992. * displayed. The animation can also be set as a configuration object.
  40993. * Please note that this option only applies to the initial animation of the
  40994. * series itself. For other animations, see chart.animation and the
  40995. * animation parameter under the API methods. The following properties are
  40996. * supported:
  40997. *
  40998. * - `defer`: The animation delay time in milliseconds.
  40999. *
  41000. * - `duration`: The duration of the animation in milliseconds.
  41001. *
  41002. * - `easing`: Can be a string reference to an easing function set on the
  41003. * `Math` object or a function. See the _Custom easing function_ demo below.
  41004. *
  41005. * Due to poor performance, animation is disabled in old IE browsers for
  41006. * several chart types.
  41007. */
  41008. animation?: (boolean|PlotDmiAnimationOptions|Partial<AnimationOptionsObject>);
  41009. /**
  41010. * (Highstock) For some series, there is a limit that shuts down initial
  41011. * animation by default when the total number of points in the chart is too
  41012. * high. For example, for a column chart and its derivatives, animation does
  41013. * not run if there is more than 250 points totally. To disable this cap,
  41014. * set `animationLimit` to `Infinity`.
  41015. */
  41016. animationLimit?: number;
  41017. /**
  41018. * (Highstock) Sets the color blending in the boost module.
  41019. */
  41020. boostBlending?: OptionsBoostBlendingValue;
  41021. /**
  41022. * (Highstock) Set the point threshold for when a series should enter boost
  41023. * mode.
  41024. *
  41025. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  41026. * there are 2000 or more points in the series.
  41027. *
  41028. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  41029. * it to 1 will force boosting.
  41030. *
  41031. * Note that the cropThreshold also affects this setting. When zooming in on
  41032. * a series that has fewer points than the `cropThreshold`, all points are
  41033. * rendered although outside the visible plot area, and the `boostThreshold`
  41034. * won't take effect.
  41035. */
  41036. boostThreshold?: number;
  41037. /**
  41038. * (Highmaps) The border color of the map areas.
  41039. *
  41040. * In styled mode, the border stroke is given in the `.highcharts-point`
  41041. * class.
  41042. */
  41043. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41044. /**
  41045. * (Highmaps) The border width of each map area.
  41046. *
  41047. * In styled mode, the border stroke width is given in the
  41048. * `.highcharts-point` class.
  41049. */
  41050. borderWidth?: number;
  41051. /**
  41052. * (Highstock) An additional class name to apply to the series' graphical
  41053. * elements. This option does not replace default class names of the
  41054. * graphical element.
  41055. */
  41056. className?: string;
  41057. /**
  41058. * (Highstock) Disable this option to allow series rendering in the whole
  41059. * plotting area.
  41060. *
  41061. * **Note:** Clipping should be always enabled when chart.zoomType is set
  41062. */
  41063. clip?: boolean;
  41064. /**
  41065. * (Highstock) The main color of the series. In line type series it applies
  41066. * to the line and the point markers unless otherwise specified. In bar type
  41067. * series it applies to the bars unless a color is specified per point. The
  41068. * default value is pulled from the `options.colors` array.
  41069. *
  41070. * In styled mode, the color can be defined by the colorIndex option. Also,
  41071. * the series color can be set with the `.highcharts-series`,
  41072. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  41073. * `.highcharts-series-{n}` class, or individual classes given by the
  41074. * `className` option.
  41075. */
  41076. color?: (ColorString|GradientColorObject|PatternObject);
  41077. /**
  41078. * (Highstock) Styled mode only. A specific color index to use for the
  41079. * series, so its graphic representations are given the class name
  41080. * `highcharts-color-{n}`.
  41081. */
  41082. colorIndex?: number;
  41083. /**
  41084. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  41085. * used to calculate point color if `colorAxis` is used. Requires to set
  41086. * `min` and `max` if some custom point property is used or if approximation
  41087. * for data grouping is set to `'sum'`.
  41088. */
  41089. colorKey?: string;
  41090. /**
  41091. * (Highstock) Compare the values of the series against the first non-null,
  41092. * non- zero value in the visible range. The y axis will show percentage or
  41093. * absolute change depending on whether `compare` is set to `"percent"` or
  41094. * `"value"`. When this is applied to multiple series, it allows comparing
  41095. * the development of the series against each other. Adds a `change` field
  41096. * to every point object.
  41097. */
  41098. compare?: string;
  41099. /**
  41100. * (Highstock) When compare is `percent`, this option dictates whether to
  41101. * use 0 or 100 as the base of comparison.
  41102. */
  41103. compareBase?: (0|100);
  41104. /**
  41105. * (Highstock) Defines if comparison should start from the first point
  41106. * within the visible range or should start from the first point **before**
  41107. * the range.
  41108. *
  41109. * In other words, this flag determines if first point within the visible
  41110. * range will have 0% (`compareStart=true`) or should have been already
  41111. * calculated according to the previous point (`compareStart=false`).
  41112. */
  41113. compareStart?: boolean;
  41114. /**
  41115. * (Highstock) Whether to compare indicator to the main series values or
  41116. * indicator values.
  41117. */
  41118. compareToMain?: boolean;
  41119. /**
  41120. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  41121. * series plot across the extremes.
  41122. */
  41123. connectEnds?: boolean;
  41124. /**
  41125. * (Highcharts, Highstock) Whether to connect a graph line across null
  41126. * points, or render a gap between the two points on either side of the
  41127. * null.
  41128. */
  41129. connectNulls?: boolean;
  41130. /**
  41131. * (Gantt) Override Pathfinder connector options for a series. Requires
  41132. * Highcharts Gantt to be loaded.
  41133. */
  41134. connectors?: SeriesConnectorsOptionsObject;
  41135. /**
  41136. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  41137. * rounded to its nearest pixel in order to render sharp on screen. In some
  41138. * cases, when there are a lot of densely packed columns, this leads to
  41139. * visible difference in column widths or distance between columns. In these
  41140. * cases, setting `crisp` to `false` may look better, even though each
  41141. * column is rendered blurry.
  41142. */
  41143. crisp?: boolean;
  41144. /**
  41145. * (Highcharts, Highstock) When the series contains less points than the
  41146. * crop threshold, all points are drawn, even if the points fall outside the
  41147. * visible plot area at the current zoom. The advantage of drawing all
  41148. * points (including markers and columns), is that animation is performed on
  41149. * updates. On the other hand, when the series contains more points than the
  41150. * crop threshold, the series data is cropped to only contain points that
  41151. * fall within the plot area. The advantage of cropping away invisible
  41152. * points is to increase performance on large series.
  41153. */
  41154. cropThreshold?: number;
  41155. /**
  41156. * (Highstock) You can set the cursor to "pointer" if you have click events
  41157. * attached to the series, to signal to the user that the points and lines
  41158. * can be clicked.
  41159. *
  41160. * In styled mode, the series cursor can be set with the same classes as
  41161. * listed under series.color.
  41162. */
  41163. cursor?: (string|CursorValue);
  41164. /**
  41165. * (Highstock) A reserved subspace to store options and values for
  41166. * customized functionality. Here you can add additional data for your own
  41167. * event callbacks and formatter callbacks.
  41168. */
  41169. custom?: Dictionary<any>;
  41170. /**
  41171. * (Highstock) Name of the dash style to use for the graph, or for some
  41172. * series types the outline of each shape.
  41173. *
  41174. * In styled mode, the stroke dash-array can be set with the same classes as
  41175. * listed under series.color.
  41176. */
  41177. dashStyle?: DashStyleValue;
  41178. /**
  41179. * (Highstock) Data grouping is the concept of sampling the data values into
  41180. * larger blocks in order to ease readability and increase performance of
  41181. * the JavaScript charts. Highcharts Stock by default applies data grouping
  41182. * when the points become closer than a certain pixel value, determined by
  41183. * the `groupPixelWidth` option.
  41184. *
  41185. * If data grouping is applied, the grouping information of grouped points
  41186. * can be read from the Point.dataGroup. If point options other than the
  41187. * data itself are set, for example `name` or `color` or custom properties,
  41188. * the grouping logic doesn't know how to group it. In this case the options
  41189. * of the first point instance are copied over to the group point. This can
  41190. * be altered through a custom `approximation` callback function.
  41191. */
  41192. dataGrouping?: DataGroupingOptionsObject;
  41193. /**
  41194. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  41195. * labels, appearing next to each data point.
  41196. *
  41197. * Since v6.2.0, multiple data labels can be applied to each single point by
  41198. * defining them as an array of configs.
  41199. *
  41200. * In styled mode, the data labels can be styled with the
  41201. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  41202. * (see example).
  41203. */
  41204. dataLabels?: (PlotDmiDataLabelsOptions|Array<PlotDmiDataLabelsOptions>);
  41205. /**
  41206. * (Highcharts, Highstock) Options for the series data sorting.
  41207. */
  41208. dataSorting?: (DataSortingOptionsObject|PlotDmiDataSortingOptions);
  41209. /**
  41210. * (Highstock) A description of the series to add to the screen reader
  41211. * information about the series.
  41212. */
  41213. description?: string;
  41214. /**
  41215. * (Highstock) Enable or disable the mouse tracking for a specific series.
  41216. * This includes point tooltips and click events on graphs and points. For
  41217. * large datasets it improves performance.
  41218. */
  41219. enableMouseTracking?: boolean;
  41220. /**
  41221. * (Highstock) General event handlers for the series items. These event
  41222. * hooks can also be attached to the series at run time using the
  41223. * `Highcharts.addEvent` function.
  41224. */
  41225. events?: SeriesEventsOptionsObject;
  41226. /**
  41227. * (Highstock) Determines whether the series should look for the nearest
  41228. * point in both dimensions or just the x-dimension when hovering the
  41229. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  41230. * series. If the data has duplicate x-values, it is recommended to set this
  41231. * to `'xy'` to allow hovering over all points.
  41232. *
  41233. * Applies only to series types using nearest neighbor search (not direct
  41234. * hover) for tooltip.
  41235. */
  41236. findNearestPointBy?: OptionsFindNearestPointByValue;
  41237. /**
  41238. * (Highstock) Defines when to display a gap in the graph, together with the
  41239. * gapUnit option.
  41240. *
  41241. * In case when `dataGrouping` is enabled, points can be grouped into a
  41242. * larger time span. This can make the grouped points to have a greater
  41243. * distance than the absolute value of `gapSize` property, which will result
  41244. * in disappearing graph completely. To prevent this situation the mentioned
  41245. * distance between grouped points is used instead of previously defined
  41246. * `gapSize`.
  41247. *
  41248. * In practice, this option is most often used to visualize gaps in time
  41249. * series. In a stock chart, intraday data is available for daytime hours,
  41250. * while gaps will appear in nights and weekends.
  41251. */
  41252. gapSize?: number;
  41253. /**
  41254. * (Highstock) Together with gapSize, this option defines where to draw gaps
  41255. * in the graph.
  41256. *
  41257. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  41258. * if the distance between two points is greater than 5 times that of the
  41259. * two closest points, the graph will be broken.
  41260. *
  41261. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  41262. * values, which on a datetime axis is milliseconds. This also applies to
  41263. * the navigator series that inherits gap options from the base series.
  41264. */
  41265. gapUnit?: OptionsGapUnitValue;
  41266. /**
  41267. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  41268. * chart width or only the zoomed area when zooming in on parts of the X
  41269. * axis. By default, the Y axis adjusts to the min and max of the visible
  41270. * data. Cartesian series only.
  41271. */
  41272. getExtremesFromAll?: boolean;
  41273. /**
  41274. * (Highstock) When set to `false` will prevent the series data from being
  41275. * included in any form of data export.
  41276. *
  41277. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  41278. * `includeInCSVExport`.
  41279. */
  41280. includeInDataExport?: boolean;
  41281. /**
  41282. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  41283. * series as possible in a natural way, seeking to avoid other series. The
  41284. * goal of this feature is to make the chart more easily readable, like if a
  41285. * human designer placed the labels in the optimal position.
  41286. *
  41287. * The series labels currently work with series types having a `graph` or an
  41288. * `area`.
  41289. */
  41290. label?: SeriesLabelOptionsObject;
  41291. /**
  41292. * (Highstock) The line marks the last price from all points.
  41293. */
  41294. lastPrice?: SeriesLastPriceOptionsObject;
  41295. /**
  41296. * (Highstock) The line marks the last price from visible range of points.
  41297. */
  41298. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  41299. /**
  41300. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  41301. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  41302. * the ends and bends.
  41303. */
  41304. linecap?: SeriesLinecapValue;
  41305. /**
  41306. * (Highcharts, Highstock) Pixel width of the graph line.
  41307. */
  41308. lineWidth?: number;
  41309. /**
  41310. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  41311. * based on. Required for this indicator.
  41312. */
  41313. linkedTo?: string;
  41314. /**
  41315. * (Highstock) Options for the point markers of line-like series. Properties
  41316. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  41317. * appearance of the markers. Other series types, like column series, don't
  41318. * have markers, but have visual options on the series level instead.
  41319. *
  41320. * In styled mode, the markers can be styled with the `.highcharts-point`,
  41321. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  41322. */
  41323. marker?: PointMarkerOptionsObject;
  41324. /**
  41325. * (Highstock) -DI line options.
  41326. */
  41327. minusDILine?: PlotDmiMinusDILineOptions;
  41328. /**
  41329. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  41330. * If not set, it will be based on a technical indicator type and default
  41331. * params.
  41332. */
  41333. name?: string;
  41334. /**
  41335. * (Highstock) The color for the parts of the graph or points that are below
  41336. * the threshold. Note that `zones` takes precedence over the negative
  41337. * color. Using `negativeColor` is equivalent to applying a zone with value
  41338. * of 0.
  41339. */
  41340. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  41341. /**
  41342. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  41343. * dataLabels.
  41344. */
  41345. opacity?: number;
  41346. /**
  41347. * (Highstock) Paramters used in calculation of regression series' points.
  41348. */
  41349. params?: PlotDmiParamsOptions;
  41350. /**
  41351. * (Highstock) +DI line options.
  41352. */
  41353. plusDILine?: PlotDmiPlusDILineOptions;
  41354. /**
  41355. * (Highstock) Properties for each single point.
  41356. */
  41357. point?: PlotSeriesPointOptions;
  41358. /**
  41359. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  41360. * individual series. Overrides the chart wide configuration.
  41361. */
  41362. pointDescriptionFormatter?: Function;
  41363. /**
  41364. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  41365. * true, the checkbox next to the series name in the legend will be checked
  41366. * for a selected series.
  41367. */
  41368. selected?: boolean;
  41369. /**
  41370. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  41371. * the shadow can be an object configuration containing `color`, `offsetX`,
  41372. * `offsetY`, `opacity` and `width`.
  41373. */
  41374. shadow?: (boolean|ShadowOptionsObject);
  41375. /**
  41376. * (Highstock) If true, a checkbox is displayed next to the legend item to
  41377. * allow selecting the series. The state of the checkbox is determined by
  41378. * the `selected` option.
  41379. */
  41380. showCheckbox?: boolean;
  41381. /**
  41382. * (Highstock) Whether to display this particular series or series type in
  41383. * the legend. Standalone series are shown in legend by default, and linked
  41384. * series are not. Since v7.2.0 it is possible to show series that use
  41385. * colorAxis by setting this option to `true`.
  41386. */
  41387. showInLegend?: boolean;
  41388. /**
  41389. * (Highstock) If set to `true`, the accessibility module will skip past the
  41390. * points in this series for keyboard navigation.
  41391. */
  41392. skipKeyboardNavigation?: boolean;
  41393. /**
  41394. * (Highcharts, Highstock) When this is true, the series will not cause the
  41395. * Y axis to cross the zero plane (or threshold option) unless the data
  41396. * actually crosses the plane.
  41397. *
  41398. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  41399. * make the Y axis show negative values according to the `minPadding`
  41400. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  41401. */
  41402. softThreshold?: boolean;
  41403. states?: SeriesStatesOptionsObject;
  41404. /**
  41405. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  41406. * values are `left`, `center` and `right`.
  41407. */
  41408. step?: OptionsStepValue;
  41409. /**
  41410. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  41411. * event on a series isn't triggered until the mouse moves over another
  41412. * series, or out of the plot area. When false, the `mouseOut` event on a
  41413. * series is triggered when the mouse leaves the area around the series'
  41414. * graph or markers. This also implies the tooltip when not shared. When
  41415. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  41416. * be hidden when moving the mouse between series. Defaults to true for line
  41417. * and area type series, but to false for columns, pies etc.
  41418. *
  41419. * **Note:** The boost module will force this option because of technical
  41420. * limitations.
  41421. */
  41422. stickyTracking?: boolean;
  41423. /**
  41424. * (Highcharts, Highstock) The threshold, also called zero level or base
  41425. * level. For line type series this is only used in conjunction with
  41426. * negativeColor.
  41427. */
  41428. threshold?: (number|null);
  41429. /**
  41430. * (Highstock) A configuration object for the tooltip rendering of each
  41431. * single series. Properties are inherited from tooltip, but only the
  41432. * following properties can be defined on a series level.
  41433. */
  41434. tooltip?: SeriesTooltipOptionsObject;
  41435. /**
  41436. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  41437. * is longer than this, only one dimensional arrays of numbers, or two
  41438. * dimensional arrays with x and y values are allowed. Also, only the first
  41439. * point is tested, and the rest are assumed to be the same format. This
  41440. * saves expensive data checking and indexing in long series. Set it to `0`
  41441. * disable.
  41442. *
  41443. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  41444. * two dimensional arrays are allowed.
  41445. */
  41446. turboThreshold?: number;
  41447. /**
  41448. * (Highstock) Set the initial visibility of the series.
  41449. */
  41450. visible?: boolean;
  41451. /**
  41452. * (Highmaps) Define the z index of the series.
  41453. */
  41454. zIndex?: number;
  41455. /**
  41456. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  41457. */
  41458. zoneAxis?: string;
  41459. /**
  41460. * (Highcharts, Highstock) An array defining zones within a series. Zones
  41461. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  41462. * the `zoneAxis` option. The zone definitions have to be in ascending order
  41463. * regarding to the value.
  41464. *
  41465. * In styled mode, the color zones are styled with the
  41466. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  41467. * option (view live demo).
  41468. */
  41469. zones?: Array<SeriesZonesOptionsObject>;
  41470. }
  41471. /**
  41472. * (Highstock) Paramters used in calculation of regression series' points.
  41473. */
  41474. export interface PlotDmiParamsOptions {
  41475. index?: string;
  41476. /**
  41477. * (Highstock) The base period for indicator calculations. This is the
  41478. * number of data points which are taken into account for the indicator
  41479. * calculations.
  41480. */
  41481. period?: number;
  41482. }
  41483. /**
  41484. * (Highstock) +DI line options.
  41485. */
  41486. export interface PlotDmiPlusDILineOptions {
  41487. /**
  41488. * (Highstock) Styles for the +DI line.
  41489. */
  41490. styles?: PlotDmiPlusDILineStylesOptions;
  41491. }
  41492. /**
  41493. * (Highstock) Styles for the +DI line.
  41494. */
  41495. export interface PlotDmiPlusDILineStylesOptions {
  41496. /**
  41497. * (Highstock) Color of the line.
  41498. */
  41499. lineColor?: ColorString;
  41500. /**
  41501. * (Highstock) Pixel width of the line.
  41502. */
  41503. lineWidth?: number;
  41504. }
  41505. /**
  41506. * (Highstock) Enable or disable the initial animation when a series is
  41507. * displayed. The animation can also be set as a configuration object. Please
  41508. * note that this option only applies to the initial animation of the series
  41509. * itself. For other animations, see chart.animation and the animation parameter
  41510. * under the API methods. The following properties are supported:
  41511. *
  41512. * - `defer`: The animation delay time in milliseconds.
  41513. *
  41514. * - `duration`: The duration of the animation in milliseconds.
  41515. *
  41516. * - `easing`: Can be a string reference to an easing function set on the `Math`
  41517. * object or a function. See the _Custom easing function_ demo below.
  41518. *
  41519. * Due to poor performance, animation is disabled in old IE browsers for several
  41520. * chart types.
  41521. */
  41522. export interface PlotDpoAnimationOptions {
  41523. defer?: number;
  41524. }
  41525. /**
  41526. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41527. * animation when a series is displayed for the `dataLabels`. The animation can
  41528. * also be set as a configuration object. Please note that this option only
  41529. * applies to the initial animation. For other animations, see chart.animation
  41530. * and the animation parameter under the API methods. The following properties
  41531. * are supported:
  41532. *
  41533. * - `defer`: The animation delay time in milliseconds.
  41534. */
  41535. export interface PlotDpoDataLabelsAnimationOptions {
  41536. /**
  41537. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  41538. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  41539. * inherits defer time from the series.animation.defer.
  41540. */
  41541. defer?: number;
  41542. }
  41543. /**
  41544. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  41545. * appearing next to each data point.
  41546. *
  41547. * Since v6.2.0, multiple data labels can be applied to each single point by
  41548. * defining them as an array of configs.
  41549. *
  41550. * In styled mode, the data labels can be styled with the
  41551. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  41552. * example).
  41553. */
  41554. export interface PlotDpoDataLabelsOptions {
  41555. /**
  41556. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  41557. * compared to the point. If `right`, the right side of the label should be
  41558. * touching the point. For points with an extent, like columns, the
  41559. * alignments also dictates how to align it inside the box, as given with
  41560. * the inside option. Can be one of `left`, `center` or `right`.
  41561. */
  41562. align?: (AlignValue|null);
  41563. /**
  41564. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  41565. * overlap. To make the labels less sensitive for overlapping, the
  41566. * dataLabels.padding can be set to 0.
  41567. */
  41568. allowOverlap?: boolean;
  41569. /**
  41570. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  41571. * animation when a series is displayed for the `dataLabels`. The animation
  41572. * can also be set as a configuration object. Please note that this option
  41573. * only applies to the initial animation. For other animations, see
  41574. * chart.animation and the animation parameter under the API methods. The
  41575. * following properties are supported:
  41576. *
  41577. * - `defer`: The animation delay time in milliseconds.
  41578. */
  41579. animation?: (boolean|PlotDpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  41580. /**
  41581. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  41582. * for the data label.
  41583. */
  41584. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  41585. /**
  41586. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  41587. * label. Defaults to `undefined`.
  41588. */
  41589. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41590. /**
  41591. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  41592. * the data label.
  41593. */
  41594. borderRadius?: number;
  41595. /**
  41596. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  41597. * the data label.
  41598. */
  41599. borderWidth?: number;
  41600. /**
  41601. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  41602. * Particularly in styled mode, this can be used to give each series' or
  41603. * point's data label unique styling. In addition to this option, a default
  41604. * color class name is added so that we can give the labels a contrast text
  41605. * shadow.
  41606. */
  41607. className?: string;
  41608. /**
  41609. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  41610. * labels. Defaults to `undefined`. For certain series types, like column or
  41611. * map, the data labels can be drawn inside the points. In this case the
  41612. * data label will be drawn with maximum contrast by default. Additionally,
  41613. * it will be given a `text-outline` style with the opposite color, to
  41614. * further increase the contrast. This can be overridden by setting the
  41615. * `text-outline` style to `none` in the `dataLabels.style` option.
  41616. */
  41617. color?: (ColorString|GradientColorObject|PatternObject);
  41618. /**
  41619. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  41620. * are outside the plot area. By default, the data label is moved inside the
  41621. * plot area according to the overflow option.
  41622. */
  41623. crop?: boolean;
  41624. /**
  41625. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  41626. * labels until the initial series animation has finished. Setting to
  41627. * `false` renders the data label immediately. If set to `true` inherits the
  41628. * defer time set in plotOptions.series.animation. If set to a number, a
  41629. * defer time is specified in milliseconds.
  41630. */
  41631. defer?: (boolean|number);
  41632. /**
  41633. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  41634. * labels.
  41635. */
  41636. enabled?: boolean;
  41637. /**
  41638. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  41639. * of which data labels to display. The declarative filter is designed for
  41640. * use when callback functions are not available, like when the chart
  41641. * options require a pure JSON structure or for use with graphical editors.
  41642. * For programmatic control, use the `formatter` instead, and return
  41643. * `undefined` to disable a single data label.
  41644. */
  41645. filter?: DataLabelsFilterOptionsObject;
  41646. /**
  41647. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  41648. * label. Available variables are the same as for `formatter`.
  41649. */
  41650. format?: string;
  41651. /**
  41652. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  41653. * format the data label. Note that if a `format` is defined, the format
  41654. * takes precedence and the formatter is ignored.
  41655. */
  41656. formatter?: DataLabelsFormatterCallbackFunction;
  41657. /**
  41658. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  41659. * columns or map areas, whether to align the data label inside the box or
  41660. * to the actual value point. Defaults to `false` in most cases, `true` in
  41661. * stacked columns.
  41662. */
  41663. inside?: boolean;
  41664. /**
  41665. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  41666. * of null. Works analogously to format. `nullFormat` can be applied only to
  41667. * series which support displaying null points.
  41668. */
  41669. nullFormat?: (boolean|string);
  41670. /**
  41671. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  41672. * that defines formatting for points with the value of null. Works
  41673. * analogously to formatter. `nullPointFormatter` can be applied only to
  41674. * series which support displaying null points.
  41675. */
  41676. nullFormatter?: DataLabelsFormatterCallbackFunction;
  41677. /**
  41678. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  41679. * flow outside the plot area. The default is `"justify"`, which aligns them
  41680. * inside the plot area. For columns and bars, this means it will be moved
  41681. * inside the bar. To display data labels outside the plot area, set `crop`
  41682. * to `false` and `overflow` to `"allow"`.
  41683. */
  41684. overflow?: DataLabelsOverflowValue;
  41685. /**
  41686. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  41687. * the `backgroundColor` is set, this is the padding within the box.
  41688. */
  41689. padding?: number;
  41690. /**
  41691. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  41692. * points. If `center` alignment is not possible, it defaults to `right`.
  41693. */
  41694. position?: AlignValue;
  41695. /**
  41696. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  41697. * that due to a more complex structure, backgrounds, borders and padding
  41698. * will be lost on a rotated data label.
  41699. */
  41700. rotation?: number;
  41701. /**
  41702. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  41703. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  41704. * an object configuration containing `color`, `offsetX`, `offsetY`,
  41705. * `opacity` and `width`.
  41706. */
  41707. shadow?: (boolean|ShadowOptionsObject);
  41708. /**
  41709. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  41710. * the border around the label. Symbols are predefined functions on the
  41711. * Renderer object.
  41712. */
  41713. shape?: string;
  41714. /**
  41715. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  41716. * default `color` setting is `"contrast"`, which is a pseudo color that
  41717. * Highcharts picks up and applies the maximum contrast to the underlying
  41718. * point item, for example the bar in a bar chart.
  41719. *
  41720. * The `textOutline` is a pseudo property that applies an outline of the
  41721. * given width with the given color, which by default is the maximum
  41722. * contrast to the text. So a bright text color will result in a black text
  41723. * outline for maximum readability on a mixed background. In some cases,
  41724. * especially with grayscale text, the text outline doesn't work well, in
  41725. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  41726. * is true, the `textOutline` will not be picked up. In this, case, the same
  41727. * effect can be acheived through the `text-shadow` CSS property.
  41728. *
  41729. * For some series types, where each point has an extent, like for example
  41730. * tree maps, the data label may overflow the point. There are two
  41731. * strategies for handling overflow. By default, the text will wrap to
  41732. * multiple lines. The other strategy is to set `style.textOverflow` to
  41733. * `ellipsis`, which will keep the text on one line plus it will break
  41734. * inside long words.
  41735. */
  41736. style?: CSSObject;
  41737. /**
  41738. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  41739. * should follow marker's shape. Border and background are disabled for a
  41740. * label that follows a path.
  41741. *
  41742. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  41743. * to true will disable this option.
  41744. */
  41745. textPath?: DataLabelsTextPathOptionsObject;
  41746. /**
  41747. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  41748. * the labels.
  41749. */
  41750. useHTML?: boolean;
  41751. /**
  41752. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  41753. * label. Can be one of `top`, `middle` or `bottom`. The default value
  41754. * depends on the data, for instance in a column chart, the label is above
  41755. * positive values and below negative values.
  41756. */
  41757. verticalAlign?: (VerticalAlignValue|null);
  41758. /**
  41759. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  41760. * label relative to the point in pixels.
  41761. */
  41762. x?: number;
  41763. /**
  41764. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  41765. * label relative to the point in pixels.
  41766. */
  41767. y?: number;
  41768. /**
  41769. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  41770. * The default Z index puts it above the series. Use a Z index of 2 to
  41771. * display it behind the series.
  41772. */
  41773. z?: number;
  41774. }
  41775. /**
  41776. * (Highcharts, Highstock) Options for the series data sorting.
  41777. */
  41778. export interface PlotDpoDataSortingOptions {
  41779. /**
  41780. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  41781. * Use xAxis.reversed to change the sorting order.
  41782. */
  41783. enabled?: boolean;
  41784. /**
  41785. * (Highcharts, Highstock) Whether to allow matching points by name in an
  41786. * update. If this option is disabled, points will be matched by order.
  41787. */
  41788. matchByName?: boolean;
  41789. /**
  41790. * (Highcharts, Highstock) Determines what data value should be used to sort
  41791. * by.
  41792. */
  41793. sortKey?: string;
  41794. }
  41795. /**
  41796. * (Highstock) Detrended Price Oscillator. This series requires the `linkedTo`
  41797. * option to be set and should be loaded after the
  41798. * `stock/indicators/indicators.js`.
  41799. *
  41800. * In TypeScript the type option must always be set.
  41801. *
  41802. * Configuration options for the series are given in three levels:
  41803. *
  41804. * 1. Options for all series in a chart are defined in the plotOptions.series
  41805. * object.
  41806. *
  41807. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  41808. *
  41809. * 3. Options for one single series are given in the series instance array. (see
  41810. * online documentation for example)
  41811. */
  41812. export interface PlotDpoOptions {
  41813. /**
  41814. * (Highstock) Accessibility options for a series.
  41815. */
  41816. accessibility?: SeriesAccessibilityOptionsObject;
  41817. /**
  41818. * (Highstock) Allow this series' points to be selected by clicking on the
  41819. * graphic (columns, point markers, pie slices, map areas etc).
  41820. *
  41821. * The selected points can be handled by point select and unselect events,
  41822. * or collectively by the getSelectedPoints function.
  41823. *
  41824. * And alternative way of selecting points is through dragging.
  41825. */
  41826. allowPointSelect?: boolean;
  41827. /**
  41828. * (Highstock) Enable or disable the initial animation when a series is
  41829. * displayed. The animation can also be set as a configuration object.
  41830. * Please note that this option only applies to the initial animation of the
  41831. * series itself. For other animations, see chart.animation and the
  41832. * animation parameter under the API methods. The following properties are
  41833. * supported:
  41834. *
  41835. * - `defer`: The animation delay time in milliseconds.
  41836. *
  41837. * - `duration`: The duration of the animation in milliseconds.
  41838. *
  41839. * - `easing`: Can be a string reference to an easing function set on the
  41840. * `Math` object or a function. See the _Custom easing function_ demo below.
  41841. *
  41842. * Due to poor performance, animation is disabled in old IE browsers for
  41843. * several chart types.
  41844. */
  41845. animation?: (boolean|PlotDpoAnimationOptions|Partial<AnimationOptionsObject>);
  41846. /**
  41847. * (Highstock) For some series, there is a limit that shuts down initial
  41848. * animation by default when the total number of points in the chart is too
  41849. * high. For example, for a column chart and its derivatives, animation does
  41850. * not run if there is more than 250 points totally. To disable this cap,
  41851. * set `animationLimit` to `Infinity`.
  41852. */
  41853. animationLimit?: number;
  41854. /**
  41855. * (Highstock) Sets the color blending in the boost module.
  41856. */
  41857. boostBlending?: OptionsBoostBlendingValue;
  41858. /**
  41859. * (Highstock) Set the point threshold for when a series should enter boost
  41860. * mode.
  41861. *
  41862. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  41863. * there are 2000 or more points in the series.
  41864. *
  41865. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  41866. * it to 1 will force boosting.
  41867. *
  41868. * Note that the cropThreshold also affects this setting. When zooming in on
  41869. * a series that has fewer points than the `cropThreshold`, all points are
  41870. * rendered although outside the visible plot area, and the `boostThreshold`
  41871. * won't take effect.
  41872. */
  41873. boostThreshold?: number;
  41874. /**
  41875. * (Highmaps) The border color of the map areas.
  41876. *
  41877. * In styled mode, the border stroke is given in the `.highcharts-point`
  41878. * class.
  41879. */
  41880. borderColor?: (ColorString|GradientColorObject|PatternObject);
  41881. /**
  41882. * (Highmaps) The border width of each map area.
  41883. *
  41884. * In styled mode, the border stroke width is given in the
  41885. * `.highcharts-point` class.
  41886. */
  41887. borderWidth?: number;
  41888. /**
  41889. * (Highstock) An additional class name to apply to the series' graphical
  41890. * elements. This option does not replace default class names of the
  41891. * graphical element.
  41892. */
  41893. className?: string;
  41894. /**
  41895. * (Highstock) Disable this option to allow series rendering in the whole
  41896. * plotting area.
  41897. *
  41898. * **Note:** Clipping should be always enabled when chart.zoomType is set
  41899. */
  41900. clip?: boolean;
  41901. /**
  41902. * (Highstock) The main color of the series. In line type series it applies
  41903. * to the line and the point markers unless otherwise specified. In bar type
  41904. * series it applies to the bars unless a color is specified per point. The
  41905. * default value is pulled from the `options.colors` array.
  41906. *
  41907. * In styled mode, the color can be defined by the colorIndex option. Also,
  41908. * the series color can be set with the `.highcharts-series`,
  41909. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  41910. * `.highcharts-series-{n}` class, or individual classes given by the
  41911. * `className` option.
  41912. */
  41913. color?: (ColorString|GradientColorObject|PatternObject);
  41914. /**
  41915. * (Highstock) Styled mode only. A specific color index to use for the
  41916. * series, so its graphic representations are given the class name
  41917. * `highcharts-color-{n}`.
  41918. */
  41919. colorIndex?: number;
  41920. /**
  41921. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  41922. * used to calculate point color if `colorAxis` is used. Requires to set
  41923. * `min` and `max` if some custom point property is used or if approximation
  41924. * for data grouping is set to `'sum'`.
  41925. */
  41926. colorKey?: string;
  41927. /**
  41928. * (Highstock) Defines if comparison should start from the first point
  41929. * within the visible range or should start from the first point **before**
  41930. * the range.
  41931. *
  41932. * In other words, this flag determines if first point within the visible
  41933. * range will have 0% (`compareStart=true`) or should have been already
  41934. * calculated according to the previous point (`compareStart=false`).
  41935. */
  41936. compareStart?: boolean;
  41937. /**
  41938. * (Highstock) Whether to compare indicator to the main series values or
  41939. * indicator values.
  41940. */
  41941. compareToMain?: boolean;
  41942. /**
  41943. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  41944. * series plot across the extremes.
  41945. */
  41946. connectEnds?: boolean;
  41947. /**
  41948. * (Highcharts, Highstock) Whether to connect a graph line across null
  41949. * points, or render a gap between the two points on either side of the
  41950. * null.
  41951. */
  41952. connectNulls?: boolean;
  41953. /**
  41954. * (Gantt) Override Pathfinder connector options for a series. Requires
  41955. * Highcharts Gantt to be loaded.
  41956. */
  41957. connectors?: SeriesConnectorsOptionsObject;
  41958. /**
  41959. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  41960. * rounded to its nearest pixel in order to render sharp on screen. In some
  41961. * cases, when there are a lot of densely packed columns, this leads to
  41962. * visible difference in column widths or distance between columns. In these
  41963. * cases, setting `crisp` to `false` may look better, even though each
  41964. * column is rendered blurry.
  41965. */
  41966. crisp?: boolean;
  41967. /**
  41968. * (Highcharts, Highstock) When the series contains less points than the
  41969. * crop threshold, all points are drawn, even if the points fall outside the
  41970. * visible plot area at the current zoom. The advantage of drawing all
  41971. * points (including markers and columns), is that animation is performed on
  41972. * updates. On the other hand, when the series contains more points than the
  41973. * crop threshold, the series data is cropped to only contain points that
  41974. * fall within the plot area. The advantage of cropping away invisible
  41975. * points is to increase performance on large series.
  41976. */
  41977. cropThreshold?: number;
  41978. /**
  41979. * (Highstock) You can set the cursor to "pointer" if you have click events
  41980. * attached to the series, to signal to the user that the points and lines
  41981. * can be clicked.
  41982. *
  41983. * In styled mode, the series cursor can be set with the same classes as
  41984. * listed under series.color.
  41985. */
  41986. cursor?: (string|CursorValue);
  41987. /**
  41988. * (Highstock) A reserved subspace to store options and values for
  41989. * customized functionality. Here you can add additional data for your own
  41990. * event callbacks and formatter callbacks.
  41991. */
  41992. custom?: Dictionary<any>;
  41993. /**
  41994. * (Highstock) Name of the dash style to use for the graph, or for some
  41995. * series types the outline of each shape.
  41996. *
  41997. * In styled mode, the stroke dash-array can be set with the same classes as
  41998. * listed under series.color.
  41999. */
  42000. dashStyle?: DashStyleValue;
  42001. /**
  42002. * (Highstock) Data grouping is the concept of sampling the data values into
  42003. * larger blocks in order to ease readability and increase performance of
  42004. * the JavaScript charts. Highcharts Stock by default applies data grouping
  42005. * when the points become closer than a certain pixel value, determined by
  42006. * the `groupPixelWidth` option.
  42007. *
  42008. * If data grouping is applied, the grouping information of grouped points
  42009. * can be read from the Point.dataGroup. If point options other than the
  42010. * data itself are set, for example `name` or `color` or custom properties,
  42011. * the grouping logic doesn't know how to group it. In this case the options
  42012. * of the first point instance are copied over to the group point. This can
  42013. * be altered through a custom `approximation` callback function.
  42014. */
  42015. dataGrouping?: DataGroupingOptionsObject;
  42016. /**
  42017. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  42018. * labels, appearing next to each data point.
  42019. *
  42020. * Since v6.2.0, multiple data labels can be applied to each single point by
  42021. * defining them as an array of configs.
  42022. *
  42023. * In styled mode, the data labels can be styled with the
  42024. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  42025. * (see example).
  42026. */
  42027. dataLabels?: (PlotDpoDataLabelsOptions|Array<PlotDpoDataLabelsOptions>);
  42028. /**
  42029. * (Highcharts, Highstock) Options for the series data sorting.
  42030. */
  42031. dataSorting?: (DataSortingOptionsObject|PlotDpoDataSortingOptions);
  42032. /**
  42033. * (Highstock) A description of the series to add to the screen reader
  42034. * information about the series.
  42035. */
  42036. description?: string;
  42037. /**
  42038. * (Highstock) Enable or disable the mouse tracking for a specific series.
  42039. * This includes point tooltips and click events on graphs and points. For
  42040. * large datasets it improves performance.
  42041. */
  42042. enableMouseTracking?: boolean;
  42043. /**
  42044. * (Highstock) General event handlers for the series items. These event
  42045. * hooks can also be attached to the series at run time using the
  42046. * `Highcharts.addEvent` function.
  42047. */
  42048. events?: SeriesEventsOptionsObject;
  42049. /**
  42050. * (Highstock) Determines whether the series should look for the nearest
  42051. * point in both dimensions or just the x-dimension when hovering the
  42052. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  42053. * series. If the data has duplicate x-values, it is recommended to set this
  42054. * to `'xy'` to allow hovering over all points.
  42055. *
  42056. * Applies only to series types using nearest neighbor search (not direct
  42057. * hover) for tooltip.
  42058. */
  42059. findNearestPointBy?: OptionsFindNearestPointByValue;
  42060. /**
  42061. * (Highstock) Defines when to display a gap in the graph, together with the
  42062. * gapUnit option.
  42063. *
  42064. * In case when `dataGrouping` is enabled, points can be grouped into a
  42065. * larger time span. This can make the grouped points to have a greater
  42066. * distance than the absolute value of `gapSize` property, which will result
  42067. * in disappearing graph completely. To prevent this situation the mentioned
  42068. * distance between grouped points is used instead of previously defined
  42069. * `gapSize`.
  42070. *
  42071. * In practice, this option is most often used to visualize gaps in time
  42072. * series. In a stock chart, intraday data is available for daytime hours,
  42073. * while gaps will appear in nights and weekends.
  42074. */
  42075. gapSize?: number;
  42076. /**
  42077. * (Highstock) Together with gapSize, this option defines where to draw gaps
  42078. * in the graph.
  42079. *
  42080. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  42081. * if the distance between two points is greater than 5 times that of the
  42082. * two closest points, the graph will be broken.
  42083. *
  42084. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  42085. * values, which on a datetime axis is milliseconds. This also applies to
  42086. * the navigator series that inherits gap options from the base series.
  42087. */
  42088. gapUnit?: OptionsGapUnitValue;
  42089. /**
  42090. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  42091. * chart width or only the zoomed area when zooming in on parts of the X
  42092. * axis. By default, the Y axis adjusts to the min and max of the visible
  42093. * data. Cartesian series only.
  42094. */
  42095. getExtremesFromAll?: boolean;
  42096. /**
  42097. * (Highstock) When set to `false` will prevent the series data from being
  42098. * included in any form of data export.
  42099. *
  42100. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  42101. * `includeInCSVExport`.
  42102. */
  42103. includeInDataExport?: boolean;
  42104. /**
  42105. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  42106. * series as possible in a natural way, seeking to avoid other series. The
  42107. * goal of this feature is to make the chart more easily readable, like if a
  42108. * human designer placed the labels in the optimal position.
  42109. *
  42110. * The series labels currently work with series types having a `graph` or an
  42111. * `area`.
  42112. */
  42113. label?: SeriesLabelOptionsObject;
  42114. /**
  42115. * (Highstock) The line marks the last price from all points.
  42116. */
  42117. lastPrice?: SeriesLastPriceOptionsObject;
  42118. /**
  42119. * (Highstock) The line marks the last price from visible range of points.
  42120. */
  42121. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  42122. /**
  42123. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  42124. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  42125. * the ends and bends.
  42126. */
  42127. linecap?: SeriesLinecapValue;
  42128. /**
  42129. * (Highcharts, Highstock) Pixel width of the graph line.
  42130. */
  42131. lineWidth?: number;
  42132. /**
  42133. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  42134. * based on. Required for this indicator.
  42135. */
  42136. linkedTo?: string;
  42137. /**
  42138. * (Highstock) Options for the point markers of line-like series. Properties
  42139. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  42140. * appearance of the markers. Other series types, like column series, don't
  42141. * have markers, but have visual options on the series level instead.
  42142. *
  42143. * In styled mode, the markers can be styled with the `.highcharts-point`,
  42144. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  42145. */
  42146. marker?: PointMarkerOptionsObject;
  42147. /**
  42148. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  42149. * If not set, it will be based on a technical indicator type and default
  42150. * params.
  42151. */
  42152. name?: string;
  42153. /**
  42154. * (Highstock) The color for the parts of the graph or points that are below
  42155. * the threshold. Note that `zones` takes precedence over the negative
  42156. * color. Using `negativeColor` is equivalent to applying a zone with value
  42157. * of 0.
  42158. */
  42159. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  42160. /**
  42161. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  42162. * dataLabels.
  42163. */
  42164. opacity?: number;
  42165. /**
  42166. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  42167. * series points.
  42168. */
  42169. params?: PlotDpoParamsOptions;
  42170. /**
  42171. * (Highstock) Properties for each single point.
  42172. */
  42173. point?: PlotSeriesPointOptions;
  42174. /**
  42175. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  42176. * individual series. Overrides the chart wide configuration.
  42177. */
  42178. pointDescriptionFormatter?: Function;
  42179. /**
  42180. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  42181. * true, the checkbox next to the series name in the legend will be checked
  42182. * for a selected series.
  42183. */
  42184. selected?: boolean;
  42185. /**
  42186. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  42187. * the shadow can be an object configuration containing `color`, `offsetX`,
  42188. * `offsetY`, `opacity` and `width`.
  42189. */
  42190. shadow?: (boolean|ShadowOptionsObject);
  42191. /**
  42192. * (Highstock) If true, a checkbox is displayed next to the legend item to
  42193. * allow selecting the series. The state of the checkbox is determined by
  42194. * the `selected` option.
  42195. */
  42196. showCheckbox?: boolean;
  42197. /**
  42198. * (Highstock) Whether to display this particular series or series type in
  42199. * the legend. Standalone series are shown in legend by default, and linked
  42200. * series are not. Since v7.2.0 it is possible to show series that use
  42201. * colorAxis by setting this option to `true`.
  42202. */
  42203. showInLegend?: boolean;
  42204. /**
  42205. * (Highstock) If set to `true`, the accessibility module will skip past the
  42206. * points in this series for keyboard navigation.
  42207. */
  42208. skipKeyboardNavigation?: boolean;
  42209. /**
  42210. * (Highcharts, Highstock) When this is true, the series will not cause the
  42211. * Y axis to cross the zero plane (or threshold option) unless the data
  42212. * actually crosses the plane.
  42213. *
  42214. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  42215. * make the Y axis show negative values according to the `minPadding`
  42216. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  42217. */
  42218. softThreshold?: boolean;
  42219. states?: SeriesStatesOptionsObject;
  42220. /**
  42221. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  42222. * values are `left`, `center` and `right`.
  42223. */
  42224. step?: OptionsStepValue;
  42225. /**
  42226. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  42227. * event on a series isn't triggered until the mouse moves over another
  42228. * series, or out of the plot area. When false, the `mouseOut` event on a
  42229. * series is triggered when the mouse leaves the area around the series'
  42230. * graph or markers. This also implies the tooltip when not shared. When
  42231. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  42232. * be hidden when moving the mouse between series. Defaults to true for line
  42233. * and area type series, but to false for columns, pies etc.
  42234. *
  42235. * **Note:** The boost module will force this option because of technical
  42236. * limitations.
  42237. */
  42238. stickyTracking?: boolean;
  42239. /**
  42240. * (Highcharts, Highstock) The threshold, also called zero level or base
  42241. * level. For line type series this is only used in conjunction with
  42242. * negativeColor.
  42243. */
  42244. threshold?: (number|null);
  42245. /**
  42246. * (Highstock) A configuration object for the tooltip rendering of each
  42247. * single series. Properties are inherited from tooltip, but only the
  42248. * following properties can be defined on a series level.
  42249. */
  42250. tooltip?: SeriesTooltipOptionsObject;
  42251. /**
  42252. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  42253. * is longer than this, only one dimensional arrays of numbers, or two
  42254. * dimensional arrays with x and y values are allowed. Also, only the first
  42255. * point is tested, and the rest are assumed to be the same format. This
  42256. * saves expensive data checking and indexing in long series. Set it to `0`
  42257. * disable.
  42258. *
  42259. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  42260. * two dimensional arrays are allowed.
  42261. */
  42262. turboThreshold?: number;
  42263. /**
  42264. * (Highstock) Set the initial visibility of the series.
  42265. */
  42266. visible?: boolean;
  42267. /**
  42268. * (Highmaps) Define the z index of the series.
  42269. */
  42270. zIndex?: number;
  42271. /**
  42272. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  42273. */
  42274. zoneAxis?: string;
  42275. /**
  42276. * (Highcharts, Highstock) An array defining zones within a series. Zones
  42277. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  42278. * the `zoneAxis` option. The zone definitions have to be in ascending order
  42279. * regarding to the value.
  42280. *
  42281. * In styled mode, the color zones are styled with the
  42282. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  42283. * option (view live demo).
  42284. */
  42285. zones?: Array<SeriesZonesOptionsObject>;
  42286. }
  42287. /**
  42288. * (Highstock) Parameters used in calculation of Detrended Price Oscillator
  42289. * series points.
  42290. */
  42291. export interface PlotDpoParamsOptions {
  42292. /**
  42293. * (Highstock) The point index which indicator calculations will base. For
  42294. * example using OHLC data, index=2 means the indicator will be calculated
  42295. * using Low values.
  42296. */
  42297. index?: number;
  42298. /**
  42299. * (Highstock) Period for Detrended Price Oscillator
  42300. */
  42301. period?: number;
  42302. }
  42303. /**
  42304. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  42305. * is displayed. The animation can also be set as a configuration object. Please
  42306. * note that this option only applies to the initial animation of the series
  42307. * itself. For other animations, see chart.animation and the animation parameter
  42308. * under the API methods. The following properties are supported:
  42309. *
  42310. * - `defer`: The animation delay time in milliseconds.
  42311. *
  42312. * - `duration`: The duration of the animation in milliseconds.
  42313. *
  42314. * - `easing`: Can be a string reference to an easing function set on the `Math`
  42315. * object or a function. See the _Custom easing function_ demo below.
  42316. *
  42317. * Due to poor performance, animation is disabled in old IE browsers for several
  42318. * chart types.
  42319. */
  42320. export interface PlotDumbbellAnimationOptions {
  42321. defer?: number;
  42322. }
  42323. /**
  42324. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  42325. * is displayed for the `dataLabels`. The animation can also be set as a
  42326. * configuration object. Please note that this option only applies to the
  42327. * initial animation. For other animations, see chart.animation and the
  42328. * animation parameter under the API methods. The following properties are
  42329. * supported:
  42330. *
  42331. * - `defer`: The animation delay time in milliseconds.
  42332. */
  42333. export interface PlotDumbbellDataLabelsAnimationOptions {
  42334. /**
  42335. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  42336. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  42337. * from the series.animation.defer.
  42338. */
  42339. defer?: number;
  42340. }
  42341. /**
  42342. * (Highcharts, Highstock) Options for the series data sorting.
  42343. */
  42344. export interface PlotDumbbellDataSortingOptions {
  42345. /**
  42346. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  42347. * Use xAxis.reversed to change the sorting order.
  42348. */
  42349. enabled?: boolean;
  42350. /**
  42351. * (Highcharts, Highstock) Whether to allow matching points by name in an
  42352. * update. If this option is disabled, points will be matched by order.
  42353. */
  42354. matchByName?: boolean;
  42355. /**
  42356. * (Highcharts, Highstock) Determines what data value should be used to sort
  42357. * by.
  42358. */
  42359. sortKey?: string;
  42360. }
  42361. /**
  42362. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  42363. * one state by default, the `default` state.
  42364. */
  42365. export interface PlotDumbbellDragDropGuideBoxOptions {
  42366. /**
  42367. * (Highcharts, Highstock) Style options for the guide box default state.
  42368. */
  42369. default?: DragDropGuideBoxOptionsObject;
  42370. }
  42371. /**
  42372. * (Highcharts, Highstock) The dumbbell series is a cartesian series with higher
  42373. * and lower values for each point along an X axis, connected with a line
  42374. * between the values.
  42375. *
  42376. * Requires `highcharts-more.js` and `modules/dumbbell.js`.
  42377. *
  42378. * In TypeScript the type option must always be set.
  42379. *
  42380. * Configuration options for the series are given in three levels:
  42381. *
  42382. * 1. Options for all series in a chart are defined in the plotOptions.series
  42383. * object.
  42384. *
  42385. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  42386. *
  42387. * 3. Options for one single series are given in the series instance array. (see
  42388. * online documentation for example)
  42389. */
  42390. export interface PlotDumbbellOptions {
  42391. /**
  42392. * (Highcharts, Highstock) Accessibility options for a series.
  42393. */
  42394. accessibility?: SeriesAccessibilityOptionsObject;
  42395. /**
  42396. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  42397. * rendered. If `true`, areas which don't correspond to a data point, are
  42398. * rendered as `null` points. If `false`, those areas are skipped.
  42399. */
  42400. allAreas?: boolean;
  42401. /**
  42402. * (Highcharts, Highstock) Allow this series' points to be selected by
  42403. * clicking on the graphic (columns, point markers, pie slices, map areas
  42404. * etc).
  42405. *
  42406. * The selected points can be handled by point select and unselect events,
  42407. * or collectively by the getSelectedPoints function.
  42408. *
  42409. * And alternative way of selecting points is through dragging.
  42410. */
  42411. allowPointSelect?: boolean;
  42412. /**
  42413. * (Highcharts, Highstock) Enable or disable the initial animation when a
  42414. * series is displayed. The animation can also be set as a configuration
  42415. * object. Please note that this option only applies to the initial
  42416. * animation of the series itself. For other animations, see chart.animation
  42417. * and the animation parameter under the API methods. The following
  42418. * properties are supported:
  42419. *
  42420. * - `defer`: The animation delay time in milliseconds.
  42421. *
  42422. * - `duration`: The duration of the animation in milliseconds.
  42423. *
  42424. * - `easing`: Can be a string reference to an easing function set on the
  42425. * `Math` object or a function. See the _Custom easing function_ demo below.
  42426. *
  42427. * Due to poor performance, animation is disabled in old IE browsers for
  42428. * several chart types.
  42429. */
  42430. animation?: (boolean|PlotDumbbellAnimationOptions|Partial<AnimationOptionsObject>);
  42431. /**
  42432. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  42433. * initial animation by default when the total number of points in the chart
  42434. * is too high. For example, for a column chart and its derivatives,
  42435. * animation does not run if there is more than 250 points totally. To
  42436. * disable this cap, set `animationLimit` to `Infinity`.
  42437. */
  42438. animationLimit?: number;
  42439. /**
  42440. * (Highmaps) The border color of the map areas.
  42441. *
  42442. * In styled mode, the border stroke is given in the `.highcharts-point`
  42443. * class.
  42444. */
  42445. borderColor?: (ColorString|GradientColorObject|PatternObject);
  42446. /**
  42447. * (Highmaps) The border width of each map area.
  42448. *
  42449. * In styled mode, the border stroke width is given in the
  42450. * `.highcharts-point` class.
  42451. */
  42452. borderWidth?: number;
  42453. /**
  42454. * (Highcharts, Highstock) An additional class name to apply to the series'
  42455. * graphical elements. This option does not replace default class names of
  42456. * the graphical element.
  42457. */
  42458. className?: string;
  42459. /**
  42460. * (Highcharts, Highstock) Disable this option to allow series rendering in
  42461. * the whole plotting area.
  42462. *
  42463. * **Note:** Clipping should be always enabled when chart.zoomType is set
  42464. */
  42465. clip?: boolean;
  42466. /**
  42467. * (Highcharts, Highstock) The main color of the series. In line type series
  42468. * it applies to the line and the point markers unless otherwise specified.
  42469. * In bar type series it applies to the bars unless a color is specified per
  42470. * point. The default value is pulled from the `options.colors` array.
  42471. *
  42472. * In styled mode, the color can be defined by the colorIndex option. Also,
  42473. * the series color can be set with the `.highcharts-series`,
  42474. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  42475. * `.highcharts-series-{n}` class, or individual classes given by the
  42476. * `className` option.
  42477. */
  42478. color?: (ColorString|GradientColorObject|PatternObject);
  42479. /**
  42480. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  42481. * this number defines which colorAxis the particular series is connected
  42482. * to. It refers to either the axis id or the index of the axis in the
  42483. * colorAxis array, with 0 being the first. Set this option to false to
  42484. * prevent a series from connecting to the default color axis.
  42485. *
  42486. * Since v7.2.0 the option can also be an axis id or an axis index instead
  42487. * of a boolean flag.
  42488. */
  42489. colorAxis?: (boolean|number|string);
  42490. /**
  42491. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  42492. * for the series, so its graphic representations are given the class name
  42493. * `highcharts-color-{n}`.
  42494. */
  42495. colorIndex?: number;
  42496. /**
  42497. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  42498. * used to calculate point color if `colorAxis` is used. Requires to set
  42499. * `min` and `max` if some custom point property is used or if approximation
  42500. * for data grouping is set to `'sum'`.
  42501. */
  42502. colorKey?: string;
  42503. /**
  42504. * (Highstock) Compare the values of the series against the first non-null,
  42505. * non- zero value in the visible range. The y axis will show percentage or
  42506. * absolute change depending on whether `compare` is set to `"percent"` or
  42507. * `"value"`. When this is applied to multiple series, it allows comparing
  42508. * the development of the series against each other. Adds a `change` field
  42509. * to every point object.
  42510. */
  42511. compare?: string;
  42512. /**
  42513. * (Highstock) When compare is `percent`, this option dictates whether to
  42514. * use 0 or 100 as the base of comparison.
  42515. */
  42516. compareBase?: (0|100);
  42517. /**
  42518. * (Highstock) Defines if comparison should start from the first point
  42519. * within the visible range or should start from the first point **before**
  42520. * the range.
  42521. *
  42522. * In other words, this flag determines if first point within the visible
  42523. * range will have 0% (`compareStart=true`) or should have been already
  42524. * calculated according to the previous point (`compareStart=false`).
  42525. */
  42526. compareStart?: boolean;
  42527. /**
  42528. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  42529. * series plot across the extremes.
  42530. */
  42531. connectEnds?: boolean;
  42532. /**
  42533. * (Highcharts, Highstock) Whether to connect a graph line across null
  42534. * points, or render a gap between the two points on either side of the
  42535. * null.
  42536. */
  42537. connectNulls?: boolean;
  42538. /**
  42539. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  42540. * point's values. By default it is the series' color.
  42541. */
  42542. connectorColor?: string;
  42543. /**
  42544. * (Gantt) Override Pathfinder connector options for a series. Requires
  42545. * Highcharts Gantt to be loaded.
  42546. */
  42547. connectors?: SeriesConnectorsOptionsObject;
  42548. /**
  42549. * (Highcharts, Highstock) Pixel width of the line that connects the
  42550. * dumbbell point's values.
  42551. */
  42552. connectorWidth?: number;
  42553. /**
  42554. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  42555. * rounded to its nearest pixel in order to render sharp on screen. In some
  42556. * cases, when there are a lot of densely packed columns, this leads to
  42557. * visible difference in column widths or distance between columns. In these
  42558. * cases, setting `crisp` to `false` may look better, even though each
  42559. * column is rendered blurry.
  42560. */
  42561. crisp?: boolean;
  42562. /**
  42563. * (Highcharts, Highstock) When the series contains less points than the
  42564. * crop threshold, all points are drawn, even if the points fall outside the
  42565. * visible plot area at the current zoom. The advantage of drawing all
  42566. * points (including markers and columns), is that animation is performed on
  42567. * updates. On the other hand, when the series contains more points than the
  42568. * crop threshold, the series data is cropped to only contain points that
  42569. * fall within the plot area. The advantage of cropping away invisible
  42570. * points is to increase performance on large series.
  42571. */
  42572. cropThreshold?: number;
  42573. /**
  42574. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  42575. * click events attached to the series, to signal to the user that the
  42576. * points and lines can be clicked.
  42577. *
  42578. * In styled mode, the series cursor can be set with the same classes as
  42579. * listed under series.color.
  42580. */
  42581. cursor?: (string|CursorValue);
  42582. /**
  42583. * (Highcharts, Highstock) A reserved subspace to store options and values
  42584. * for customized functionality. Here you can add additional data for your
  42585. * own event callbacks and formatter callbacks.
  42586. */
  42587. custom?: Dictionary<any>;
  42588. /**
  42589. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  42590. * for some series types the outline of each shape.
  42591. *
  42592. * In styled mode, the stroke dash-array can be set with the same classes as
  42593. * listed under series.color.
  42594. */
  42595. dashStyle?: DashStyleValue;
  42596. /**
  42597. * (Highstock) Data grouping is the concept of sampling the data values into
  42598. * larger blocks in order to ease readability and increase performance of
  42599. * the JavaScript charts. Highcharts Stock by default applies data grouping
  42600. * when the points become closer than a certain pixel value, determined by
  42601. * the `groupPixelWidth` option.
  42602. *
  42603. * If data grouping is applied, the grouping information of grouped points
  42604. * can be read from the Point.dataGroup. If point options other than the
  42605. * data itself are set, for example `name` or `color` or custom properties,
  42606. * the grouping logic doesn't know how to group it. In this case the options
  42607. * of the first point instance are copied over to the group point. This can
  42608. * be altered through a custom `approximation` callback function.
  42609. */
  42610. dataGrouping?: DataGroupingOptionsObject;
  42611. /**
  42612. * (Highcharts, Highstock) Extended data labels for range series types.
  42613. * Range series data labels use no `x` and `y` options. Instead, they have
  42614. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  42615. * data label sets individually.
  42616. */
  42617. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  42618. /**
  42619. * (Highcharts, Highstock) Options for the series data sorting.
  42620. */
  42621. dataSorting?: (DataSortingOptionsObject|PlotDumbbellDataSortingOptions);
  42622. /**
  42623. * (Highcharts, Highstock) A description of the series to add to the screen
  42624. * reader information about the series.
  42625. */
  42626. description?: string;
  42627. /**
  42628. * (Highcharts, Highstock) The draggable-points module allows points to be
  42629. * moved around or modified in the chart. In addition to the options
  42630. * mentioned under the `dragDrop` API structure, the module fires three
  42631. * events, point.dragStart, point.drag and point.drop.
  42632. */
  42633. dragDrop?: SeriesDragDropOptionsObject;
  42634. /**
  42635. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  42636. * specific series. This includes point tooltips and click events on graphs
  42637. * and points. For large datasets it improves performance.
  42638. */
  42639. enableMouseTracking?: boolean;
  42640. /**
  42641. * (Highcharts, Highstock) General event handlers for the series items.
  42642. * These event hooks can also be attached to the series at run time using
  42643. * the `Highcharts.addEvent` function.
  42644. */
  42645. events?: SeriesEventsOptionsObject;
  42646. /**
  42647. * (Highcharts, Highstock) Determines whether the series should look for the
  42648. * nearest point in both dimensions or just the x-dimension when hovering
  42649. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  42650. * other series. If the data has duplicate x-values, it is recommended to
  42651. * set this to `'xy'` to allow hovering over all points.
  42652. *
  42653. * Applies only to series types using nearest neighbor search (not direct
  42654. * hover) for tooltip.
  42655. */
  42656. findNearestPointBy?: OptionsFindNearestPointByValue;
  42657. /**
  42658. * (Highstock) Defines when to display a gap in the graph, together with the
  42659. * gapUnit option.
  42660. *
  42661. * In case when `dataGrouping` is enabled, points can be grouped into a
  42662. * larger time span. This can make the grouped points to have a greater
  42663. * distance than the absolute value of `gapSize` property, which will result
  42664. * in disappearing graph completely. To prevent this situation the mentioned
  42665. * distance between grouped points is used instead of previously defined
  42666. * `gapSize`.
  42667. *
  42668. * In practice, this option is most often used to visualize gaps in time
  42669. * series. In a stock chart, intraday data is available for daytime hours,
  42670. * while gaps will appear in nights and weekends.
  42671. */
  42672. gapSize?: number;
  42673. /**
  42674. * (Highstock) Together with gapSize, this option defines where to draw gaps
  42675. * in the graph.
  42676. *
  42677. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  42678. * if the distance between two points is greater than 5 times that of the
  42679. * two closest points, the graph will be broken.
  42680. *
  42681. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  42682. * values, which on a datetime axis is milliseconds. This also applies to
  42683. * the navigator series that inherits gap options from the base series.
  42684. */
  42685. gapUnit?: OptionsGapUnitValue;
  42686. /**
  42687. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  42688. * chart width or only the zoomed area when zooming in on parts of the X
  42689. * axis. By default, the Y axis adjusts to the min and max of the visible
  42690. * data. Cartesian series only.
  42691. */
  42692. getExtremesFromAll?: boolean;
  42693. groupPadding?: number;
  42694. /**
  42695. * (Highcharts, Highstock) When set to `false` will prevent the series data
  42696. * from being included in any form of data export.
  42697. *
  42698. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  42699. * `includeInCSVExport`.
  42700. */
  42701. includeInDataExport?: boolean;
  42702. /**
  42703. * (Highmaps) What property to join the `mapData` to the value data. For
  42704. * example, if joinBy is "code", the mapData items with a specific code is
  42705. * merged into the data with the same code. For maps loaded from GeoJSON,
  42706. * the keys may be held in each point's `properties` object.
  42707. *
  42708. * The joinBy option can also be an array of two values, where the first
  42709. * points to a key in the `mapData`, and the second points to another key in
  42710. * the `data`.
  42711. *
  42712. * When joinBy is `null`, the map items are joined by their position in the
  42713. * array, which performs much better in maps with many data points. This is
  42714. * the recommended option if you are printing more than a thousand data
  42715. * points and have a backend that can preprocess the data into a parallel
  42716. * array of the mapData.
  42717. */
  42718. joinBy?: (string|Array<string>);
  42719. /**
  42720. * (Highcharts, Highstock) An array specifying which option maps to which
  42721. * key in the data point array. This makes it convenient to work with
  42722. * unstructured data arrays from different sources.
  42723. */
  42724. keys?: Array<string>;
  42725. /**
  42726. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  42727. * series as possible in a natural way, seeking to avoid other series. The
  42728. * goal of this feature is to make the chart more easily readable, like if a
  42729. * human designer placed the labels in the optimal position.
  42730. *
  42731. * The series labels currently work with series types having a `graph` or an
  42732. * `area`.
  42733. */
  42734. label?: SeriesLabelOptionsObject;
  42735. /**
  42736. * (Highstock) The line marks the last price from all points.
  42737. */
  42738. lastPrice?: SeriesLastPriceOptionsObject;
  42739. /**
  42740. * (Highstock) The line marks the last price from visible range of points.
  42741. */
  42742. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  42743. /**
  42744. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  42745. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  42746. * the ends and bends.
  42747. */
  42748. linecap?: SeriesLinecapValue;
  42749. /**
  42750. * (Highcharts, Highstock) A separate color for the graph line. By default
  42751. * the line takes the `color` of the series, but the lineColor setting
  42752. * allows setting a separate color for the line without altering the
  42753. * `fillColor`.
  42754. *
  42755. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  42756. * class name.
  42757. */
  42758. lineColor?: (ColorString|GradientColorObject|PatternObject);
  42759. /**
  42760. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  42761. * Additionally, the value can be ":previous" to link to the previous
  42762. * series. When two series are linked, only the first one appears in the
  42763. * legend. Toggling the visibility of this also toggles the linked series.
  42764. *
  42765. * If master series uses data sorting and linked series does not have its
  42766. * own sorting definition, the linked series will be sorted in the same
  42767. * order as the master one.
  42768. */
  42769. linkedTo?: string;
  42770. /**
  42771. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  42772. */
  42773. lowColor?: (ColorString|GradientColorObject|PatternObject);
  42774. /**
  42775. * (Highcharts, Highstock) Options for the point markers of line-like
  42776. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  42777. * the visual appearance of the markers. Other series types, like column
  42778. * series, don't have markers, but have visual options on the series level
  42779. * instead.
  42780. *
  42781. * In styled mode, the markers can be styled with the `.highcharts-point`,
  42782. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  42783. */
  42784. marker?: PointMarkerOptionsObject;
  42785. /**
  42786. * (Highstock) Options for the corresponding navigator series if
  42787. * `showInNavigator` is `true` for this series. Available options are the
  42788. * same as any series, documented at plotOptions and series.
  42789. *
  42790. * These options are merged with options in navigator.series, and will take
  42791. * precedence if the same option is defined both places.
  42792. */
  42793. navigatorOptions?: PlotSeriesOptions;
  42794. /**
  42795. * (Highcharts, Highstock) The color for the parts of the graph or points
  42796. * that are below the threshold. Note that `zones` takes precedence over the
  42797. * negative color. Using `negativeColor` is equivalent to applying a zone
  42798. * with value of 0.
  42799. */
  42800. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  42801. /**
  42802. * (Highcharts) A separate color for the negative part of the area.
  42803. *
  42804. * In styled mode, a negative color is set with the `.highcharts-negative`
  42805. * class name.
  42806. */
  42807. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  42808. /**
  42809. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  42810. * and dataLabels.
  42811. */
  42812. opacity?: number;
  42813. /**
  42814. * (Highcharts, Highstock) Properties for each single point.
  42815. */
  42816. point?: PlotSeriesPointOptions;
  42817. /**
  42818. * (Highcharts, Highstock) Same as
  42819. * accessibility.series.descriptionFormatter, but for an individual series.
  42820. * Overrides the chart wide configuration.
  42821. */
  42822. pointDescriptionFormatter?: Function;
  42823. /**
  42824. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42825. * a series, `pointInterval` defines the interval of the x values. For
  42826. * example, if a series contains one value every decade starting from year
  42827. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  42828. * `pointInterval` is set in milliseconds.
  42829. *
  42830. * It can be also be combined with `pointIntervalUnit` to draw irregular
  42831. * time intervals.
  42832. *
  42833. * Please note that this options applies to the _series data_, not the
  42834. * interval of the axis ticks, which is independent.
  42835. */
  42836. pointInterval?: number;
  42837. /**
  42838. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  42839. * setting the pointInterval to irregular time units, `day`, `month` and
  42840. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  42841. * also takes the DST crossover into consideration when dealing with local
  42842. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  42843. * months, 10 years etc.
  42844. *
  42845. * Please note that this options applies to the _series data_, not the
  42846. * interval of the axis ticks, which is independent.
  42847. */
  42848. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  42849. pointPadding?: number;
  42850. /**
  42851. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  42852. * `number`.
  42853. *
  42854. * In a column chart, when pointPlacement is `"on"`, the point will not
  42855. * create any padding of the X axis. In a polar column chart this means that
  42856. * the first column points directly north. If the pointPlacement is
  42857. * `"between"`, the columns will be laid out between ticks. This is useful
  42858. * for example for visualising an amount between two points in time or in a
  42859. * certain sector of a polar chart.
  42860. *
  42861. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  42862. * is on the axis value, -0.5 is between this value and the previous, and
  42863. * 0.5 is between this value and the next. Unlike the textual options,
  42864. * numeric point placement options won't affect axis padding.
  42865. *
  42866. * Note that pointPlacement needs a pointRange to work. For column series
  42867. * this is computed, but for line-type series it needs to be set.
  42868. *
  42869. * For the `xrange` series type and gantt charts, if the Y axis is a
  42870. * category axis, the `pointPlacement` applies to the Y axis rather than the
  42871. * (typically datetime) X axis.
  42872. *
  42873. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  42874. */
  42875. pointPlacement?: (number|string);
  42876. /**
  42877. * (Highstock) The width of each point on the x axis. For example in a
  42878. * column chart with one value each day, the pointRange would be 1 day (= 24
  42879. * * 3600
  42880. *
  42881. * * 1000 milliseconds). This is normally computed automatically, but this
  42882. * option can be used to override the automatic value.
  42883. */
  42884. pointRange?: number;
  42885. /**
  42886. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  42887. * a series, pointStart defines on what value to start. For example, if a
  42888. * series contains one yearly value starting from 1945, set pointStart to
  42889. * 1945.
  42890. */
  42891. pointStart?: number;
  42892. /**
  42893. * (Highcharts, Highstock) Whether to select the series initially. If
  42894. * `showCheckbox` is true, the checkbox next to the series name in the
  42895. * legend will be checked for a selected series.
  42896. */
  42897. selected?: boolean;
  42898. /**
  42899. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  42900. * the shadow can be an object configuration containing `color`, `offsetX`,
  42901. * `offsetY`, `opacity` and `width`.
  42902. */
  42903. shadow?: (boolean|ShadowOptionsObject);
  42904. /**
  42905. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  42906. * legend item to allow selecting the series. The state of the checkbox is
  42907. * determined by the `selected` option.
  42908. */
  42909. showCheckbox?: boolean;
  42910. /**
  42911. * (Highcharts, Highstock) Whether to display this particular series or
  42912. * series type in the legend. Standalone series are shown in legend by
  42913. * default, and linked series are not. Since v7.2.0 it is possible to show
  42914. * series that use colorAxis by setting this option to `true`.
  42915. */
  42916. showInLegend?: boolean;
  42917. /**
  42918. * (Highstock) Whether or not to show the series in the navigator. Takes
  42919. * precedence over navigator.baseSeries if defined.
  42920. */
  42921. showInNavigator?: boolean;
  42922. /**
  42923. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  42924. * skip past the points in this series for keyboard navigation.
  42925. */
  42926. skipKeyboardNavigation?: boolean;
  42927. /**
  42928. * (Highcharts, Highstock) When this is true, the series will not cause the
  42929. * Y axis to cross the zero plane (or threshold option) unless the data
  42930. * actually crosses the plane.
  42931. *
  42932. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  42933. * make the Y axis show negative values according to the `minPadding`
  42934. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  42935. */
  42936. softThreshold?: boolean;
  42937. states?: SeriesStatesOptionsObject;
  42938. /**
  42939. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  42940. * values are `left`, `center` and `right`.
  42941. */
  42942. step?: OptionsStepValue;
  42943. /**
  42944. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  42945. * area, for distinguishing between values above and below a threshold. The
  42946. * area between the graph and the threshold is filled.
  42947. *
  42948. * * If a number is given, the Y axis will scale to the threshold.
  42949. *
  42950. * * If `null`, the scaling behaves like a line series with fill between the
  42951. * graph and the Y axis minimum.
  42952. *
  42953. * * If `Infinity` or `-Infinity`, the area between the graph and the
  42954. * corresponding Y axis extreme is filled (since v6.1.0).
  42955. */
  42956. threshold?: (number|null);
  42957. /**
  42958. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  42959. * of each single series. Properties are inherited from tooltip, but only
  42960. * the following properties can be defined on a series level.
  42961. */
  42962. tooltip?: SeriesTooltipOptionsObject;
  42963. /**
  42964. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  42965. * is longer than this, only one dimensional arrays of numbers, or two
  42966. * dimensional arrays with x and y values are allowed. Also, only the first
  42967. * point is tested, and the rest are assumed to be the same format. This
  42968. * saves expensive data checking and indexing in long series. Set it to `0`
  42969. * disable.
  42970. *
  42971. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  42972. * two dimensional arrays are allowed.
  42973. */
  42974. turboThreshold?: number;
  42975. /**
  42976. * (Highcharts, Highstock) Set the initial visibility of the series.
  42977. */
  42978. visible?: boolean;
  42979. /**
  42980. * (Highmaps) Define the z index of the series.
  42981. */
  42982. zIndex?: number;
  42983. /**
  42984. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  42985. */
  42986. zoneAxis?: string;
  42987. /**
  42988. * (Highcharts, Highstock) An array defining zones within a series. Zones
  42989. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  42990. * the `zoneAxis` option. The zone definitions have to be in ascending order
  42991. * regarding to the value.
  42992. *
  42993. * In styled mode, the color zones are styled with the
  42994. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  42995. * option (view live demo).
  42996. */
  42997. zones?: Array<SeriesZonesOptionsObject>;
  42998. }
  42999. /**
  43000. * (Highstock) Enable or disable the initial animation when a series is
  43001. * displayed. The animation can also be set as a configuration object. Please
  43002. * note that this option only applies to the initial animation of the series
  43003. * itself. For other animations, see chart.animation and the animation parameter
  43004. * under the API methods. The following properties are supported:
  43005. *
  43006. * - `defer`: The animation delay time in milliseconds.
  43007. *
  43008. * - `duration`: The duration of the animation in milliseconds.
  43009. *
  43010. * - `easing`: Can be a string reference to an easing function set on the `Math`
  43011. * object or a function. See the _Custom easing function_ demo below.
  43012. *
  43013. * Due to poor performance, animation is disabled in old IE browsers for several
  43014. * chart types.
  43015. */
  43016. export interface PlotEmaAnimationOptions {
  43017. defer?: number;
  43018. }
  43019. /**
  43020. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43021. * animation when a series is displayed for the `dataLabels`. The animation can
  43022. * also be set as a configuration object. Please note that this option only
  43023. * applies to the initial animation. For other animations, see chart.animation
  43024. * and the animation parameter under the API methods. The following properties
  43025. * are supported:
  43026. *
  43027. * - `defer`: The animation delay time in milliseconds.
  43028. */
  43029. export interface PlotEmaDataLabelsAnimationOptions {
  43030. /**
  43031. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  43032. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  43033. * inherits defer time from the series.animation.defer.
  43034. */
  43035. defer?: number;
  43036. }
  43037. /**
  43038. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  43039. * appearing next to each data point.
  43040. *
  43041. * Since v6.2.0, multiple data labels can be applied to each single point by
  43042. * defining them as an array of configs.
  43043. *
  43044. * In styled mode, the data labels can be styled with the
  43045. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  43046. * example).
  43047. */
  43048. export interface PlotEmaDataLabelsOptions {
  43049. /**
  43050. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  43051. * compared to the point. If `right`, the right side of the label should be
  43052. * touching the point. For points with an extent, like columns, the
  43053. * alignments also dictates how to align it inside the box, as given with
  43054. * the inside option. Can be one of `left`, `center` or `right`.
  43055. */
  43056. align?: (AlignValue|null);
  43057. /**
  43058. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  43059. * overlap. To make the labels less sensitive for overlapping, the
  43060. * dataLabels.padding can be set to 0.
  43061. */
  43062. allowOverlap?: boolean;
  43063. /**
  43064. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43065. * animation when a series is displayed for the `dataLabels`. The animation
  43066. * can also be set as a configuration object. Please note that this option
  43067. * only applies to the initial animation. For other animations, see
  43068. * chart.animation and the animation parameter under the API methods. The
  43069. * following properties are supported:
  43070. *
  43071. * - `defer`: The animation delay time in milliseconds.
  43072. */
  43073. animation?: (boolean|PlotEmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  43074. /**
  43075. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  43076. * for the data label.
  43077. */
  43078. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  43079. /**
  43080. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  43081. * label. Defaults to `undefined`.
  43082. */
  43083. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43084. /**
  43085. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  43086. * the data label.
  43087. */
  43088. borderRadius?: number;
  43089. /**
  43090. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  43091. * the data label.
  43092. */
  43093. borderWidth?: number;
  43094. /**
  43095. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  43096. * Particularly in styled mode, this can be used to give each series' or
  43097. * point's data label unique styling. In addition to this option, a default
  43098. * color class name is added so that we can give the labels a contrast text
  43099. * shadow.
  43100. */
  43101. className?: string;
  43102. /**
  43103. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  43104. * labels. Defaults to `undefined`. For certain series types, like column or
  43105. * map, the data labels can be drawn inside the points. In this case the
  43106. * data label will be drawn with maximum contrast by default. Additionally,
  43107. * it will be given a `text-outline` style with the opposite color, to
  43108. * further increase the contrast. This can be overridden by setting the
  43109. * `text-outline` style to `none` in the `dataLabels.style` option.
  43110. */
  43111. color?: (ColorString|GradientColorObject|PatternObject);
  43112. /**
  43113. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  43114. * are outside the plot area. By default, the data label is moved inside the
  43115. * plot area according to the overflow option.
  43116. */
  43117. crop?: boolean;
  43118. /**
  43119. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  43120. * labels until the initial series animation has finished. Setting to
  43121. * `false` renders the data label immediately. If set to `true` inherits the
  43122. * defer time set in plotOptions.series.animation. If set to a number, a
  43123. * defer time is specified in milliseconds.
  43124. */
  43125. defer?: (boolean|number);
  43126. /**
  43127. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  43128. * labels.
  43129. */
  43130. enabled?: boolean;
  43131. /**
  43132. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  43133. * of which data labels to display. The declarative filter is designed for
  43134. * use when callback functions are not available, like when the chart
  43135. * options require a pure JSON structure or for use with graphical editors.
  43136. * For programmatic control, use the `formatter` instead, and return
  43137. * `undefined` to disable a single data label.
  43138. */
  43139. filter?: DataLabelsFilterOptionsObject;
  43140. /**
  43141. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  43142. * label. Available variables are the same as for `formatter`.
  43143. */
  43144. format?: string;
  43145. /**
  43146. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  43147. * format the data label. Note that if a `format` is defined, the format
  43148. * takes precedence and the formatter is ignored.
  43149. */
  43150. formatter?: DataLabelsFormatterCallbackFunction;
  43151. /**
  43152. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  43153. * columns or map areas, whether to align the data label inside the box or
  43154. * to the actual value point. Defaults to `false` in most cases, `true` in
  43155. * stacked columns.
  43156. */
  43157. inside?: boolean;
  43158. /**
  43159. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  43160. * of null. Works analogously to format. `nullFormat` can be applied only to
  43161. * series which support displaying null points.
  43162. */
  43163. nullFormat?: (boolean|string);
  43164. /**
  43165. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  43166. * that defines formatting for points with the value of null. Works
  43167. * analogously to formatter. `nullPointFormatter` can be applied only to
  43168. * series which support displaying null points.
  43169. */
  43170. nullFormatter?: DataLabelsFormatterCallbackFunction;
  43171. /**
  43172. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  43173. * flow outside the plot area. The default is `"justify"`, which aligns them
  43174. * inside the plot area. For columns and bars, this means it will be moved
  43175. * inside the bar. To display data labels outside the plot area, set `crop`
  43176. * to `false` and `overflow` to `"allow"`.
  43177. */
  43178. overflow?: DataLabelsOverflowValue;
  43179. /**
  43180. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  43181. * the `backgroundColor` is set, this is the padding within the box.
  43182. */
  43183. padding?: number;
  43184. /**
  43185. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  43186. * points. If `center` alignment is not possible, it defaults to `right`.
  43187. */
  43188. position?: AlignValue;
  43189. /**
  43190. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  43191. * that due to a more complex structure, backgrounds, borders and padding
  43192. * will be lost on a rotated data label.
  43193. */
  43194. rotation?: number;
  43195. /**
  43196. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  43197. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  43198. * an object configuration containing `color`, `offsetX`, `offsetY`,
  43199. * `opacity` and `width`.
  43200. */
  43201. shadow?: (boolean|ShadowOptionsObject);
  43202. /**
  43203. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  43204. * the border around the label. Symbols are predefined functions on the
  43205. * Renderer object.
  43206. */
  43207. shape?: string;
  43208. /**
  43209. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  43210. * default `color` setting is `"contrast"`, which is a pseudo color that
  43211. * Highcharts picks up and applies the maximum contrast to the underlying
  43212. * point item, for example the bar in a bar chart.
  43213. *
  43214. * The `textOutline` is a pseudo property that applies an outline of the
  43215. * given width with the given color, which by default is the maximum
  43216. * contrast to the text. So a bright text color will result in a black text
  43217. * outline for maximum readability on a mixed background. In some cases,
  43218. * especially with grayscale text, the text outline doesn't work well, in
  43219. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  43220. * is true, the `textOutline` will not be picked up. In this, case, the same
  43221. * effect can be acheived through the `text-shadow` CSS property.
  43222. *
  43223. * For some series types, where each point has an extent, like for example
  43224. * tree maps, the data label may overflow the point. There are two
  43225. * strategies for handling overflow. By default, the text will wrap to
  43226. * multiple lines. The other strategy is to set `style.textOverflow` to
  43227. * `ellipsis`, which will keep the text on one line plus it will break
  43228. * inside long words.
  43229. */
  43230. style?: CSSObject;
  43231. /**
  43232. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  43233. * should follow marker's shape. Border and background are disabled for a
  43234. * label that follows a path.
  43235. *
  43236. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  43237. * to true will disable this option.
  43238. */
  43239. textPath?: DataLabelsTextPathOptionsObject;
  43240. /**
  43241. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  43242. * the labels.
  43243. */
  43244. useHTML?: boolean;
  43245. /**
  43246. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  43247. * label. Can be one of `top`, `middle` or `bottom`. The default value
  43248. * depends on the data, for instance in a column chart, the label is above
  43249. * positive values and below negative values.
  43250. */
  43251. verticalAlign?: (VerticalAlignValue|null);
  43252. /**
  43253. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  43254. * label relative to the point in pixels.
  43255. */
  43256. x?: number;
  43257. /**
  43258. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  43259. * label relative to the point in pixels.
  43260. */
  43261. y?: number;
  43262. /**
  43263. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  43264. * The default Z index puts it above the series. Use a Z index of 2 to
  43265. * display it behind the series.
  43266. */
  43267. z?: number;
  43268. }
  43269. /**
  43270. * (Highcharts, Highstock) Options for the series data sorting.
  43271. */
  43272. export interface PlotEmaDataSortingOptions {
  43273. /**
  43274. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  43275. * Use xAxis.reversed to change the sorting order.
  43276. */
  43277. enabled?: boolean;
  43278. /**
  43279. * (Highcharts, Highstock) Whether to allow matching points by name in an
  43280. * update. If this option is disabled, points will be matched by order.
  43281. */
  43282. matchByName?: boolean;
  43283. /**
  43284. * (Highcharts, Highstock) Determines what data value should be used to sort
  43285. * by.
  43286. */
  43287. sortKey?: string;
  43288. }
  43289. /**
  43290. * (Highstock) Exponential moving average indicator (EMA). This series requires
  43291. * the `linkedTo` option to be set.
  43292. *
  43293. * In TypeScript the type option must always be set.
  43294. *
  43295. * Configuration options for the series are given in three levels:
  43296. *
  43297. * 1. Options for all series in a chart are defined in the plotOptions.series
  43298. * object.
  43299. *
  43300. * 2. Options for all `ema` series are defined in plotOptions.ema.
  43301. *
  43302. * 3. Options for one single series are given in the series instance array. (see
  43303. * online documentation for example)
  43304. */
  43305. export interface PlotEmaOptions {
  43306. /**
  43307. * (Highstock) Accessibility options for a series.
  43308. */
  43309. accessibility?: SeriesAccessibilityOptionsObject;
  43310. /**
  43311. * (Highstock) Allow this series' points to be selected by clicking on the
  43312. * graphic (columns, point markers, pie slices, map areas etc).
  43313. *
  43314. * The selected points can be handled by point select and unselect events,
  43315. * or collectively by the getSelectedPoints function.
  43316. *
  43317. * And alternative way of selecting points is through dragging.
  43318. */
  43319. allowPointSelect?: boolean;
  43320. /**
  43321. * (Highstock) Enable or disable the initial animation when a series is
  43322. * displayed. The animation can also be set as a configuration object.
  43323. * Please note that this option only applies to the initial animation of the
  43324. * series itself. For other animations, see chart.animation and the
  43325. * animation parameter under the API methods. The following properties are
  43326. * supported:
  43327. *
  43328. * - `defer`: The animation delay time in milliseconds.
  43329. *
  43330. * - `duration`: The duration of the animation in milliseconds.
  43331. *
  43332. * - `easing`: Can be a string reference to an easing function set on the
  43333. * `Math` object or a function. See the _Custom easing function_ demo below.
  43334. *
  43335. * Due to poor performance, animation is disabled in old IE browsers for
  43336. * several chart types.
  43337. */
  43338. animation?: (boolean|PlotEmaAnimationOptions|Partial<AnimationOptionsObject>);
  43339. /**
  43340. * (Highstock) For some series, there is a limit that shuts down initial
  43341. * animation by default when the total number of points in the chart is too
  43342. * high. For example, for a column chart and its derivatives, animation does
  43343. * not run if there is more than 250 points totally. To disable this cap,
  43344. * set `animationLimit` to `Infinity`.
  43345. */
  43346. animationLimit?: number;
  43347. /**
  43348. * (Highstock) Sets the color blending in the boost module.
  43349. */
  43350. boostBlending?: OptionsBoostBlendingValue;
  43351. /**
  43352. * (Highstock) Set the point threshold for when a series should enter boost
  43353. * mode.
  43354. *
  43355. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  43356. * there are 2000 or more points in the series.
  43357. *
  43358. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  43359. * it to 1 will force boosting.
  43360. *
  43361. * Note that the cropThreshold also affects this setting. When zooming in on
  43362. * a series that has fewer points than the `cropThreshold`, all points are
  43363. * rendered although outside the visible plot area, and the `boostThreshold`
  43364. * won't take effect.
  43365. */
  43366. boostThreshold?: number;
  43367. /**
  43368. * (Highmaps) The border color of the map areas.
  43369. *
  43370. * In styled mode, the border stroke is given in the `.highcharts-point`
  43371. * class.
  43372. */
  43373. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43374. /**
  43375. * (Highmaps) The border width of each map area.
  43376. *
  43377. * In styled mode, the border stroke width is given in the
  43378. * `.highcharts-point` class.
  43379. */
  43380. borderWidth?: number;
  43381. /**
  43382. * (Highstock) An additional class name to apply to the series' graphical
  43383. * elements. This option does not replace default class names of the
  43384. * graphical element.
  43385. */
  43386. className?: string;
  43387. /**
  43388. * (Highstock) Disable this option to allow series rendering in the whole
  43389. * plotting area.
  43390. *
  43391. * **Note:** Clipping should be always enabled when chart.zoomType is set
  43392. */
  43393. clip?: boolean;
  43394. /**
  43395. * (Highstock) The main color of the series. In line type series it applies
  43396. * to the line and the point markers unless otherwise specified. In bar type
  43397. * series it applies to the bars unless a color is specified per point. The
  43398. * default value is pulled from the `options.colors` array.
  43399. *
  43400. * In styled mode, the color can be defined by the colorIndex option. Also,
  43401. * the series color can be set with the `.highcharts-series`,
  43402. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  43403. * `.highcharts-series-{n}` class, or individual classes given by the
  43404. * `className` option.
  43405. */
  43406. color?: (ColorString|GradientColorObject|PatternObject);
  43407. /**
  43408. * (Highstock) Styled mode only. A specific color index to use for the
  43409. * series, so its graphic representations are given the class name
  43410. * `highcharts-color-{n}`.
  43411. */
  43412. colorIndex?: number;
  43413. /**
  43414. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  43415. * used to calculate point color if `colorAxis` is used. Requires to set
  43416. * `min` and `max` if some custom point property is used or if approximation
  43417. * for data grouping is set to `'sum'`.
  43418. */
  43419. colorKey?: string;
  43420. /**
  43421. * (Highstock) Compare the values of the series against the first non-null,
  43422. * non- zero value in the visible range. The y axis will show percentage or
  43423. * absolute change depending on whether `compare` is set to `"percent"` or
  43424. * `"value"`. When this is applied to multiple series, it allows comparing
  43425. * the development of the series against each other. Adds a `change` field
  43426. * to every point object.
  43427. */
  43428. compare?: string;
  43429. /**
  43430. * (Highstock) When compare is `percent`, this option dictates whether to
  43431. * use 0 or 100 as the base of comparison.
  43432. */
  43433. compareBase?: (0|100);
  43434. /**
  43435. * (Highstock) Defines if comparison should start from the first point
  43436. * within the visible range or should start from the first point **before**
  43437. * the range.
  43438. *
  43439. * In other words, this flag determines if first point within the visible
  43440. * range will have 0% (`compareStart=true`) or should have been already
  43441. * calculated according to the previous point (`compareStart=false`).
  43442. */
  43443. compareStart?: boolean;
  43444. /**
  43445. * (Highstock) Whether to compare indicator to the main series values or
  43446. * indicator values.
  43447. */
  43448. compareToMain?: boolean;
  43449. /**
  43450. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  43451. * series plot across the extremes.
  43452. */
  43453. connectEnds?: boolean;
  43454. /**
  43455. * (Highcharts, Highstock) Whether to connect a graph line across null
  43456. * points, or render a gap between the two points on either side of the
  43457. * null.
  43458. */
  43459. connectNulls?: boolean;
  43460. /**
  43461. * (Gantt) Override Pathfinder connector options for a series. Requires
  43462. * Highcharts Gantt to be loaded.
  43463. */
  43464. connectors?: SeriesConnectorsOptionsObject;
  43465. /**
  43466. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  43467. * rounded to its nearest pixel in order to render sharp on screen. In some
  43468. * cases, when there are a lot of densely packed columns, this leads to
  43469. * visible difference in column widths or distance between columns. In these
  43470. * cases, setting `crisp` to `false` may look better, even though each
  43471. * column is rendered blurry.
  43472. */
  43473. crisp?: boolean;
  43474. /**
  43475. * (Highcharts, Highstock) When the series contains less points than the
  43476. * crop threshold, all points are drawn, even if the points fall outside the
  43477. * visible plot area at the current zoom. The advantage of drawing all
  43478. * points (including markers and columns), is that animation is performed on
  43479. * updates. On the other hand, when the series contains more points than the
  43480. * crop threshold, the series data is cropped to only contain points that
  43481. * fall within the plot area. The advantage of cropping away invisible
  43482. * points is to increase performance on large series.
  43483. */
  43484. cropThreshold?: number;
  43485. /**
  43486. * (Highstock) You can set the cursor to "pointer" if you have click events
  43487. * attached to the series, to signal to the user that the points and lines
  43488. * can be clicked.
  43489. *
  43490. * In styled mode, the series cursor can be set with the same classes as
  43491. * listed under series.color.
  43492. */
  43493. cursor?: (string|CursorValue);
  43494. /**
  43495. * (Highstock) A reserved subspace to store options and values for
  43496. * customized functionality. Here you can add additional data for your own
  43497. * event callbacks and formatter callbacks.
  43498. */
  43499. custom?: Dictionary<any>;
  43500. /**
  43501. * (Highstock) Name of the dash style to use for the graph, or for some
  43502. * series types the outline of each shape.
  43503. *
  43504. * In styled mode, the stroke dash-array can be set with the same classes as
  43505. * listed under series.color.
  43506. */
  43507. dashStyle?: DashStyleValue;
  43508. /**
  43509. * (Highstock) Data grouping is the concept of sampling the data values into
  43510. * larger blocks in order to ease readability and increase performance of
  43511. * the JavaScript charts. Highcharts Stock by default applies data grouping
  43512. * when the points become closer than a certain pixel value, determined by
  43513. * the `groupPixelWidth` option.
  43514. *
  43515. * If data grouping is applied, the grouping information of grouped points
  43516. * can be read from the Point.dataGroup. If point options other than the
  43517. * data itself are set, for example `name` or `color` or custom properties,
  43518. * the grouping logic doesn't know how to group it. In this case the options
  43519. * of the first point instance are copied over to the group point. This can
  43520. * be altered through a custom `approximation` callback function.
  43521. */
  43522. dataGrouping?: DataGroupingOptionsObject;
  43523. /**
  43524. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  43525. * labels, appearing next to each data point.
  43526. *
  43527. * Since v6.2.0, multiple data labels can be applied to each single point by
  43528. * defining them as an array of configs.
  43529. *
  43530. * In styled mode, the data labels can be styled with the
  43531. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  43532. * (see example).
  43533. */
  43534. dataLabels?: (PlotEmaDataLabelsOptions|Array<PlotEmaDataLabelsOptions>);
  43535. /**
  43536. * (Highcharts, Highstock) Options for the series data sorting.
  43537. */
  43538. dataSorting?: (DataSortingOptionsObject|PlotEmaDataSortingOptions);
  43539. /**
  43540. * (Highstock) A description of the series to add to the screen reader
  43541. * information about the series.
  43542. */
  43543. description?: string;
  43544. /**
  43545. * (Highstock) Enable or disable the mouse tracking for a specific series.
  43546. * This includes point tooltips and click events on graphs and points. For
  43547. * large datasets it improves performance.
  43548. */
  43549. enableMouseTracking?: boolean;
  43550. /**
  43551. * (Highstock) General event handlers for the series items. These event
  43552. * hooks can also be attached to the series at run time using the
  43553. * `Highcharts.addEvent` function.
  43554. */
  43555. events?: SeriesEventsOptionsObject;
  43556. /**
  43557. * (Highstock) Determines whether the series should look for the nearest
  43558. * point in both dimensions or just the x-dimension when hovering the
  43559. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  43560. * series. If the data has duplicate x-values, it is recommended to set this
  43561. * to `'xy'` to allow hovering over all points.
  43562. *
  43563. * Applies only to series types using nearest neighbor search (not direct
  43564. * hover) for tooltip.
  43565. */
  43566. findNearestPointBy?: OptionsFindNearestPointByValue;
  43567. /**
  43568. * (Highstock) Defines when to display a gap in the graph, together with the
  43569. * gapUnit option.
  43570. *
  43571. * In case when `dataGrouping` is enabled, points can be grouped into a
  43572. * larger time span. This can make the grouped points to have a greater
  43573. * distance than the absolute value of `gapSize` property, which will result
  43574. * in disappearing graph completely. To prevent this situation the mentioned
  43575. * distance between grouped points is used instead of previously defined
  43576. * `gapSize`.
  43577. *
  43578. * In practice, this option is most often used to visualize gaps in time
  43579. * series. In a stock chart, intraday data is available for daytime hours,
  43580. * while gaps will appear in nights and weekends.
  43581. */
  43582. gapSize?: number;
  43583. /**
  43584. * (Highstock) Together with gapSize, this option defines where to draw gaps
  43585. * in the graph.
  43586. *
  43587. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  43588. * if the distance between two points is greater than 5 times that of the
  43589. * two closest points, the graph will be broken.
  43590. *
  43591. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  43592. * values, which on a datetime axis is milliseconds. This also applies to
  43593. * the navigator series that inherits gap options from the base series.
  43594. */
  43595. gapUnit?: OptionsGapUnitValue;
  43596. /**
  43597. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  43598. * chart width or only the zoomed area when zooming in on parts of the X
  43599. * axis. By default, the Y axis adjusts to the min and max of the visible
  43600. * data. Cartesian series only.
  43601. */
  43602. getExtremesFromAll?: boolean;
  43603. /**
  43604. * (Highstock) When set to `false` will prevent the series data from being
  43605. * included in any form of data export.
  43606. *
  43607. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  43608. * `includeInCSVExport`.
  43609. */
  43610. includeInDataExport?: boolean;
  43611. /**
  43612. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  43613. * series as possible in a natural way, seeking to avoid other series. The
  43614. * goal of this feature is to make the chart more easily readable, like if a
  43615. * human designer placed the labels in the optimal position.
  43616. *
  43617. * The series labels currently work with series types having a `graph` or an
  43618. * `area`.
  43619. */
  43620. label?: SeriesLabelOptionsObject;
  43621. /**
  43622. * (Highstock) The line marks the last price from all points.
  43623. */
  43624. lastPrice?: SeriesLastPriceOptionsObject;
  43625. /**
  43626. * (Highstock) The line marks the last price from visible range of points.
  43627. */
  43628. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  43629. /**
  43630. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  43631. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  43632. * the ends and bends.
  43633. */
  43634. linecap?: SeriesLinecapValue;
  43635. /**
  43636. * (Highcharts, Highstock) Pixel width of the graph line.
  43637. */
  43638. lineWidth?: number;
  43639. /**
  43640. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  43641. * based on. Required for this indicator.
  43642. */
  43643. linkedTo?: string;
  43644. /**
  43645. * (Highstock) Options for the point markers of line-like series. Properties
  43646. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  43647. * appearance of the markers. Other series types, like column series, don't
  43648. * have markers, but have visual options on the series level instead.
  43649. *
  43650. * In styled mode, the markers can be styled with the `.highcharts-point`,
  43651. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  43652. */
  43653. marker?: PointMarkerOptionsObject;
  43654. /**
  43655. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  43656. * If not set, it will be based on a technical indicator type and default
  43657. * params.
  43658. */
  43659. name?: string;
  43660. /**
  43661. * (Highstock) The color for the parts of the graph or points that are below
  43662. * the threshold. Note that `zones` takes precedence over the negative
  43663. * color. Using `negativeColor` is equivalent to applying a zone with value
  43664. * of 0.
  43665. */
  43666. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  43667. /**
  43668. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  43669. * dataLabels.
  43670. */
  43671. opacity?: number;
  43672. /**
  43673. * (Highstock) Paramters used in calculation of regression series' points.
  43674. */
  43675. params?: PlotEmaParamsOptions;
  43676. /**
  43677. * (Highstock) Properties for each single point.
  43678. */
  43679. point?: PlotSeriesPointOptions;
  43680. /**
  43681. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  43682. * individual series. Overrides the chart wide configuration.
  43683. */
  43684. pointDescriptionFormatter?: Function;
  43685. /**
  43686. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  43687. * true, the checkbox next to the series name in the legend will be checked
  43688. * for a selected series.
  43689. */
  43690. selected?: boolean;
  43691. /**
  43692. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  43693. * the shadow can be an object configuration containing `color`, `offsetX`,
  43694. * `offsetY`, `opacity` and `width`.
  43695. */
  43696. shadow?: (boolean|ShadowOptionsObject);
  43697. /**
  43698. * (Highstock) If true, a checkbox is displayed next to the legend item to
  43699. * allow selecting the series. The state of the checkbox is determined by
  43700. * the `selected` option.
  43701. */
  43702. showCheckbox?: boolean;
  43703. /**
  43704. * (Highstock) Whether to display this particular series or series type in
  43705. * the legend. Standalone series are shown in legend by default, and linked
  43706. * series are not. Since v7.2.0 it is possible to show series that use
  43707. * colorAxis by setting this option to `true`.
  43708. */
  43709. showInLegend?: boolean;
  43710. /**
  43711. * (Highstock) If set to `true`, the accessibility module will skip past the
  43712. * points in this series for keyboard navigation.
  43713. */
  43714. skipKeyboardNavigation?: boolean;
  43715. /**
  43716. * (Highcharts, Highstock) When this is true, the series will not cause the
  43717. * Y axis to cross the zero plane (or threshold option) unless the data
  43718. * actually crosses the plane.
  43719. *
  43720. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  43721. * make the Y axis show negative values according to the `minPadding`
  43722. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  43723. */
  43724. softThreshold?: boolean;
  43725. states?: SeriesStatesOptionsObject;
  43726. /**
  43727. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  43728. * values are `left`, `center` and `right`.
  43729. */
  43730. step?: OptionsStepValue;
  43731. /**
  43732. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  43733. * event on a series isn't triggered until the mouse moves over another
  43734. * series, or out of the plot area. When false, the `mouseOut` event on a
  43735. * series is triggered when the mouse leaves the area around the series'
  43736. * graph or markers. This also implies the tooltip when not shared. When
  43737. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  43738. * be hidden when moving the mouse between series. Defaults to true for line
  43739. * and area type series, but to false for columns, pies etc.
  43740. *
  43741. * **Note:** The boost module will force this option because of technical
  43742. * limitations.
  43743. */
  43744. stickyTracking?: boolean;
  43745. /**
  43746. * (Highcharts, Highstock) The threshold, also called zero level or base
  43747. * level. For line type series this is only used in conjunction with
  43748. * negativeColor.
  43749. */
  43750. threshold?: (number|null);
  43751. /**
  43752. * (Highstock) A configuration object for the tooltip rendering of each
  43753. * single series. Properties are inherited from tooltip, but only the
  43754. * following properties can be defined on a series level.
  43755. */
  43756. tooltip?: SeriesTooltipOptionsObject;
  43757. /**
  43758. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  43759. * is longer than this, only one dimensional arrays of numbers, or two
  43760. * dimensional arrays with x and y values are allowed. Also, only the first
  43761. * point is tested, and the rest are assumed to be the same format. This
  43762. * saves expensive data checking and indexing in long series. Set it to `0`
  43763. * disable.
  43764. *
  43765. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  43766. * two dimensional arrays are allowed.
  43767. */
  43768. turboThreshold?: number;
  43769. /**
  43770. * (Highstock) Set the initial visibility of the series.
  43771. */
  43772. visible?: boolean;
  43773. /**
  43774. * (Highmaps) Define the z index of the series.
  43775. */
  43776. zIndex?: number;
  43777. /**
  43778. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  43779. */
  43780. zoneAxis?: string;
  43781. /**
  43782. * (Highcharts, Highstock) An array defining zones within a series. Zones
  43783. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  43784. * the `zoneAxis` option. The zone definitions have to be in ascending order
  43785. * regarding to the value.
  43786. *
  43787. * In styled mode, the color zones are styled with the
  43788. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  43789. * option (view live demo).
  43790. */
  43791. zones?: Array<SeriesZonesOptionsObject>;
  43792. }
  43793. /**
  43794. * (Highstock) Paramters used in calculation of regression series' points.
  43795. */
  43796. export interface PlotEmaParamsOptions {
  43797. /**
  43798. * (Highstock) The point index which indicator calculations will base. For
  43799. * example using OHLC data, index=2 means the indicator will be calculated
  43800. * using Low values.
  43801. *
  43802. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  43803. * default index is set to 3 which means that the ema indicator will be
  43804. * calculated using Close values.
  43805. */
  43806. index?: number;
  43807. /**
  43808. * (Highstock) The base period for indicator calculations. This is the
  43809. * number of data points which are taken into account for the indicator
  43810. * calculations.
  43811. */
  43812. period?: number;
  43813. }
  43814. /**
  43815. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  43816. * is displayed. The animation can also be set as a configuration object. Please
  43817. * note that this option only applies to the initial animation of the series
  43818. * itself. For other animations, see chart.animation and the animation parameter
  43819. * under the API methods. The following properties are supported:
  43820. *
  43821. * - `defer`: The animation delay time in milliseconds.
  43822. *
  43823. * - `duration`: The duration of the animation in milliseconds.
  43824. *
  43825. * - `easing`: Can be a string reference to an easing function set on the `Math`
  43826. * object or a function. See the _Custom easing function_ demo below.
  43827. *
  43828. * Due to poor performance, animation is disabled in old IE browsers for several
  43829. * chart types.
  43830. */
  43831. export interface PlotErrorbarAnimationOptions {
  43832. defer?: number;
  43833. }
  43834. /**
  43835. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43836. * animation when a series is displayed for the `dataLabels`. The animation can
  43837. * also be set as a configuration object. Please note that this option only
  43838. * applies to the initial animation. For other animations, see chart.animation
  43839. * and the animation parameter under the API methods. The following properties
  43840. * are supported:
  43841. *
  43842. * - `defer`: The animation delay time in milliseconds.
  43843. */
  43844. export interface PlotErrorbarDataLabelsAnimationOptions {
  43845. /**
  43846. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  43847. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  43848. * inherits defer time from the series.animation.defer.
  43849. */
  43850. defer?: number;
  43851. }
  43852. /**
  43853. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  43854. * appearing next to each data point.
  43855. *
  43856. * Since v6.2.0, multiple data labels can be applied to each single point by
  43857. * defining them as an array of configs.
  43858. *
  43859. * In styled mode, the data labels can be styled with the
  43860. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  43861. * example).
  43862. */
  43863. export interface PlotErrorbarDataLabelsOptions {
  43864. /**
  43865. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  43866. * compared to the point. If `right`, the right side of the label should be
  43867. * touching the point. For points with an extent, like columns, the
  43868. * alignments also dictates how to align it inside the box, as given with
  43869. * the inside option. Can be one of `left`, `center` or `right`.
  43870. */
  43871. align?: string;
  43872. /**
  43873. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  43874. * overlap. To make the labels less sensitive for overlapping, the
  43875. * dataLabels.padding can be set to 0.
  43876. */
  43877. allowOverlap?: boolean;
  43878. /**
  43879. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  43880. * animation when a series is displayed for the `dataLabels`. The animation
  43881. * can also be set as a configuration object. Please note that this option
  43882. * only applies to the initial animation. For other animations, see
  43883. * chart.animation and the animation parameter under the API methods. The
  43884. * following properties are supported:
  43885. *
  43886. * - `defer`: The animation delay time in milliseconds.
  43887. */
  43888. animation?: (boolean|PlotErrorbarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  43889. /**
  43890. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  43891. * for the data label.
  43892. */
  43893. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  43894. /**
  43895. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  43896. * label. Defaults to `undefined`.
  43897. */
  43898. borderColor?: (ColorString|GradientColorObject|PatternObject);
  43899. /**
  43900. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  43901. * the data label.
  43902. */
  43903. borderRadius?: number;
  43904. /**
  43905. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  43906. * the data label.
  43907. */
  43908. borderWidth?: number;
  43909. /**
  43910. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  43911. * Particularly in styled mode, this can be used to give each series' or
  43912. * point's data label unique styling. In addition to this option, a default
  43913. * color class name is added so that we can give the labels a contrast text
  43914. * shadow.
  43915. */
  43916. className?: string;
  43917. /**
  43918. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  43919. * labels. Defaults to `undefined`. For certain series types, like column or
  43920. * map, the data labels can be drawn inside the points. In this case the
  43921. * data label will be drawn with maximum contrast by default. Additionally,
  43922. * it will be given a `text-outline` style with the opposite color, to
  43923. * further increase the contrast. This can be overridden by setting the
  43924. * `text-outline` style to `none` in the `dataLabels.style` option.
  43925. */
  43926. color?: (ColorString|GradientColorObject|PatternObject);
  43927. /**
  43928. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  43929. * are outside the plot area. By default, the data label is moved inside the
  43930. * plot area according to the overflow option.
  43931. */
  43932. crop?: boolean;
  43933. /**
  43934. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  43935. * labels until the initial series animation has finished. Setting to
  43936. * `false` renders the data label immediately. If set to `true` inherits the
  43937. * defer time set in plotOptions.series.animation. If set to a number, a
  43938. * defer time is specified in milliseconds.
  43939. */
  43940. defer?: (boolean|number);
  43941. /**
  43942. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  43943. * labels.
  43944. */
  43945. enabled?: boolean;
  43946. /**
  43947. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  43948. * of which data labels to display. The declarative filter is designed for
  43949. * use when callback functions are not available, like when the chart
  43950. * options require a pure JSON structure or for use with graphical editors.
  43951. * For programmatic control, use the `formatter` instead, and return
  43952. * `undefined` to disable a single data label.
  43953. */
  43954. filter?: DataLabelsFilterOptionsObject;
  43955. /**
  43956. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  43957. * label. Available variables are the same as for `formatter`.
  43958. */
  43959. format?: string;
  43960. /**
  43961. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  43962. * format the data label. Note that if a `format` is defined, the format
  43963. * takes precedence and the formatter is ignored.
  43964. */
  43965. formatter?: DataLabelsFormatterCallbackFunction;
  43966. /**
  43967. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  43968. * columns or map areas, whether to align the data label inside the box or
  43969. * to the actual value point. Defaults to `false` in most cases, `true` in
  43970. * stacked columns.
  43971. */
  43972. inside?: boolean;
  43973. /**
  43974. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  43975. * of null. Works analogously to format. `nullFormat` can be applied only to
  43976. * series which support displaying null points.
  43977. */
  43978. nullFormat?: (boolean|string);
  43979. /**
  43980. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  43981. * that defines formatting for points with the value of null. Works
  43982. * analogously to formatter. `nullPointFormatter` can be applied only to
  43983. * series which support displaying null points.
  43984. */
  43985. nullFormatter?: DataLabelsFormatterCallbackFunction;
  43986. /**
  43987. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  43988. * flow outside the plot area. The default is `"justify"`, which aligns them
  43989. * inside the plot area. For columns and bars, this means it will be moved
  43990. * inside the bar. To display data labels outside the plot area, set `crop`
  43991. * to `false` and `overflow` to `"allow"`.
  43992. */
  43993. overflow?: DataLabelsOverflowValue;
  43994. /**
  43995. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  43996. * the `backgroundColor` is set, this is the padding within the box.
  43997. */
  43998. padding?: number;
  43999. /**
  44000. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  44001. * points. If `center` alignment is not possible, it defaults to `right`.
  44002. */
  44003. position?: AlignValue;
  44004. /**
  44005. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  44006. * that due to a more complex structure, backgrounds, borders and padding
  44007. * will be lost on a rotated data label.
  44008. */
  44009. rotation?: number;
  44010. /**
  44011. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  44012. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  44013. * an object configuration containing `color`, `offsetX`, `offsetY`,
  44014. * `opacity` and `width`.
  44015. */
  44016. shadow?: (boolean|ShadowOptionsObject);
  44017. /**
  44018. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  44019. * the border around the label. Symbols are predefined functions on the
  44020. * Renderer object.
  44021. */
  44022. shape?: string;
  44023. /**
  44024. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  44025. * default `color` setting is `"contrast"`, which is a pseudo color that
  44026. * Highcharts picks up and applies the maximum contrast to the underlying
  44027. * point item, for example the bar in a bar chart.
  44028. *
  44029. * The `textOutline` is a pseudo property that applies an outline of the
  44030. * given width with the given color, which by default is the maximum
  44031. * contrast to the text. So a bright text color will result in a black text
  44032. * outline for maximum readability on a mixed background. In some cases,
  44033. * especially with grayscale text, the text outline doesn't work well, in
  44034. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  44035. * is true, the `textOutline` will not be picked up. In this, case, the same
  44036. * effect can be acheived through the `text-shadow` CSS property.
  44037. *
  44038. * For some series types, where each point has an extent, like for example
  44039. * tree maps, the data label may overflow the point. There are two
  44040. * strategies for handling overflow. By default, the text will wrap to
  44041. * multiple lines. The other strategy is to set `style.textOverflow` to
  44042. * `ellipsis`, which will keep the text on one line plus it will break
  44043. * inside long words.
  44044. */
  44045. style?: CSSObject;
  44046. /**
  44047. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  44048. * should follow marker's shape. Border and background are disabled for a
  44049. * label that follows a path.
  44050. *
  44051. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  44052. * to true will disable this option.
  44053. */
  44054. textPath?: DataLabelsTextPathOptionsObject;
  44055. /**
  44056. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  44057. * the labels.
  44058. */
  44059. useHTML?: boolean;
  44060. /**
  44061. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  44062. * label. Can be one of `top`, `middle` or `bottom`. The default value
  44063. * depends on the data, for instance in a column chart, the label is above
  44064. * positive values and below negative values.
  44065. */
  44066. verticalAlign?: string;
  44067. /**
  44068. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  44069. * label relative to the point in pixels.
  44070. */
  44071. x?: number;
  44072. /**
  44073. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  44074. * label relative to the point in pixels.
  44075. */
  44076. y?: number;
  44077. /**
  44078. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  44079. * The default Z index puts it above the series. Use a Z index of 2 to
  44080. * display it behind the series.
  44081. */
  44082. z?: number;
  44083. }
  44084. /**
  44085. * (Highcharts, Highstock) Options for the series data sorting.
  44086. */
  44087. export interface PlotErrorbarDataSortingOptions {
  44088. /**
  44089. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  44090. * Use xAxis.reversed to change the sorting order.
  44091. */
  44092. enabled?: boolean;
  44093. /**
  44094. * (Highcharts, Highstock) Whether to allow matching points by name in an
  44095. * update. If this option is disabled, points will be matched by order.
  44096. */
  44097. matchByName?: boolean;
  44098. /**
  44099. * (Highcharts, Highstock) Determines what data value should be used to sort
  44100. * by.
  44101. */
  44102. sortKey?: string;
  44103. }
  44104. /**
  44105. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  44106. * one state by default, the `default` state.
  44107. */
  44108. export interface PlotErrorbarDragDropGuideBoxOptions {
  44109. /**
  44110. * (Highcharts, Highstock) Style options for the guide box default state.
  44111. */
  44112. default?: DragDropGuideBoxOptionsObject;
  44113. }
  44114. /**
  44115. * (Highcharts, Highstock) Error bars are a graphical representation of the
  44116. * variability of data and are used on graphs to indicate the error, or
  44117. * uncertainty in a reported measurement.
  44118. *
  44119. * In TypeScript the type option must always be set.
  44120. *
  44121. * Configuration options for the series are given in three levels:
  44122. *
  44123. * 1. Options for all series in a chart are defined in the plotOptions.series
  44124. * object.
  44125. *
  44126. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  44127. *
  44128. * 3. Options for one single series are given in the series instance array. (see
  44129. * online documentation for example)
  44130. */
  44131. export interface PlotErrorbarOptions {
  44132. /**
  44133. * (Highcharts, Highstock) Accessibility options for a series.
  44134. */
  44135. accessibility?: SeriesAccessibilityOptionsObject;
  44136. /**
  44137. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  44138. * rendered. If `true`, areas which don't correspond to a data point, are
  44139. * rendered as `null` points. If `false`, those areas are skipped.
  44140. */
  44141. allAreas?: boolean;
  44142. /**
  44143. * (Highcharts, Highstock) Allow this series' points to be selected by
  44144. * clicking on the graphic (columns, point markers, pie slices, map areas
  44145. * etc).
  44146. *
  44147. * The selected points can be handled by point select and unselect events,
  44148. * or collectively by the getSelectedPoints function.
  44149. *
  44150. * And alternative way of selecting points is through dragging.
  44151. */
  44152. allowPointSelect?: boolean;
  44153. /**
  44154. * (Highcharts, Highstock) Enable or disable the initial animation when a
  44155. * series is displayed. The animation can also be set as a configuration
  44156. * object. Please note that this option only applies to the initial
  44157. * animation of the series itself. For other animations, see chart.animation
  44158. * and the animation parameter under the API methods. The following
  44159. * properties are supported:
  44160. *
  44161. * - `defer`: The animation delay time in milliseconds.
  44162. *
  44163. * - `duration`: The duration of the animation in milliseconds.
  44164. *
  44165. * - `easing`: Can be a string reference to an easing function set on the
  44166. * `Math` object or a function. See the _Custom easing function_ demo below.
  44167. *
  44168. * Due to poor performance, animation is disabled in old IE browsers for
  44169. * several chart types.
  44170. */
  44171. animation?: (boolean|PlotErrorbarAnimationOptions|Partial<AnimationOptionsObject>);
  44172. /**
  44173. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  44174. * initial animation by default when the total number of points in the chart
  44175. * is too high. For example, for a column chart and its derivatives,
  44176. * animation does not run if there is more than 250 points totally. To
  44177. * disable this cap, set `animationLimit` to `Infinity`.
  44178. */
  44179. animationLimit?: number;
  44180. /**
  44181. * (Highcharts) The dash style of the box.
  44182. */
  44183. boxDashStyle?: DashStyleValue;
  44184. /**
  44185. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  44186. * the category, ignoring null or missing points. When `false`, space will
  44187. * be reserved for null or missing points.
  44188. */
  44189. centerInCategory?: boolean;
  44190. /**
  44191. * (Highcharts, Highstock) An additional class name to apply to the series'
  44192. * graphical elements. This option does not replace default class names of
  44193. * the graphical element.
  44194. */
  44195. className?: string;
  44196. /**
  44197. * (Highcharts, Highstock) Disable this option to allow series rendering in
  44198. * the whole plotting area.
  44199. *
  44200. * **Note:** Clipping should be always enabled when chart.zoomType is set
  44201. */
  44202. clip?: boolean;
  44203. /**
  44204. * (Highcharts) The main color of the bars. This can be overridden by
  44205. * stemColor and whiskerColor individually.
  44206. */
  44207. color?: (ColorString|GradientColorObject|PatternObject);
  44208. /**
  44209. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  44210. * this number defines which colorAxis the particular series is connected
  44211. * to. It refers to either the axis id or the index of the axis in the
  44212. * colorAxis array, with 0 being the first. Set this option to false to
  44213. * prevent a series from connecting to the default color axis.
  44214. *
  44215. * Since v7.2.0 the option can also be an axis id or an axis index instead
  44216. * of a boolean flag.
  44217. */
  44218. colorAxis?: (boolean|number|string);
  44219. /**
  44220. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  44221. * from the global colors or series-specific plotOptions.column.colors
  44222. * collections, this option determines whether the chart should receive one
  44223. * color per series or one color per point.
  44224. *
  44225. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  44226. * and instead this option gives the points individual color class names on
  44227. * the form `highcharts-color-{n}`.
  44228. */
  44229. colorByPoint?: boolean;
  44230. /**
  44231. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  44232. * for the series, so its graphic representations are given the class name
  44233. * `highcharts-color-{n}`.
  44234. */
  44235. colorIndex?: number;
  44236. /**
  44237. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  44238. * used to calculate point color if `colorAxis` is used. Requires to set
  44239. * `min` and `max` if some custom point property is used or if approximation
  44240. * for data grouping is set to `'sum'`.
  44241. */
  44242. colorKey?: string;
  44243. /**
  44244. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  44245. * color set to apply instead of the global colors when colorByPoint is
  44246. * true.
  44247. */
  44248. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  44249. /**
  44250. * (Highstock) Compare the values of the series against the first non-null,
  44251. * non- zero value in the visible range. The y axis will show percentage or
  44252. * absolute change depending on whether `compare` is set to `"percent"` or
  44253. * `"value"`. When this is applied to multiple series, it allows comparing
  44254. * the development of the series against each other. Adds a `change` field
  44255. * to every point object.
  44256. */
  44257. compare?: string;
  44258. /**
  44259. * (Highstock) When compare is `percent`, this option dictates whether to
  44260. * use 0 or 100 as the base of comparison.
  44261. */
  44262. compareBase?: (0|100);
  44263. /**
  44264. * (Highstock) Defines if comparison should start from the first point
  44265. * within the visible range or should start from the first point **before**
  44266. * the range.
  44267. *
  44268. * In other words, this flag determines if first point within the visible
  44269. * range will have 0% (`compareStart=true`) or should have been already
  44270. * calculated according to the previous point (`compareStart=false`).
  44271. */
  44272. compareStart?: boolean;
  44273. /**
  44274. * (Gantt) Override Pathfinder connector options for a series. Requires
  44275. * Highcharts Gantt to be loaded.
  44276. */
  44277. connectors?: SeriesConnectorsOptionsObject;
  44278. /**
  44279. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  44280. * rounded to its nearest pixel in order to render sharp on screen. In some
  44281. * cases, when there are a lot of densely packed columns, this leads to
  44282. * visible difference in column widths or distance between columns. In these
  44283. * cases, setting `crisp` to `false` may look better, even though each
  44284. * column is rendered blurry.
  44285. */
  44286. crisp?: boolean;
  44287. /**
  44288. * (Highcharts, Highstock, Gantt) When the series contains less points than
  44289. * the crop threshold, all points are drawn, event if the points fall
  44290. * outside the visible plot area at the current zoom. The advantage of
  44291. * drawing all points (including markers and columns), is that animation is
  44292. * performed on updates. On the other hand, when the series contains more
  44293. * points than the crop threshold, the series data is cropped to only
  44294. * contain points that fall within the plot area. The advantage of cropping
  44295. * away invisible points is to increase performance on large series.
  44296. */
  44297. cropThreshold?: number;
  44298. /**
  44299. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  44300. * click events attached to the series, to signal to the user that the
  44301. * points and lines can be clicked.
  44302. *
  44303. * In styled mode, the series cursor can be set with the same classes as
  44304. * listed under series.color.
  44305. */
  44306. cursor?: (string|CursorValue);
  44307. /**
  44308. * (Highcharts, Highstock) A reserved subspace to store options and values
  44309. * for customized functionality. Here you can add additional data for your
  44310. * own event callbacks and formatter callbacks.
  44311. */
  44312. custom?: Dictionary<any>;
  44313. /**
  44314. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  44315. * for some series types the outline of each shape.
  44316. *
  44317. * In styled mode, the stroke dash-array can be set with the same classes as
  44318. * listed under series.color.
  44319. */
  44320. dashStyle?: DashStyleValue;
  44321. /**
  44322. * (Highstock) Data grouping is the concept of sampling the data values into
  44323. * larger blocks in order to ease readability and increase performance of
  44324. * the JavaScript charts. Highcharts Stock by default applies data grouping
  44325. * when the points become closer than a certain pixel value, determined by
  44326. * the `groupPixelWidth` option.
  44327. *
  44328. * If data grouping is applied, the grouping information of grouped points
  44329. * can be read from the Point.dataGroup. If point options other than the
  44330. * data itself are set, for example `name` or `color` or custom properties,
  44331. * the grouping logic doesn't know how to group it. In this case the options
  44332. * of the first point instance are copied over to the group point. This can
  44333. * be altered through a custom `approximation` callback function.
  44334. */
  44335. dataGrouping?: DataGroupingOptionsObject;
  44336. /**
  44337. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  44338. * labels, appearing next to each data point.
  44339. *
  44340. * Since v6.2.0, multiple data labels can be applied to each single point by
  44341. * defining them as an array of configs.
  44342. *
  44343. * In styled mode, the data labels can be styled with the
  44344. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  44345. * (see example).
  44346. */
  44347. dataLabels?: (PlotErrorbarDataLabelsOptions|Array<PlotErrorbarDataLabelsOptions>);
  44348. /**
  44349. * (Highcharts, Highstock) Options for the series data sorting.
  44350. */
  44351. dataSorting?: (DataSortingOptionsObject|PlotErrorbarDataSortingOptions);
  44352. /**
  44353. * (Highcharts) Depth of the columns in a 3D column chart.
  44354. */
  44355. depth?: number;
  44356. /**
  44357. * (Highcharts, Highstock) A description of the series to add to the screen
  44358. * reader information about the series.
  44359. */
  44360. description?: string;
  44361. /**
  44362. * (Highcharts, Highstock) The draggable-points module allows points to be
  44363. * moved around or modified in the chart. In addition to the options
  44364. * mentioned under the `dragDrop` API structure, the module fires three
  44365. * events, point.dragStart, point.drag and point.drop.
  44366. */
  44367. dragDrop?: SeriesDragDropOptionsObject;
  44368. /**
  44369. * (Highcharts) 3D columns only. The color of the edges. Similar to
  44370. * `borderColor`, except it defaults to the same color as the column.
  44371. */
  44372. edgeColor?: ColorString;
  44373. /**
  44374. * (Highcharts) 3D columns only. The width of the colored edges.
  44375. */
  44376. edgeWidth?: number;
  44377. /**
  44378. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  44379. * specific series. This includes point tooltips and click events on graphs
  44380. * and points. For large datasets it improves performance.
  44381. */
  44382. enableMouseTracking?: boolean;
  44383. /**
  44384. * (Highcharts, Highstock) General event handlers for the series items.
  44385. * These event hooks can also be attached to the series at run time using
  44386. * the `Highcharts.addEvent` function.
  44387. */
  44388. events?: SeriesEventsOptionsObject;
  44389. /**
  44390. * (Highcharts) The fill color of the box.
  44391. *
  44392. * In styled mode, the fill color can be set with the
  44393. * `.highcharts-boxplot-box` class.
  44394. */
  44395. fillColor?: (ColorString|GradientColorObject|PatternObject);
  44396. /**
  44397. * (Highcharts, Highstock) Determines whether the series should look for the
  44398. * nearest point in both dimensions or just the x-dimension when hovering
  44399. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  44400. * other series. If the data has duplicate x-values, it is recommended to
  44401. * set this to `'xy'` to allow hovering over all points.
  44402. *
  44403. * Applies only to series types using nearest neighbor search (not direct
  44404. * hover) for tooltip.
  44405. */
  44406. findNearestPointBy?: OptionsFindNearestPointByValue;
  44407. /**
  44408. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  44409. * chart width or only the zoomed area when zooming in on parts of the X
  44410. * axis. By default, the Y axis adjusts to the min and max of the visible
  44411. * data. Cartesian series only.
  44412. */
  44413. getExtremesFromAll?: boolean;
  44414. /**
  44415. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  44416. * let them render independent of each other. Non-grouped columns will be
  44417. * laid out individually and overlap each other.
  44418. */
  44419. grouping?: boolean;
  44420. /**
  44421. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  44422. * axis units.
  44423. */
  44424. groupPadding?: number;
  44425. /**
  44426. * (Highcharts, Highstock) When set to `false` will prevent the series data
  44427. * from being included in any form of data export.
  44428. *
  44429. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  44430. * `includeInCSVExport`.
  44431. */
  44432. includeInDataExport?: boolean;
  44433. /**
  44434. * (Highmaps) What property to join the `mapData` to the value data. For
  44435. * example, if joinBy is "code", the mapData items with a specific code is
  44436. * merged into the data with the same code. For maps loaded from GeoJSON,
  44437. * the keys may be held in each point's `properties` object.
  44438. *
  44439. * The joinBy option can also be an array of two values, where the first
  44440. * points to a key in the `mapData`, and the second points to another key in
  44441. * the `data`.
  44442. *
  44443. * When joinBy is `null`, the map items are joined by their position in the
  44444. * array, which performs much better in maps with many data points. This is
  44445. * the recommended option if you are printing more than a thousand data
  44446. * points and have a backend that can preprocess the data into a parallel
  44447. * array of the mapData.
  44448. */
  44449. joinBy?: (string|Array<string>);
  44450. /**
  44451. * (Highcharts, Highstock) An array specifying which option maps to which
  44452. * key in the data point array. This makes it convenient to work with
  44453. * unstructured data arrays from different sources.
  44454. */
  44455. keys?: Array<string>;
  44456. /**
  44457. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  44458. * series as possible in a natural way, seeking to avoid other series. The
  44459. * goal of this feature is to make the chart more easily readable, like if a
  44460. * human designer placed the labels in the optimal position.
  44461. *
  44462. * The series labels currently work with series types having a `graph` or an
  44463. * `area`.
  44464. */
  44465. label?: SeriesLabelOptionsObject;
  44466. /**
  44467. * (Highstock) The line marks the last price from all points.
  44468. */
  44469. lastPrice?: SeriesLastPriceOptionsObject;
  44470. /**
  44471. * (Highstock) The line marks the last price from visible range of points.
  44472. */
  44473. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  44474. /**
  44475. * (Highcharts) The width of the line surrounding the box. If any of
  44476. * stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
  44477. * applies to these lines.
  44478. */
  44479. lineWidth?: number;
  44480. /**
  44481. * (Highcharts) The parent series of the error bar. The default value links
  44482. * it to the previous series. Otherwise, use the id of the parent series.
  44483. */
  44484. linkedTo?: string;
  44485. /**
  44486. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  44487. * column, translated to the height of a bar in a bar chart. This prevents
  44488. * the columns from becoming too wide when there is a small number of points
  44489. * in the chart.
  44490. */
  44491. maxPointWidth?: number;
  44492. /**
  44493. * (Highcharts) The color of the median line. If `undefined`, the general
  44494. * series color applies.
  44495. *
  44496. * In styled mode, the median stroke width can be set with the
  44497. * `.highcharts-boxplot-median` class.
  44498. */
  44499. medianColor?: (ColorString|GradientColorObject);
  44500. /**
  44501. * (Highcharts) The dash style of the median.
  44502. */
  44503. medianDashStyle?: DashStyleValue;
  44504. /**
  44505. * (Highcharts) The pixel width of the median line. If `null`, the lineWidth
  44506. * is used.
  44507. *
  44508. * In styled mode, the median stroke width can be set with the
  44509. * `.highcharts-boxplot-median` class.
  44510. */
  44511. medianWidth?: (number|null);
  44512. /**
  44513. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  44514. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  44515. * to zero) point, set the minimal point length to a pixel value like 3\. In
  44516. * stacked column charts, minPointLength might not be respected for tightly
  44517. * packed values.
  44518. */
  44519. minPointLength?: number;
  44520. /**
  44521. * (Highstock) Options for the corresponding navigator series if
  44522. * `showInNavigator` is `true` for this series. Available options are the
  44523. * same as any series, documented at plotOptions and series.
  44524. *
  44525. * These options are merged with options in navigator.series, and will take
  44526. * precedence if the same option is defined both places.
  44527. */
  44528. navigatorOptions?: PlotSeriesOptions;
  44529. /**
  44530. * (Highcharts, Highstock) The color for the parts of the graph or points
  44531. * that are below the threshold. Note that `zones` takes precedence over the
  44532. * negative color. Using `negativeColor` is equivalent to applying a zone
  44533. * with value of 0.
  44534. */
  44535. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  44536. /**
  44537. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  44538. * and dataLabels.
  44539. */
  44540. opacity?: number;
  44541. /**
  44542. * (Highcharts, Highstock) Properties for each single point.
  44543. */
  44544. point?: PlotSeriesPointOptions;
  44545. /**
  44546. * (Highcharts, Highstock) Same as
  44547. * accessibility.series.descriptionFormatter, but for an individual series.
  44548. * Overrides the chart wide configuration.
  44549. */
  44550. pointDescriptionFormatter?: Function;
  44551. /**
  44552. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  44553. * a series, `pointInterval` defines the interval of the x values. For
  44554. * example, if a series contains one value every decade starting from year
  44555. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  44556. * `pointInterval` is set in milliseconds.
  44557. *
  44558. * It can be also be combined with `pointIntervalUnit` to draw irregular
  44559. * time intervals.
  44560. *
  44561. * Please note that this options applies to the _series data_, not the
  44562. * interval of the axis ticks, which is independent.
  44563. */
  44564. pointInterval?: number;
  44565. /**
  44566. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  44567. * setting the pointInterval to irregular time units, `day`, `month` and
  44568. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  44569. * also takes the DST crossover into consideration when dealing with local
  44570. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  44571. * months, 10 years etc.
  44572. *
  44573. * Please note that this options applies to the _series data_, not the
  44574. * interval of the axis ticks, which is independent.
  44575. */
  44576. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  44577. /**
  44578. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  44579. * axis units.
  44580. */
  44581. pointPadding?: number;
  44582. /**
  44583. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  44584. * `number`.
  44585. *
  44586. * In a column chart, when pointPlacement is `"on"`, the point will not
  44587. * create any padding of the X axis. In a polar column chart this means that
  44588. * the first column points directly north. If the pointPlacement is
  44589. * `"between"`, the columns will be laid out between ticks. This is useful
  44590. * for example for visualising an amount between two points in time or in a
  44591. * certain sector of a polar chart.
  44592. *
  44593. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  44594. * is on the axis value, -0.5 is between this value and the previous, and
  44595. * 0.5 is between this value and the next. Unlike the textual options,
  44596. * numeric point placement options won't affect axis padding.
  44597. *
  44598. * Note that pointPlacement needs a pointRange to work. For column series
  44599. * this is computed, but for line-type series it needs to be set.
  44600. *
  44601. * For the `xrange` series type and gantt charts, if the Y axis is a
  44602. * category axis, the `pointPlacement` applies to the Y axis rather than the
  44603. * (typically datetime) X axis.
  44604. *
  44605. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  44606. */
  44607. pointPlacement?: (number|string);
  44608. /**
  44609. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  44610. * for. This determines the width of the column. On a categorized axis, the
  44611. * range will be 1 by default (one category unit). On linear and datetime
  44612. * axes, the range will be computed as the distance between the two closest
  44613. * data points.
  44614. *
  44615. * The default `null` means it is computed automatically, but this option
  44616. * can be used to override the automatic value.
  44617. *
  44618. * This option is set by default to 1 if data sorting is enabled.
  44619. */
  44620. pointRange?: (number|null);
  44621. /**
  44622. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  44623. * a series, pointStart defines on what value to start. For example, if a
  44624. * series contains one yearly value starting from 1945, set pointStart to
  44625. * 1945.
  44626. */
  44627. pointStart?: number;
  44628. /**
  44629. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  44630. * each column or bar point. When set to `undefined`, the width is
  44631. * calculated from the `pointPadding` and `groupPadding`. The width effects
  44632. * the dimension that is not based on the point value. For column series it
  44633. * is the hoizontal length and for bar series it is the vertical length.
  44634. */
  44635. pointWidth?: number;
  44636. /**
  44637. * (Highcharts, Highstock) Whether to select the series initially. If
  44638. * `showCheckbox` is true, the checkbox next to the series name in the
  44639. * legend will be checked for a selected series.
  44640. */
  44641. selected?: boolean;
  44642. /**
  44643. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  44644. * Since 2.3 the shadow can be an object configuration containing `color`,
  44645. * `offsetX`, `offsetY`, `opacity` and `width`.
  44646. */
  44647. shadow?: (boolean|ShadowOptionsObject);
  44648. /**
  44649. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  44650. * legend item to allow selecting the series. The state of the checkbox is
  44651. * determined by the `selected` option.
  44652. */
  44653. showCheckbox?: boolean;
  44654. /**
  44655. * (Highcharts, Highstock) Whether to display this particular series or
  44656. * series type in the legend. Standalone series are shown in legend by
  44657. * default, and linked series are not. Since v7.2.0 it is possible to show
  44658. * series that use colorAxis by setting this option to `true`.
  44659. */
  44660. showInLegend?: boolean;
  44661. /**
  44662. * (Highstock) Whether or not to show the series in the navigator. Takes
  44663. * precedence over navigator.baseSeries if defined.
  44664. */
  44665. showInNavigator?: boolean;
  44666. /**
  44667. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  44668. * skip past the points in this series for keyboard navigation.
  44669. */
  44670. skipKeyboardNavigation?: boolean;
  44671. /**
  44672. * (Highcharts, Highstock) When this is true, the series will not cause the
  44673. * Y axis to cross the zero plane (or threshold option) unless the data
  44674. * actually crosses the plane.
  44675. *
  44676. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  44677. * make the Y axis show negative values according to the `minPadding`
  44678. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  44679. */
  44680. softThreshold?: boolean;
  44681. /**
  44682. * (Highcharts, Highstock) Whether to stack the values of each series on top
  44683. * of each other. Possible values are `undefined` to disable, `"normal"` to
  44684. * stack by value or `"percent"`.
  44685. *
  44686. * When stacking is enabled, data must be sorted in ascending X order.
  44687. *
  44688. * Some stacking options are related to specific series types. In the
  44689. * streamgraph series type, the stacking option is set to `"stream"`. The
  44690. * second one is `"overlap"`, which only applies to waterfall series.
  44691. */
  44692. stacking?: OptionsStackingValue;
  44693. /**
  44694. * (Highcharts) The dash style of the stem, the vertical line extending from
  44695. * the box to the whiskers.
  44696. */
  44697. stemDashStyle?: DashStyleValue;
  44698. /**
  44699. * (Highcharts) The width of the stem, the vertical line extending from the
  44700. * box to the whiskers. If `undefined`, the width is inherited from the
  44701. * lineWidth option.
  44702. *
  44703. * In styled mode, the stem stroke width can be set with the
  44704. * `.highcharts-boxplot-stem` class.
  44705. */
  44706. stemWidth?: number;
  44707. /**
  44708. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  44709. * `mouseOut` event on a series isn't triggered until the mouse moves over
  44710. * another series, or out of the plot area. When false, the `mouseOut` event
  44711. * on a series is triggered when the mouse leaves the area around the
  44712. * series' graph or markers. This also implies the tooltip when not shared.
  44713. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  44714. * will be hidden when moving the mouse between series. Defaults to true for
  44715. * line and area type series, but to false for columns, pies etc.
  44716. *
  44717. * **Note:** The boost module will force this option because of technical
  44718. * limitations.
  44719. */
  44720. stickyTracking?: boolean;
  44721. /**
  44722. * (Highcharts) The Y axis value to serve as the base for the columns, for
  44723. * distinguishing between values above and below a threshold. If `null`, the
  44724. * columns extend from the padding Y axis minimum.
  44725. */
  44726. threshold?: (number|null);
  44727. /**
  44728. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  44729. * of each single series. Properties are inherited from tooltip, but only
  44730. * the following properties can be defined on a series level.
  44731. */
  44732. tooltip?: SeriesTooltipOptionsObject;
  44733. /**
  44734. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  44735. * is longer than this, only one dimensional arrays of numbers, or two
  44736. * dimensional arrays with x and y values are allowed. Also, only the first
  44737. * point is tested, and the rest are assumed to be the same format. This
  44738. * saves expensive data checking and indexing in long series. Set it to `0`
  44739. * disable.
  44740. *
  44741. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  44742. * two dimensional arrays are allowed.
  44743. */
  44744. turboThreshold?: number;
  44745. /**
  44746. * (Highcharts, Highstock) Set the initial visibility of the series.
  44747. */
  44748. visible?: boolean;
  44749. /**
  44750. * (Highcharts) The color of the whiskers, the horizontal lines marking low
  44751. * and high values. When `undefined`, the general series color is used.
  44752. *
  44753. * In styled mode, the whisker stroke can be set with the
  44754. * `.highcharts-boxplot-whisker` class .
  44755. */
  44756. whiskerColor?: (ColorString|GradientColorObject|PatternObject);
  44757. /**
  44758. * (Highcharts) The dash style of the whiskers.
  44759. */
  44760. whiskerDashStyle?: DashStyleValue;
  44761. /**
  44762. * (Highcharts) The length of the whiskers, the horizontal lines marking low
  44763. * and high values. It can be a numerical pixel value, or a percentage value
  44764. * of the box width. Set `0` to disable whiskers.
  44765. */
  44766. whiskerLength?: (number|string);
  44767. /**
  44768. * (Highcharts) The line width of the whiskers, the horizontal lines marking
  44769. * low and high values. When `null`, the general lineWidth applies.
  44770. */
  44771. whiskerWidth?: number;
  44772. /**
  44773. * (Highmaps) Define the z index of the series.
  44774. */
  44775. zIndex?: number;
  44776. /**
  44777. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  44778. */
  44779. zoneAxis?: string;
  44780. /**
  44781. * (Highcharts, Highstock) An array defining zones within a series. Zones
  44782. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  44783. * the `zoneAxis` option. The zone definitions have to be in ascending order
  44784. * regarding to the value.
  44785. *
  44786. * In styled mode, the color zones are styled with the
  44787. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  44788. * option (view live demo).
  44789. */
  44790. zones?: Array<SeriesZonesOptionsObject>;
  44791. }
  44792. /**
  44793. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44794. * animation when a series is displayed for the `dataLabels`. The animation can
  44795. * also be set as a configuration object. Please note that this option only
  44796. * applies to the initial animation. For other animations, see chart.animation
  44797. * and the animation parameter under the API methods. The following properties
  44798. * are supported:
  44799. *
  44800. * - `defer`: The animation delay time in milliseconds.
  44801. */
  44802. export interface PlotFlagsDataLabelsAnimationOptions {
  44803. /**
  44804. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  44805. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  44806. * inherits defer time from the series.animation.defer.
  44807. */
  44808. defer?: number;
  44809. }
  44810. /**
  44811. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  44812. * appearing next to each data point.
  44813. *
  44814. * Since v6.2.0, multiple data labels can be applied to each single point by
  44815. * defining them as an array of configs.
  44816. *
  44817. * In styled mode, the data labels can be styled with the
  44818. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  44819. * example).
  44820. */
  44821. export interface PlotFlagsDataLabelsOptions {
  44822. /**
  44823. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  44824. * compared to the point. If `right`, the right side of the label should be
  44825. * touching the point. For points with an extent, like columns, the
  44826. * alignments also dictates how to align it inside the box, as given with
  44827. * the inside option. Can be one of `left`, `center` or `right`.
  44828. */
  44829. align?: string;
  44830. /**
  44831. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  44832. * overlap. To make the labels less sensitive for overlapping, the
  44833. * dataLabels.padding can be set to 0.
  44834. */
  44835. allowOverlap?: boolean;
  44836. /**
  44837. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  44838. * animation when a series is displayed for the `dataLabels`. The animation
  44839. * can also be set as a configuration object. Please note that this option
  44840. * only applies to the initial animation. For other animations, see
  44841. * chart.animation and the animation parameter under the API methods. The
  44842. * following properties are supported:
  44843. *
  44844. * - `defer`: The animation delay time in milliseconds.
  44845. */
  44846. animation?: (boolean|PlotFlagsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  44847. /**
  44848. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  44849. * for the data label.
  44850. */
  44851. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  44852. /**
  44853. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  44854. * label. Defaults to `undefined`.
  44855. */
  44856. borderColor?: (ColorString|GradientColorObject|PatternObject);
  44857. /**
  44858. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  44859. * the data label.
  44860. */
  44861. borderRadius?: number;
  44862. /**
  44863. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  44864. * the data label.
  44865. */
  44866. borderWidth?: number;
  44867. /**
  44868. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  44869. * Particularly in styled mode, this can be used to give each series' or
  44870. * point's data label unique styling. In addition to this option, a default
  44871. * color class name is added so that we can give the labels a contrast text
  44872. * shadow.
  44873. */
  44874. className?: string;
  44875. /**
  44876. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  44877. * labels. Defaults to `undefined`. For certain series types, like column or
  44878. * map, the data labels can be drawn inside the points. In this case the
  44879. * data label will be drawn with maximum contrast by default. Additionally,
  44880. * it will be given a `text-outline` style with the opposite color, to
  44881. * further increase the contrast. This can be overridden by setting the
  44882. * `text-outline` style to `none` in the `dataLabels.style` option.
  44883. */
  44884. color?: (ColorString|GradientColorObject|PatternObject);
  44885. /**
  44886. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  44887. * are outside the plot area. By default, the data label is moved inside the
  44888. * plot area according to the overflow option.
  44889. */
  44890. crop?: boolean;
  44891. /**
  44892. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  44893. * labels until the initial series animation has finished. Setting to
  44894. * `false` renders the data label immediately. If set to `true` inherits the
  44895. * defer time set in plotOptions.series.animation. If set to a number, a
  44896. * defer time is specified in milliseconds.
  44897. */
  44898. defer?: (boolean|number);
  44899. /**
  44900. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  44901. * labels.
  44902. */
  44903. enabled?: boolean;
  44904. /**
  44905. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  44906. * of which data labels to display. The declarative filter is designed for
  44907. * use when callback functions are not available, like when the chart
  44908. * options require a pure JSON structure or for use with graphical editors.
  44909. * For programmatic control, use the `formatter` instead, and return
  44910. * `undefined` to disable a single data label.
  44911. */
  44912. filter?: DataLabelsFilterOptionsObject;
  44913. /**
  44914. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  44915. * label. Available variables are the same as for `formatter`.
  44916. */
  44917. format?: string;
  44918. /**
  44919. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  44920. * format the data label. Note that if a `format` is defined, the format
  44921. * takes precedence and the formatter is ignored.
  44922. */
  44923. formatter?: DataLabelsFormatterCallbackFunction;
  44924. /**
  44925. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  44926. * columns or map areas, whether to align the data label inside the box or
  44927. * to the actual value point. Defaults to `false` in most cases, `true` in
  44928. * stacked columns.
  44929. */
  44930. inside?: boolean;
  44931. /**
  44932. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  44933. * of null. Works analogously to format. `nullFormat` can be applied only to
  44934. * series which support displaying null points.
  44935. */
  44936. nullFormat?: (boolean|string);
  44937. /**
  44938. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  44939. * that defines formatting for points with the value of null. Works
  44940. * analogously to formatter. `nullPointFormatter` can be applied only to
  44941. * series which support displaying null points.
  44942. */
  44943. nullFormatter?: DataLabelsFormatterCallbackFunction;
  44944. /**
  44945. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  44946. * flow outside the plot area. The default is `"justify"`, which aligns them
  44947. * inside the plot area. For columns and bars, this means it will be moved
  44948. * inside the bar. To display data labels outside the plot area, set `crop`
  44949. * to `false` and `overflow` to `"allow"`.
  44950. */
  44951. overflow?: DataLabelsOverflowValue;
  44952. /**
  44953. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  44954. * the `backgroundColor` is set, this is the padding within the box.
  44955. */
  44956. padding?: number;
  44957. /**
  44958. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  44959. * points. If `center` alignment is not possible, it defaults to `right`.
  44960. */
  44961. position?: AlignValue;
  44962. /**
  44963. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  44964. * that due to a more complex structure, backgrounds, borders and padding
  44965. * will be lost on a rotated data label.
  44966. */
  44967. rotation?: number;
  44968. /**
  44969. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  44970. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  44971. * an object configuration containing `color`, `offsetX`, `offsetY`,
  44972. * `opacity` and `width`.
  44973. */
  44974. shadow?: (boolean|ShadowOptionsObject);
  44975. /**
  44976. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  44977. * the border around the label. Symbols are predefined functions on the
  44978. * Renderer object.
  44979. */
  44980. shape?: string;
  44981. /**
  44982. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  44983. * default `color` setting is `"contrast"`, which is a pseudo color that
  44984. * Highcharts picks up and applies the maximum contrast to the underlying
  44985. * point item, for example the bar in a bar chart.
  44986. *
  44987. * The `textOutline` is a pseudo property that applies an outline of the
  44988. * given width with the given color, which by default is the maximum
  44989. * contrast to the text. So a bright text color will result in a black text
  44990. * outline for maximum readability on a mixed background. In some cases,
  44991. * especially with grayscale text, the text outline doesn't work well, in
  44992. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  44993. * is true, the `textOutline` will not be picked up. In this, case, the same
  44994. * effect can be acheived through the `text-shadow` CSS property.
  44995. *
  44996. * For some series types, where each point has an extent, like for example
  44997. * tree maps, the data label may overflow the point. There are two
  44998. * strategies for handling overflow. By default, the text will wrap to
  44999. * multiple lines. The other strategy is to set `style.textOverflow` to
  45000. * `ellipsis`, which will keep the text on one line plus it will break
  45001. * inside long words.
  45002. */
  45003. style?: CSSObject;
  45004. /**
  45005. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  45006. * should follow marker's shape. Border and background are disabled for a
  45007. * label that follows a path.
  45008. *
  45009. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  45010. * to true will disable this option.
  45011. */
  45012. textPath?: DataLabelsTextPathOptionsObject;
  45013. /**
  45014. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  45015. * the labels.
  45016. */
  45017. useHTML?: boolean;
  45018. /**
  45019. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  45020. * label. Can be one of `top`, `middle` or `bottom`. The default value
  45021. * depends on the data, for instance in a column chart, the label is above
  45022. * positive values and below negative values.
  45023. */
  45024. verticalAlign?: string;
  45025. /**
  45026. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  45027. * label relative to the point in pixels.
  45028. */
  45029. x?: number;
  45030. /**
  45031. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  45032. * label relative to the point in pixels.
  45033. */
  45034. y?: number;
  45035. /**
  45036. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  45037. * The default Z index puts it above the series. Use a Z index of 2 to
  45038. * display it behind the series.
  45039. */
  45040. z?: number;
  45041. }
  45042. /**
  45043. * (Highcharts, Highstock) Options for the series data sorting.
  45044. */
  45045. export interface PlotFlagsDataSortingOptions {
  45046. /**
  45047. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  45048. * Use xAxis.reversed to change the sorting order.
  45049. */
  45050. enabled?: boolean;
  45051. /**
  45052. * (Highcharts, Highstock) Whether to allow matching points by name in an
  45053. * update. If this option is disabled, points will be matched by order.
  45054. */
  45055. matchByName?: boolean;
  45056. /**
  45057. * (Highcharts, Highstock) Determines what data value should be used to sort
  45058. * by.
  45059. */
  45060. sortKey?: string;
  45061. }
  45062. /**
  45063. * (Highstock) Style options for the guide box. The guide box has one state by
  45064. * default, the `default` state.
  45065. */
  45066. export interface PlotFlagsDragDropGuideBoxOptions {
  45067. /**
  45068. * (Highstock) Style options for the guide box default state.
  45069. */
  45070. default?: DragDropGuideBoxOptionsObject;
  45071. }
  45072. /**
  45073. * (Highstock) Flags are used to mark events in stock charts. They can be added
  45074. * on the timeline, or attached to a specific series.
  45075. *
  45076. * In TypeScript the type option must always be set.
  45077. *
  45078. * Configuration options for the series are given in three levels:
  45079. *
  45080. * 1. Options for all series in a chart are defined in the plotOptions.series
  45081. * object.
  45082. *
  45083. * 2. Options for all `flags` series are defined in plotOptions.flags.
  45084. *
  45085. * 3. Options for one single series are given in the series instance array. (see
  45086. * online documentation for example)
  45087. */
  45088. export interface PlotFlagsOptions {
  45089. /**
  45090. * (Highstock) Accessibility options for a series.
  45091. */
  45092. accessibility?: SeriesAccessibilityOptionsObject;
  45093. /**
  45094. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  45095. * rendered. If `true`, areas which don't correspond to a data point, are
  45096. * rendered as `null` points. If `false`, those areas are skipped.
  45097. */
  45098. allAreas?: boolean;
  45099. /**
  45100. * (Highstock) Whether the flags are allowed to overlap sideways. If
  45101. * `false`, the flags are moved sideways using an algorithm that seeks to
  45102. * place every flag as close as possible to its original position.
  45103. */
  45104. allowOverlapX?: boolean;
  45105. /**
  45106. * (Highstock) Allow this series' points to be selected by clicking on the
  45107. * graphic (columns, point markers, pie slices, map areas etc).
  45108. *
  45109. * The selected points can be handled by point select and unselect events,
  45110. * or collectively by the getSelectedPoints function.
  45111. *
  45112. * And alternative way of selecting points is through dragging.
  45113. */
  45114. allowPointSelect?: boolean;
  45115. /**
  45116. * (Highstock) For some series, there is a limit that shuts down initial
  45117. * animation by default when the total number of points in the chart is too
  45118. * high. For example, for a column chart and its derivatives, animation does
  45119. * not run if there is more than 250 points totally. To disable this cap,
  45120. * set `animationLimit` to `Infinity`.
  45121. */
  45122. animationLimit?: number;
  45123. /**
  45124. * (Highstock) Sets the color blending in the boost module.
  45125. */
  45126. boostBlending?: OptionsBoostBlendingValue;
  45127. /**
  45128. * (Highstock) Set the point threshold for when a series should enter boost
  45129. * mode.
  45130. *
  45131. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  45132. * there are 2000 or more points in the series.
  45133. *
  45134. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  45135. * it to 1 will force boosting.
  45136. *
  45137. * Note that the cropThreshold also affects this setting. When zooming in on
  45138. * a series that has fewer points than the `cropThreshold`, all points are
  45139. * rendered although outside the visible plot area, and the `boostThreshold`
  45140. * won't take effect.
  45141. */
  45142. boostThreshold?: number;
  45143. /**
  45144. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  45145. * the category, ignoring null or missing points. When `false`, space will
  45146. * be reserved for null or missing points.
  45147. */
  45148. centerInCategory?: boolean;
  45149. /**
  45150. * (Highstock) An additional class name to apply to the series' graphical
  45151. * elements. This option does not replace default class names of the
  45152. * graphical element.
  45153. */
  45154. className?: string;
  45155. /**
  45156. * (Highstock) Disable this option to allow series rendering in the whole
  45157. * plotting area.
  45158. *
  45159. * **Note:** Clipping should be always enabled when chart.zoomType is set
  45160. */
  45161. clip?: boolean;
  45162. /**
  45163. * (Highstock) The main color of the series. In line type series it applies
  45164. * to the line and the point markers unless otherwise specified. In bar type
  45165. * series it applies to the bars unless a color is specified per point. The
  45166. * default value is pulled from the `options.colors` array.
  45167. *
  45168. * In styled mode, the color can be defined by the colorIndex option. Also,
  45169. * the series color can be set with the `.highcharts-series`,
  45170. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  45171. * `.highcharts-series-{n}` class, or individual classes given by the
  45172. * `className` option.
  45173. */
  45174. color?: (ColorString|GradientColorObject|PatternObject);
  45175. /**
  45176. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  45177. * this number defines which colorAxis the particular series is connected
  45178. * to. It refers to either the axis id or the index of the axis in the
  45179. * colorAxis array, with 0 being the first. Set this option to false to
  45180. * prevent a series from connecting to the default color axis.
  45181. *
  45182. * Since v7.2.0 the option can also be an axis id or an axis index instead
  45183. * of a boolean flag.
  45184. */
  45185. colorAxis?: (boolean|number|string);
  45186. /**
  45187. * (Highstock) Styled mode only. A specific color index to use for the
  45188. * series, so its graphic representations are given the class name
  45189. * `highcharts-color-{n}`.
  45190. */
  45191. colorIndex?: number;
  45192. /**
  45193. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  45194. * used to calculate point color if `colorAxis` is used. Requires to set
  45195. * `min` and `max` if some custom point property is used or if approximation
  45196. * for data grouping is set to `'sum'`.
  45197. */
  45198. colorKey?: string;
  45199. /**
  45200. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  45201. * color set to apply instead of the global colors when colorByPoint is
  45202. * true.
  45203. */
  45204. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  45205. /**
  45206. * (Highstock) Compare the values of the series against the first non-null,
  45207. * non- zero value in the visible range. The y axis will show percentage or
  45208. * absolute change depending on whether `compare` is set to `"percent"` or
  45209. * `"value"`. When this is applied to multiple series, it allows comparing
  45210. * the development of the series against each other. Adds a `change` field
  45211. * to every point object.
  45212. */
  45213. compare?: string;
  45214. /**
  45215. * (Highstock) When compare is `percent`, this option dictates whether to
  45216. * use 0 or 100 as the base of comparison.
  45217. */
  45218. compareBase?: (0|100);
  45219. /**
  45220. * (Highstock) Defines if comparison should start from the first point
  45221. * within the visible range or should start from the first point **before**
  45222. * the range.
  45223. *
  45224. * In other words, this flag determines if first point within the visible
  45225. * range will have 0% (`compareStart=true`) or should have been already
  45226. * calculated according to the previous point (`compareStart=false`).
  45227. */
  45228. compareStart?: boolean;
  45229. /**
  45230. * (Gantt) Override Pathfinder connector options for a series. Requires
  45231. * Highcharts Gantt to be loaded.
  45232. */
  45233. connectors?: SeriesConnectorsOptionsObject;
  45234. /**
  45235. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  45236. * rounded to its nearest pixel in order to render sharp on screen. In some
  45237. * cases, when there are a lot of densely packed columns, this leads to
  45238. * visible difference in column widths or distance between columns. In these
  45239. * cases, setting `crisp` to `false` may look better, even though each
  45240. * column is rendered blurry.
  45241. */
  45242. crisp?: boolean;
  45243. /**
  45244. * (Highcharts, Highstock, Gantt) When the series contains less points than
  45245. * the crop threshold, all points are drawn, event if the points fall
  45246. * outside the visible plot area at the current zoom. The advantage of
  45247. * drawing all points (including markers and columns), is that animation is
  45248. * performed on updates. On the other hand, when the series contains more
  45249. * points than the crop threshold, the series data is cropped to only
  45250. * contain points that fall within the plot area. The advantage of cropping
  45251. * away invisible points is to increase performance on large series.
  45252. */
  45253. cropThreshold?: number;
  45254. /**
  45255. * (Highstock) You can set the cursor to "pointer" if you have click events
  45256. * attached to the series, to signal to the user that the points and lines
  45257. * can be clicked.
  45258. *
  45259. * In styled mode, the series cursor can be set with the same classes as
  45260. * listed under series.color.
  45261. */
  45262. cursor?: (string|CursorValue);
  45263. /**
  45264. * (Highstock) A reserved subspace to store options and values for
  45265. * customized functionality. Here you can add additional data for your own
  45266. * event callbacks and formatter callbacks.
  45267. */
  45268. custom?: Dictionary<any>;
  45269. /**
  45270. * (Highstock) Name of the dash style to use for the graph, or for some
  45271. * series types the outline of each shape.
  45272. *
  45273. * In styled mode, the stroke dash-array can be set with the same classes as
  45274. * listed under series.color.
  45275. */
  45276. dashStyle?: DashStyleValue;
  45277. /**
  45278. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  45279. * labels, appearing next to each data point.
  45280. *
  45281. * Since v6.2.0, multiple data labels can be applied to each single point by
  45282. * defining them as an array of configs.
  45283. *
  45284. * In styled mode, the data labels can be styled with the
  45285. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  45286. * (see example).
  45287. */
  45288. dataLabels?: (PlotFlagsDataLabelsOptions|Array<PlotFlagsDataLabelsOptions>);
  45289. /**
  45290. * (Highcharts, Highstock) Options for the series data sorting.
  45291. */
  45292. dataSorting?: (DataSortingOptionsObject|PlotFlagsDataSortingOptions);
  45293. /**
  45294. * (Highcharts) Depth of the columns in a 3D column chart.
  45295. */
  45296. depth?: number;
  45297. /**
  45298. * (Highstock) A description of the series to add to the screen reader
  45299. * information about the series.
  45300. */
  45301. description?: string;
  45302. /**
  45303. * (Highstock) The draggable-points module allows points to be moved around
  45304. * or modified in the chart. In addition to the options mentioned under the
  45305. * `dragDrop` API structure, the module fires three events, point.dragStart,
  45306. * point.drag and point.drop.
  45307. */
  45308. dragDrop?: SeriesDragDropOptionsObject;
  45309. /**
  45310. * (Highcharts) 3D columns only. The color of the edges. Similar to
  45311. * `borderColor`, except it defaults to the same color as the column.
  45312. */
  45313. edgeColor?: ColorString;
  45314. /**
  45315. * (Highcharts) 3D columns only. The width of the colored edges.
  45316. */
  45317. edgeWidth?: number;
  45318. /**
  45319. * (Highstock) Enable or disable the mouse tracking for a specific series.
  45320. * This includes point tooltips and click events on graphs and points. For
  45321. * large datasets it improves performance.
  45322. */
  45323. enableMouseTracking?: boolean;
  45324. /**
  45325. * (Highstock) General event handlers for the series items. These event
  45326. * hooks can also be attached to the series at run time using the
  45327. * `Highcharts.addEvent` function.
  45328. */
  45329. events?: SeriesEventsOptionsObject;
  45330. /**
  45331. * (Highstock) The fill color for the flags.
  45332. */
  45333. fillColor?: (ColorString|GradientColorObject|PatternObject);
  45334. /**
  45335. * (Highstock) Determines whether the series should look for the nearest
  45336. * point in both dimensions or just the x-dimension when hovering the
  45337. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  45338. * series. If the data has duplicate x-values, it is recommended to set this
  45339. * to `'xy'` to allow hovering over all points.
  45340. *
  45341. * Applies only to series types using nearest neighbor search (not direct
  45342. * hover) for tooltip.
  45343. */
  45344. findNearestPointBy?: OptionsFindNearestPointByValue;
  45345. /**
  45346. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  45347. * chart width or only the zoomed area when zooming in on parts of the X
  45348. * axis. By default, the Y axis adjusts to the min and max of the visible
  45349. * data. Cartesian series only.
  45350. */
  45351. getExtremesFromAll?: boolean;
  45352. /**
  45353. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  45354. * let them render independent of each other. Non-grouped columns will be
  45355. * laid out individually and overlap each other.
  45356. */
  45357. grouping?: boolean;
  45358. /**
  45359. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  45360. * axis units.
  45361. */
  45362. groupPadding?: number;
  45363. /**
  45364. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  45365. */
  45366. groupZPadding?: number;
  45367. /**
  45368. * (Highstock) Fixed height of the flag's shape. By default, height is
  45369. * autocalculated according to the flag's title.
  45370. */
  45371. height?: number;
  45372. /**
  45373. * (Highstock) When set to `false` will prevent the series data from being
  45374. * included in any form of data export.
  45375. *
  45376. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  45377. * `includeInCSVExport`.
  45378. */
  45379. includeInDataExport?: boolean;
  45380. /**
  45381. * (Highmaps) What property to join the `mapData` to the value data. For
  45382. * example, if joinBy is "code", the mapData items with a specific code is
  45383. * merged into the data with the same code. For maps loaded from GeoJSON,
  45384. * the keys may be held in each point's `properties` object.
  45385. *
  45386. * The joinBy option can also be an array of two values, where the first
  45387. * points to a key in the `mapData`, and the second points to another key in
  45388. * the `data`.
  45389. *
  45390. * When joinBy is `null`, the map items are joined by their position in the
  45391. * array, which performs much better in maps with many data points. This is
  45392. * the recommended option if you are printing more than a thousand data
  45393. * points and have a backend that can preprocess the data into a parallel
  45394. * array of the mapData.
  45395. */
  45396. joinBy?: (string|Array<string>);
  45397. /**
  45398. * (Highstock) An array specifying which option maps to which key in the
  45399. * data point array. This makes it convenient to work with unstructured data
  45400. * arrays from different sources.
  45401. */
  45402. keys?: Array<string>;
  45403. /**
  45404. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  45405. * series as possible in a natural way, seeking to avoid other series. The
  45406. * goal of this feature is to make the chart more easily readable, like if a
  45407. * human designer placed the labels in the optimal position.
  45408. *
  45409. * The series labels currently work with series types having a `graph` or an
  45410. * `area`.
  45411. */
  45412. label?: SeriesLabelOptionsObject;
  45413. /**
  45414. * (Highstock) The line marks the last price from all points.
  45415. */
  45416. lastPrice?: SeriesLastPriceOptionsObject;
  45417. /**
  45418. * (Highstock) The line marks the last price from visible range of points.
  45419. */
  45420. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  45421. /**
  45422. * (Highstock) The color of the line/border of the flag.
  45423. *
  45424. * In styled mode, the stroke is set in the
  45425. * `.highcharts-flag-series.highcharts-point` rule.
  45426. */
  45427. lineColor?: (ColorString|GradientColorObject|PatternObject);
  45428. /**
  45429. * (Highstock) The pixel width of the flag's line/border.
  45430. */
  45431. lineWidth?: number;
  45432. /**
  45433. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  45434. * Additionally, the value can be ":previous" to link to the previous
  45435. * series. When two series are linked, only the first one appears in the
  45436. * legend. Toggling the visibility of this also toggles the linked series.
  45437. *
  45438. * If master series uses data sorting and linked series does not have its
  45439. * own sorting definition, the linked series will be sorted in the same
  45440. * order as the master one.
  45441. */
  45442. linkedTo?: string;
  45443. /**
  45444. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  45445. * column, translated to the height of a bar in a bar chart. This prevents
  45446. * the columns from becoming too wide when there is a small number of points
  45447. * in the chart.
  45448. */
  45449. maxPointWidth?: number;
  45450. /**
  45451. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  45452. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  45453. * to zero) point, set the minimal point length to a pixel value like 3\. In
  45454. * stacked column charts, minPointLength might not be respected for tightly
  45455. * packed values.
  45456. */
  45457. minPointLength?: number;
  45458. /**
  45459. * (Highstock) Options for the corresponding navigator series if
  45460. * `showInNavigator` is `true` for this series. Available options are the
  45461. * same as any series, documented at plotOptions and series.
  45462. *
  45463. * These options are merged with options in navigator.series, and will take
  45464. * precedence if the same option is defined both places.
  45465. */
  45466. navigatorOptions?: PlotSeriesOptions;
  45467. /**
  45468. * (Highstock) The color for the parts of the graph or points that are below
  45469. * the threshold. Note that `zones` takes precedence over the negative
  45470. * color. Using `negativeColor` is equivalent to applying a zone with value
  45471. * of 0.
  45472. */
  45473. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  45474. /**
  45475. * (Highstock) In case the flag is placed on a series, on what point key to
  45476. * place it. Line and columns have one key, `y`. In range or OHLC-type
  45477. * series, however, the flag can optionally be placed on the `open`, `high`,
  45478. * `low` or `close` key.
  45479. */
  45480. onKey?: OptionsOnKeyValue;
  45481. /**
  45482. * (Highstock) The id of the series that the flags should be drawn on. If no
  45483. * id is given, the flags are drawn on the x axis.
  45484. */
  45485. onSeries?: string;
  45486. /**
  45487. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  45488. * dataLabels.
  45489. */
  45490. opacity?: number;
  45491. /**
  45492. * (Highstock) Properties for each single point.
  45493. */
  45494. point?: PlotSeriesPointOptions;
  45495. /**
  45496. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  45497. * individual series. Overrides the chart wide configuration.
  45498. */
  45499. pointDescriptionFormatter?: Function;
  45500. /**
  45501. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45502. * a series, `pointInterval` defines the interval of the x values. For
  45503. * example, if a series contains one value every decade starting from year
  45504. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  45505. * `pointInterval` is set in milliseconds.
  45506. *
  45507. * It can be also be combined with `pointIntervalUnit` to draw irregular
  45508. * time intervals.
  45509. *
  45510. * Please note that this options applies to the _series data_, not the
  45511. * interval of the axis ticks, which is independent.
  45512. */
  45513. pointInterval?: number;
  45514. /**
  45515. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  45516. * setting the pointInterval to irregular time units, `day`, `month` and
  45517. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  45518. * also takes the DST crossover into consideration when dealing with local
  45519. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  45520. * months, 10 years etc.
  45521. *
  45522. * Please note that this options applies to the _series data_, not the
  45523. * interval of the axis ticks, which is independent.
  45524. */
  45525. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  45526. /**
  45527. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  45528. * `number`.
  45529. *
  45530. * In a column chart, when pointPlacement is `"on"`, the point will not
  45531. * create any padding of the X axis. In a polar column chart this means that
  45532. * the first column points directly north. If the pointPlacement is
  45533. * `"between"`, the columns will be laid out between ticks. This is useful
  45534. * for example for visualising an amount between two points in time or in a
  45535. * certain sector of a polar chart.
  45536. *
  45537. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  45538. * is on the axis value, -0.5 is between this value and the previous, and
  45539. * 0.5 is between this value and the next. Unlike the textual options,
  45540. * numeric point placement options won't affect axis padding.
  45541. *
  45542. * Note that pointPlacement needs a pointRange to work. For column series
  45543. * this is computed, but for line-type series it needs to be set.
  45544. *
  45545. * For the `xrange` series type and gantt charts, if the Y axis is a
  45546. * category axis, the `pointPlacement` applies to the Y axis rather than the
  45547. * (typically datetime) X axis.
  45548. *
  45549. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  45550. */
  45551. pointPlacement?: (number|string);
  45552. /**
  45553. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  45554. * for. This determines the width of the column. On a categorized axis, the
  45555. * range will be 1 by default (one category unit). On linear and datetime
  45556. * axes, the range will be computed as the distance between the two closest
  45557. * data points.
  45558. *
  45559. * The default `null` means it is computed automatically, but this option
  45560. * can be used to override the automatic value.
  45561. *
  45562. * This option is set by default to 1 if data sorting is enabled.
  45563. */
  45564. pointRange?: (number|null);
  45565. /**
  45566. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  45567. * a series, pointStart defines on what value to start. For example, if a
  45568. * series contains one yearly value starting from 1945, set pointStart to
  45569. * 1945.
  45570. */
  45571. pointStart?: number;
  45572. /**
  45573. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  45574. * true, the checkbox next to the series name in the legend will be checked
  45575. * for a selected series.
  45576. */
  45577. selected?: boolean;
  45578. /**
  45579. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  45580. * the shadow can be an object configuration containing `color`, `offsetX`,
  45581. * `offsetY`, `opacity` and `width`.
  45582. */
  45583. shadow?: (boolean|ShadowOptionsObject);
  45584. /**
  45585. * (Highstock) The shape of the marker. Can be one of "flag", "circlepin",
  45586. * "squarepin", or an image of the format `url(/path-to-image.jpg)`.
  45587. * Individual shapes can also be set for each point.
  45588. */
  45589. shape?: FlagsShapeValue;
  45590. /**
  45591. * (Highstock) If true, a checkbox is displayed next to the legend item to
  45592. * allow selecting the series. The state of the checkbox is determined by
  45593. * the `selected` option.
  45594. */
  45595. showCheckbox?: boolean;
  45596. /**
  45597. * (Highstock) Whether to display this particular series or series type in
  45598. * the legend. Standalone series are shown in legend by default, and linked
  45599. * series are not. Since v7.2.0 it is possible to show series that use
  45600. * colorAxis by setting this option to `true`.
  45601. */
  45602. showInLegend?: boolean;
  45603. /**
  45604. * (Highstock) Whether or not to show the series in the navigator. Takes
  45605. * precedence over navigator.baseSeries if defined.
  45606. */
  45607. showInNavigator?: boolean;
  45608. /**
  45609. * (Highstock) If set to `true`, the accessibility module will skip past the
  45610. * points in this series for keyboard navigation.
  45611. */
  45612. skipKeyboardNavigation?: boolean;
  45613. /**
  45614. * (Highcharts, Highstock) When this is true, the series will not cause the
  45615. * Y axis to cross the zero plane (or threshold option) unless the data
  45616. * actually crosses the plane.
  45617. *
  45618. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  45619. * make the Y axis show negative values according to the `minPadding`
  45620. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  45621. */
  45622. softThreshold?: boolean;
  45623. /**
  45624. * (Highstock) When multiple flags in the same series fall on the same
  45625. * value, this number determines the vertical offset between them.
  45626. */
  45627. stackDistance?: number;
  45628. /**
  45629. * (Highcharts, Highstock) Whether to stack the values of each series on top
  45630. * of each other. Possible values are `undefined` to disable, `"normal"` to
  45631. * stack by value or `"percent"`.
  45632. *
  45633. * When stacking is enabled, data must be sorted in ascending X order.
  45634. *
  45635. * Some stacking options are related to specific series types. In the
  45636. * streamgraph series type, the stacking option is set to `"stream"`. The
  45637. * second one is `"overlap"`, which only applies to waterfall series.
  45638. */
  45639. stacking?: OptionsStackingValue;
  45640. states?: SeriesStatesOptionsObject;
  45641. /**
  45642. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  45643. * event on a series isn't triggered until the mouse moves over another
  45644. * series, or out of the plot area. When false, the `mouseOut` event on a
  45645. * series is triggered when the mouse leaves the area around the series'
  45646. * graph or markers. This also implies the tooltip when not shared. When
  45647. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  45648. * be hidden when moving the mouse between series. Defaults to true for line
  45649. * and area type series, but to false for columns, pies etc.
  45650. *
  45651. * **Note:** The boost module will force this option because of technical
  45652. * limitations.
  45653. */
  45654. stickyTracking?: boolean;
  45655. /**
  45656. * (Highstock) The text styles of the flag.
  45657. *
  45658. * In styled mode, the styles are set in the `.highcharts-flag-series
  45659. * .highcharts-point` rule.
  45660. */
  45661. style?: CSSObject;
  45662. /**
  45663. * (Highstock) Text alignment for the text inside the flag.
  45664. */
  45665. textAlign?: OptionsTextAlignValue;
  45666. /**
  45667. * (Highcharts) The Y axis value to serve as the base for the columns, for
  45668. * distinguishing between values above and below a threshold. If `null`, the
  45669. * columns extend from the padding Y axis minimum.
  45670. */
  45671. threshold?: (number|null);
  45672. /**
  45673. * (Highstock) The text to display on each flag. This can be defined on
  45674. * series level, or individually for each point. Defaults to `"A"`.
  45675. */
  45676. title?: string;
  45677. /**
  45678. * (Highstock) Specific tooltip options for flag series. Flag series
  45679. * tooltips are different from most other types in that a flag doesn't have
  45680. * a data value, so the tooltip rather displays the `text` option for each
  45681. * point.
  45682. */
  45683. tooltip?: SeriesTooltipOptionsObject;
  45684. /**
  45685. * (Highstock) Whether to use HTML to render the flag texts. Using HTML
  45686. * allows for advanced formatting, images and reliable bi-directional text
  45687. * rendering. Note that exported images won't respect the HTML, and that
  45688. * HTML won't respect Z-index settings.
  45689. */
  45690. useHTML?: boolean;
  45691. /**
  45692. * (Highstock) Set the initial visibility of the series.
  45693. */
  45694. visible?: boolean;
  45695. /**
  45696. * (Highstock) Fixed width of the flag's shape. By default, width is
  45697. * autocalculated according to the flag's title.
  45698. */
  45699. width?: number;
  45700. /**
  45701. * (Highstock) The y position of the top left corner of the flag relative to
  45702. * either the series (if onSeries is defined), or the x axis. Defaults to
  45703. * `-30`.
  45704. */
  45705. y?: number;
  45706. /**
  45707. * (Highmaps) Define the z index of the series.
  45708. */
  45709. zIndex?: number;
  45710. /**
  45711. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  45712. */
  45713. zoneAxis?: string;
  45714. /**
  45715. * (Highcharts, Highstock) An array defining zones within a series. Zones
  45716. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  45717. * the `zoneAxis` option. The zone definitions have to be in ascending order
  45718. * regarding to the value.
  45719. *
  45720. * In styled mode, the color zones are styled with the
  45721. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  45722. * option (view live demo).
  45723. */
  45724. zones?: Array<SeriesZonesOptionsObject>;
  45725. }
  45726. /**
  45727. * (Highcharts) Enable or disable the initial animation when a series is
  45728. * displayed. The animation can also be set as a configuration object. Please
  45729. * note that this option only applies to the initial animation of the series
  45730. * itself. For other animations, see chart.animation and the animation parameter
  45731. * under the API methods. The following properties are supported:
  45732. *
  45733. * - `defer`: The animation delay time in milliseconds.
  45734. *
  45735. * - `duration`: The duration of the animation in milliseconds.
  45736. *
  45737. * - `easing`: Can be a string reference to an easing function set on the `Math`
  45738. * object or a function. See the _Custom easing function_ demo below.
  45739. *
  45740. * Due to poor performance, animation is disabled in old IE browsers for several
  45741. * chart types.
  45742. */
  45743. export interface PlotFunnel3dAnimationOptions {
  45744. defer?: number;
  45745. }
  45746. /**
  45747. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45748. * animation when a series is displayed for the `dataLabels`. The animation can
  45749. * also be set as a configuration object. Please note that this option only
  45750. * applies to the initial animation. For other animations, see chart.animation
  45751. * and the animation parameter under the API methods. The following properties
  45752. * are supported:
  45753. *
  45754. * - `defer`: The animation delay time in milliseconds.
  45755. */
  45756. export interface PlotFunnel3dDataLabelsAnimationOptions {
  45757. /**
  45758. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  45759. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  45760. * inherits defer time from the series.animation.defer.
  45761. */
  45762. defer?: number;
  45763. }
  45764. /**
  45765. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  45766. * appearing next to each data point.
  45767. *
  45768. * Since v6.2.0, multiple data labels can be applied to each single point by
  45769. * defining them as an array of configs.
  45770. *
  45771. * In styled mode, the data labels can be styled with the
  45772. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  45773. * example).
  45774. */
  45775. export interface PlotFunnel3dDataLabelsOptions {
  45776. /**
  45777. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  45778. * compared to the point. If `right`, the right side of the label should be
  45779. * touching the point. For points with an extent, like columns, the
  45780. * alignments also dictates how to align it inside the box, as given with
  45781. * the inside option. Can be one of `left`, `center` or `right`.
  45782. */
  45783. align?: string;
  45784. /**
  45785. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  45786. * overlap. To make the labels less sensitive for overlapping, the
  45787. * dataLabels.padding can be set to 0.
  45788. */
  45789. allowOverlap?: boolean;
  45790. /**
  45791. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  45792. * animation when a series is displayed for the `dataLabels`. The animation
  45793. * can also be set as a configuration object. Please note that this option
  45794. * only applies to the initial animation. For other animations, see
  45795. * chart.animation and the animation parameter under the API methods. The
  45796. * following properties are supported:
  45797. *
  45798. * - `defer`: The animation delay time in milliseconds.
  45799. */
  45800. animation?: (boolean|PlotFunnel3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  45801. /**
  45802. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  45803. * for the data label.
  45804. */
  45805. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  45806. /**
  45807. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  45808. * label. Defaults to `undefined`.
  45809. */
  45810. borderColor?: (ColorString|GradientColorObject|PatternObject);
  45811. /**
  45812. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  45813. * the data label.
  45814. */
  45815. borderRadius?: number;
  45816. /**
  45817. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  45818. * the data label.
  45819. */
  45820. borderWidth?: number;
  45821. /**
  45822. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  45823. * Particularly in styled mode, this can be used to give each series' or
  45824. * point's data label unique styling. In addition to this option, a default
  45825. * color class name is added so that we can give the labels a contrast text
  45826. * shadow.
  45827. */
  45828. className?: string;
  45829. /**
  45830. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  45831. * labels. Defaults to `undefined`. For certain series types, like column or
  45832. * map, the data labels can be drawn inside the points. In this case the
  45833. * data label will be drawn with maximum contrast by default. Additionally,
  45834. * it will be given a `text-outline` style with the opposite color, to
  45835. * further increase the contrast. This can be overridden by setting the
  45836. * `text-outline` style to `none` in the `dataLabels.style` option.
  45837. */
  45838. color?: (ColorString|GradientColorObject|PatternObject);
  45839. /**
  45840. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  45841. * are outside the plot area. By default, the data label is moved inside the
  45842. * plot area according to the overflow option.
  45843. */
  45844. crop?: boolean;
  45845. /**
  45846. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  45847. * labels until the initial series animation has finished. Setting to
  45848. * `false` renders the data label immediately. If set to `true` inherits the
  45849. * defer time set in plotOptions.series.animation. If set to a number, a
  45850. * defer time is specified in milliseconds.
  45851. */
  45852. defer?: (boolean|number);
  45853. /**
  45854. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  45855. * labels.
  45856. */
  45857. enabled?: boolean;
  45858. /**
  45859. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  45860. * of which data labels to display. The declarative filter is designed for
  45861. * use when callback functions are not available, like when the chart
  45862. * options require a pure JSON structure or for use with graphical editors.
  45863. * For programmatic control, use the `formatter` instead, and return
  45864. * `undefined` to disable a single data label.
  45865. */
  45866. filter?: DataLabelsFilterOptionsObject;
  45867. /**
  45868. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  45869. * label. Available variables are the same as for `formatter`.
  45870. */
  45871. format?: string;
  45872. /**
  45873. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  45874. * format the data label. Note that if a `format` is defined, the format
  45875. * takes precedence and the formatter is ignored.
  45876. */
  45877. formatter?: DataLabelsFormatterCallbackFunction;
  45878. /**
  45879. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  45880. * columns or map areas, whether to align the data label inside the box or
  45881. * to the actual value point. Defaults to `false` in most cases, `true` in
  45882. * stacked columns.
  45883. */
  45884. inside?: boolean;
  45885. /**
  45886. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  45887. * of null. Works analogously to format. `nullFormat` can be applied only to
  45888. * series which support displaying null points.
  45889. */
  45890. nullFormat?: (boolean|string);
  45891. /**
  45892. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  45893. * that defines formatting for points with the value of null. Works
  45894. * analogously to formatter. `nullPointFormatter` can be applied only to
  45895. * series which support displaying null points.
  45896. */
  45897. nullFormatter?: DataLabelsFormatterCallbackFunction;
  45898. /**
  45899. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  45900. * flow outside the plot area. The default is `"justify"`, which aligns them
  45901. * inside the plot area. For columns and bars, this means it will be moved
  45902. * inside the bar. To display data labels outside the plot area, set `crop`
  45903. * to `false` and `overflow` to `"allow"`.
  45904. */
  45905. overflow?: string;
  45906. /**
  45907. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  45908. * the `backgroundColor` is set, this is the padding within the box.
  45909. */
  45910. padding?: number;
  45911. /**
  45912. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  45913. * points. If `center` alignment is not possible, it defaults to `right`.
  45914. */
  45915. position?: AlignValue;
  45916. /**
  45917. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  45918. * that due to a more complex structure, backgrounds, borders and padding
  45919. * will be lost on a rotated data label.
  45920. */
  45921. rotation?: number;
  45922. /**
  45923. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  45924. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  45925. * an object configuration containing `color`, `offsetX`, `offsetY`,
  45926. * `opacity` and `width`.
  45927. */
  45928. shadow?: (boolean|ShadowOptionsObject);
  45929. /**
  45930. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  45931. * the border around the label. Symbols are predefined functions on the
  45932. * Renderer object.
  45933. */
  45934. shape?: string;
  45935. /**
  45936. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  45937. * default `color` setting is `"contrast"`, which is a pseudo color that
  45938. * Highcharts picks up and applies the maximum contrast to the underlying
  45939. * point item, for example the bar in a bar chart.
  45940. *
  45941. * The `textOutline` is a pseudo property that applies an outline of the
  45942. * given width with the given color, which by default is the maximum
  45943. * contrast to the text. So a bright text color will result in a black text
  45944. * outline for maximum readability on a mixed background. In some cases,
  45945. * especially with grayscale text, the text outline doesn't work well, in
  45946. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  45947. * is true, the `textOutline` will not be picked up. In this, case, the same
  45948. * effect can be acheived through the `text-shadow` CSS property.
  45949. *
  45950. * For some series types, where each point has an extent, like for example
  45951. * tree maps, the data label may overflow the point. There are two
  45952. * strategies for handling overflow. By default, the text will wrap to
  45953. * multiple lines. The other strategy is to set `style.textOverflow` to
  45954. * `ellipsis`, which will keep the text on one line plus it will break
  45955. * inside long words.
  45956. */
  45957. style?: CSSObject;
  45958. /**
  45959. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  45960. * should follow marker's shape. Border and background are disabled for a
  45961. * label that follows a path.
  45962. *
  45963. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  45964. * to true will disable this option.
  45965. */
  45966. textPath?: DataLabelsTextPathOptionsObject;
  45967. /**
  45968. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  45969. * the labels.
  45970. */
  45971. useHTML?: boolean;
  45972. /**
  45973. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  45974. * label. Can be one of `top`, `middle` or `bottom`. The default value
  45975. * depends on the data, for instance in a column chart, the label is above
  45976. * positive values and below negative values.
  45977. */
  45978. verticalAlign?: string;
  45979. /**
  45980. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  45981. * label relative to the point in pixels.
  45982. */
  45983. x?: number;
  45984. /**
  45985. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  45986. * label relative to the point in pixels.
  45987. */
  45988. y?: number;
  45989. /**
  45990. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  45991. * The default Z index puts it above the series. Use a Z index of 2 to
  45992. * display it behind the series.
  45993. */
  45994. z?: number;
  45995. }
  45996. /**
  45997. * (Highcharts) Style options for the guide box. The guide box has one state by
  45998. * default, the `default` state.
  45999. */
  46000. export interface PlotFunnel3dDragDropGuideBoxOptions {
  46001. /**
  46002. * (Highcharts) Style options for the guide box default state.
  46003. */
  46004. default?: DragDropGuideBoxOptionsObject;
  46005. }
  46006. /**
  46007. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel charts
  46008. * are a type of chart often used to visualize stages in a sales project, where
  46009. * the top are the initial stages with the most clients.
  46010. *
  46011. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  46012. * module are loaded.
  46013. *
  46014. * In TypeScript the type option must always be set.
  46015. *
  46016. * Configuration options for the series are given in three levels:
  46017. *
  46018. * 1. Options for all series in a chart are defined in the plotOptions.series
  46019. * object.
  46020. *
  46021. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  46022. *
  46023. * 3. Options for one single series are given in the series instance array. (see
  46024. * online documentation for example)
  46025. */
  46026. export interface PlotFunnel3dOptions {
  46027. /**
  46028. * (Highcharts) Accessibility options for a series.
  46029. */
  46030. accessibility?: SeriesAccessibilityOptionsObject;
  46031. /**
  46032. * (Highcharts) Allow this series' points to be selected by clicking on the
  46033. * graphic (columns, point markers, pie slices, map areas etc).
  46034. *
  46035. * The selected points can be handled by point select and unselect events,
  46036. * or collectively by the getSelectedPoints function.
  46037. *
  46038. * And alternative way of selecting points is through dragging.
  46039. */
  46040. allowPointSelect?: boolean;
  46041. /**
  46042. * (Highcharts) Enable or disable the initial animation when a series is
  46043. * displayed. The animation can also be set as a configuration object.
  46044. * Please note that this option only applies to the initial animation of the
  46045. * series itself. For other animations, see chart.animation and the
  46046. * animation parameter under the API methods. The following properties are
  46047. * supported:
  46048. *
  46049. * - `defer`: The animation delay time in milliseconds.
  46050. *
  46051. * - `duration`: The duration of the animation in milliseconds.
  46052. *
  46053. * - `easing`: Can be a string reference to an easing function set on the
  46054. * `Math` object or a function. See the _Custom easing function_ demo below.
  46055. *
  46056. * Due to poor performance, animation is disabled in old IE browsers for
  46057. * several chart types.
  46058. */
  46059. animation?: (boolean|PlotFunnel3dAnimationOptions);
  46060. /**
  46061. * (Highcharts) For some series, there is a limit that shuts down initial
  46062. * animation by default when the total number of points in the chart is too
  46063. * high. For example, for a column chart and its derivatives, animation does
  46064. * not run if there is more than 250 points totally. To disable this cap,
  46065. * set `animationLimit` to `Infinity`.
  46066. */
  46067. animationLimit?: number;
  46068. /**
  46069. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  46070. * column or bar.
  46071. *
  46072. * In styled mode, the border stroke can be set with the `.highcharts-point`
  46073. * rule.
  46074. */
  46075. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46076. /**
  46077. * (Highcharts, Highstock, Gantt) The corner radius of the border
  46078. * surrounding each column or bar.
  46079. */
  46080. borderRadius?: number;
  46081. /**
  46082. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  46083. * column or bar. Defaults to `1` when there is room for a border, but to
  46084. * `0` when the columns are so dense that a border would cover the next
  46085. * column.
  46086. *
  46087. * In styled mode, the stroke width can be set with the `.highcharts-point`
  46088. * rule.
  46089. */
  46090. borderWidth?: number;
  46091. /**
  46092. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  46093. * the category, ignoring null or missing points. When `false`, space will
  46094. * be reserved for null or missing points.
  46095. */
  46096. centerInCategory?: boolean;
  46097. /**
  46098. * (Highcharts) An additional class name to apply to the series' graphical
  46099. * elements. This option does not replace default class names of the
  46100. * graphical element.
  46101. */
  46102. className?: string;
  46103. /**
  46104. * (Highcharts) Disable this option to allow series rendering in the whole
  46105. * plotting area.
  46106. *
  46107. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46108. */
  46109. clip?: boolean;
  46110. /**
  46111. * (Highcharts) The main color of the series. In line type series it applies
  46112. * to the line and the point markers unless otherwise specified. In bar type
  46113. * series it applies to the bars unless a color is specified per point. The
  46114. * default value is pulled from the `options.colors` array.
  46115. *
  46116. * In styled mode, the color can be defined by the colorIndex option. Also,
  46117. * the series color can be set with the `.highcharts-series`,
  46118. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  46119. * `.highcharts-series-{n}` class, or individual classes given by the
  46120. * `className` option.
  46121. */
  46122. color?: (ColorString|GradientColorObject|PatternObject);
  46123. /**
  46124. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  46125. * from the global colors or series-specific plotOptions.column.colors
  46126. * collections, this option determines whether the chart should receive one
  46127. * color per series or one color per point.
  46128. *
  46129. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  46130. * and instead this option gives the points individual color class names on
  46131. * the form `highcharts-color-{n}`.
  46132. */
  46133. colorByPoint?: boolean;
  46134. /**
  46135. * (Highcharts) Styled mode only. A specific color index to use for the
  46136. * series, so its graphic representations are given the class name
  46137. * `highcharts-color-{n}`.
  46138. */
  46139. colorIndex?: number;
  46140. /**
  46141. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  46142. * used to calculate point color if `colorAxis` is used. Requires to set
  46143. * `min` and `max` if some custom point property is used or if approximation
  46144. * for data grouping is set to `'sum'`.
  46145. */
  46146. colorKey?: string;
  46147. /**
  46148. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  46149. * color set to apply instead of the global colors when colorByPoint is
  46150. * true.
  46151. */
  46152. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  46153. /**
  46154. * (Highstock) Defines if comparison should start from the first point
  46155. * within the visible range or should start from the first point **before**
  46156. * the range.
  46157. *
  46158. * In other words, this flag determines if first point within the visible
  46159. * range will have 0% (`compareStart=true`) or should have been already
  46160. * calculated according to the previous point (`compareStart=false`).
  46161. */
  46162. compareStart?: boolean;
  46163. /**
  46164. * (Gantt) Override Pathfinder connector options for a series. Requires
  46165. * Highcharts Gantt to be loaded.
  46166. */
  46167. connectors?: SeriesConnectorsOptionsObject;
  46168. /**
  46169. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  46170. * rounded to its nearest pixel in order to render sharp on screen. In some
  46171. * cases, when there are a lot of densely packed columns, this leads to
  46172. * visible difference in column widths or distance between columns. In these
  46173. * cases, setting `crisp` to `false` may look better, even though each
  46174. * column is rendered blurry.
  46175. */
  46176. crisp?: boolean;
  46177. /**
  46178. * (Highcharts, Highstock, Gantt) When the series contains less points than
  46179. * the crop threshold, all points are drawn, event if the points fall
  46180. * outside the visible plot area at the current zoom. The advantage of
  46181. * drawing all points (including markers and columns), is that animation is
  46182. * performed on updates. On the other hand, when the series contains more
  46183. * points than the crop threshold, the series data is cropped to only
  46184. * contain points that fall within the plot area. The advantage of cropping
  46185. * away invisible points is to increase performance on large series.
  46186. */
  46187. cropThreshold?: number;
  46188. /**
  46189. * (Highcharts) You can set the cursor to "pointer" if you have click events
  46190. * attached to the series, to signal to the user that the points and lines
  46191. * can be clicked.
  46192. *
  46193. * In styled mode, the series cursor can be set with the same classes as
  46194. * listed under series.color.
  46195. */
  46196. cursor?: (string|CursorValue);
  46197. /**
  46198. * (Highcharts) A reserved subspace to store options and values for
  46199. * customized functionality. Here you can add additional data for your own
  46200. * event callbacks and formatter callbacks.
  46201. */
  46202. custom?: Dictionary<any>;
  46203. /**
  46204. * (Highcharts) Name of the dash style to use for the graph, or for some
  46205. * series types the outline of each shape.
  46206. *
  46207. * In styled mode, the stroke dash-array can be set with the same classes as
  46208. * listed under series.color.
  46209. */
  46210. dashStyle?: DashStyleValue;
  46211. /**
  46212. * (Highstock) Data grouping is the concept of sampling the data values into
  46213. * larger blocks in order to ease readability and increase performance of
  46214. * the JavaScript charts. Highcharts Stock by default applies data grouping
  46215. * when the points become closer than a certain pixel value, determined by
  46216. * the `groupPixelWidth` option.
  46217. *
  46218. * If data grouping is applied, the grouping information of grouped points
  46219. * can be read from the Point.dataGroup. If point options other than the
  46220. * data itself are set, for example `name` or `color` or custom properties,
  46221. * the grouping logic doesn't know how to group it. In this case the options
  46222. * of the first point instance are copied over to the group point. This can
  46223. * be altered through a custom `approximation` callback function.
  46224. */
  46225. dataGrouping?: DataGroupingOptionsObject;
  46226. /**
  46227. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  46228. * labels, appearing next to each data point.
  46229. *
  46230. * Since v6.2.0, multiple data labels can be applied to each single point by
  46231. * defining them as an array of configs.
  46232. *
  46233. * In styled mode, the data labels can be styled with the
  46234. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  46235. * (see example).
  46236. */
  46237. dataLabels?: (PlotFunnel3dDataLabelsOptions|Array<PlotFunnel3dDataLabelsOptions>);
  46238. /**
  46239. * (Highcharts) Depth of the columns in a 3D column chart.
  46240. */
  46241. depth?: number;
  46242. /**
  46243. * (Highcharts) A description of the series to add to the screen reader
  46244. * information about the series.
  46245. */
  46246. description?: string;
  46247. /**
  46248. * (Highcharts) The draggable-points module allows points to be moved around
  46249. * or modified in the chart. In addition to the options mentioned under the
  46250. * `dragDrop` API structure, the module fires three events, point.dragStart,
  46251. * point.drag and point.drop.
  46252. */
  46253. dragDrop?: SeriesDragDropOptionsObject;
  46254. /**
  46255. * (Highcharts) 3D columns only. The color of the edges. Similar to
  46256. * `borderColor`, except it defaults to the same color as the column.
  46257. */
  46258. edgeColor?: ColorString;
  46259. /**
  46260. * (Highcharts) 3D columns only. The width of the colored edges.
  46261. */
  46262. edgeWidth?: number;
  46263. /**
  46264. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  46265. * This includes point tooltips and click events on graphs and points. For
  46266. * large datasets it improves performance.
  46267. */
  46268. enableMouseTracking?: boolean;
  46269. /**
  46270. * (Highcharts) General event handlers for the series items. These event
  46271. * hooks can also be attached to the series at run time using the
  46272. * `Highcharts.addEvent` function.
  46273. */
  46274. events?: SeriesEventsOptionsObject;
  46275. /**
  46276. * (Highcharts) Determines whether the series should look for the nearest
  46277. * point in both dimensions or just the x-dimension when hovering the
  46278. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  46279. * series. If the data has duplicate x-values, it is recommended to set this
  46280. * to `'xy'` to allow hovering over all points.
  46281. *
  46282. * Applies only to series types using nearest neighbor search (not direct
  46283. * hover) for tooltip.
  46284. */
  46285. findNearestPointBy?: OptionsFindNearestPointByValue;
  46286. /**
  46287. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  46288. * chart width or only the zoomed area when zooming in on parts of the X
  46289. * axis. By default, the Y axis adjusts to the min and max of the visible
  46290. * data. Cartesian series only.
  46291. */
  46292. getExtremesFromAll?: boolean;
  46293. /**
  46294. * (Highcharts) By deafult sides fill is set to a gradient through this
  46295. * option being set to `true`. Set to `false` to get solid color for the
  46296. * sides.
  46297. */
  46298. gradientForSides?: boolean;
  46299. /**
  46300. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  46301. * let them render independent of each other. Non-grouped columns will be
  46302. * laid out individually and overlap each other.
  46303. */
  46304. grouping?: boolean;
  46305. /**
  46306. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  46307. * axis units.
  46308. */
  46309. groupPadding?: number;
  46310. /**
  46311. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  46312. */
  46313. groupZPadding?: number;
  46314. /**
  46315. * (Highcharts) The height of the series. If it is a number it defines the
  46316. * pixel height, if it is a percentage string it is the percentage of the
  46317. * plot area height.
  46318. */
  46319. height?: (number|string);
  46320. /**
  46321. * (Highcharts) When set to `false` will prevent the series data from being
  46322. * included in any form of data export.
  46323. *
  46324. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  46325. * `includeInCSVExport`.
  46326. */
  46327. includeInDataExport?: boolean;
  46328. /**
  46329. * (Highmaps) What property to join the `mapData` to the value data. For
  46330. * example, if joinBy is "code", the mapData items with a specific code is
  46331. * merged into the data with the same code. For maps loaded from GeoJSON,
  46332. * the keys may be held in each point's `properties` object.
  46333. *
  46334. * The joinBy option can also be an array of two values, where the first
  46335. * points to a key in the `mapData`, and the second points to another key in
  46336. * the `data`.
  46337. *
  46338. * When joinBy is `null`, the map items are joined by their position in the
  46339. * array, which performs much better in maps with many data points. This is
  46340. * the recommended option if you are printing more than a thousand data
  46341. * points and have a backend that can preprocess the data into a parallel
  46342. * array of the mapData.
  46343. */
  46344. joinBy?: (string|Array<string>);
  46345. /**
  46346. * (Highcharts) An array specifying which option maps to which key in the
  46347. * data point array. This makes it convenient to work with unstructured data
  46348. * arrays from different sources.
  46349. */
  46350. keys?: Array<string>;
  46351. /**
  46352. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  46353. * series as possible in a natural way, seeking to avoid other series. The
  46354. * goal of this feature is to make the chart more easily readable, like if a
  46355. * human designer placed the labels in the optimal position.
  46356. *
  46357. * The series labels currently work with series types having a `graph` or an
  46358. * `area`.
  46359. */
  46360. label?: SeriesLabelOptionsObject;
  46361. /**
  46362. * (Highstock) The line marks the last price from all points.
  46363. */
  46364. lastPrice?: SeriesLastPriceOptionsObject;
  46365. /**
  46366. * (Highstock) The line marks the last price from visible range of points.
  46367. */
  46368. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  46369. /**
  46370. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  46371. * Additionally, the value can be ":previous" to link to the previous
  46372. * series. When two series are linked, only the first one appears in the
  46373. * legend. Toggling the visibility of this also toggles the linked series.
  46374. *
  46375. * If master series uses data sorting and linked series does not have its
  46376. * own sorting definition, the linked series will be sorted in the same
  46377. * order as the master one.
  46378. */
  46379. linkedTo?: string;
  46380. /**
  46381. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  46382. * column, translated to the height of a bar in a bar chart. This prevents
  46383. * the columns from becoming too wide when there is a small number of points
  46384. * in the chart.
  46385. */
  46386. maxPointWidth?: number;
  46387. /**
  46388. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  46389. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  46390. * to zero) point, set the minimal point length to a pixel value like 3\. In
  46391. * stacked column charts, minPointLength might not be respected for tightly
  46392. * packed values.
  46393. */
  46394. minPointLength?: number;
  46395. /**
  46396. * (Highstock) Options for the corresponding navigator series if
  46397. * `showInNavigator` is `true` for this series. Available options are the
  46398. * same as any series, documented at plotOptions and series.
  46399. *
  46400. * These options are merged with options in navigator.series, and will take
  46401. * precedence if the same option is defined both places.
  46402. */
  46403. navigatorOptions?: PlotSeriesOptions;
  46404. /**
  46405. * (Highcharts) The height of the neck, the lower part of the funnel. A
  46406. * number defines pixel width, a percentage string defines a percentage of
  46407. * the plot area height.
  46408. */
  46409. neckHeight?: (number|string);
  46410. /**
  46411. * (Highcharts) The width of the neck, the lower part of the funnel. A
  46412. * number defines pixel width, a percentage string defines a percentage of
  46413. * the plot area width.
  46414. */
  46415. neckWidth?: (number|string);
  46416. /**
  46417. * (Highcharts) The color for the parts of the graph or points that are
  46418. * below the threshold. Note that `zones` takes precedence over the negative
  46419. * color. Using `negativeColor` is equivalent to applying a zone with value
  46420. * of 0.
  46421. */
  46422. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  46423. /**
  46424. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  46425. * dataLabels.
  46426. */
  46427. opacity?: number;
  46428. /**
  46429. * (Highcharts) Properties for each single point.
  46430. */
  46431. point?: PlotSeriesPointOptions;
  46432. /**
  46433. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  46434. * an individual series. Overrides the chart wide configuration.
  46435. */
  46436. pointDescriptionFormatter?: Function;
  46437. /**
  46438. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  46439. * a series, `pointInterval` defines the interval of the x values. For
  46440. * example, if a series contains one value every decade starting from year
  46441. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  46442. * `pointInterval` is set in milliseconds.
  46443. *
  46444. * It can be also be combined with `pointIntervalUnit` to draw irregular
  46445. * time intervals.
  46446. *
  46447. * Please note that this options applies to the _series data_, not the
  46448. * interval of the axis ticks, which is independent.
  46449. */
  46450. pointInterval?: number;
  46451. /**
  46452. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  46453. * setting the pointInterval to irregular time units, `day`, `month` and
  46454. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  46455. * also takes the DST crossover into consideration when dealing with local
  46456. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  46457. * months, 10 years etc.
  46458. *
  46459. * Please note that this options applies to the _series data_, not the
  46460. * interval of the axis ticks, which is independent.
  46461. */
  46462. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  46463. /**
  46464. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  46465. * axis units.
  46466. */
  46467. pointPadding?: number;
  46468. /**
  46469. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  46470. * `number`.
  46471. *
  46472. * In a column chart, when pointPlacement is `"on"`, the point will not
  46473. * create any padding of the X axis. In a polar column chart this means that
  46474. * the first column points directly north. If the pointPlacement is
  46475. * `"between"`, the columns will be laid out between ticks. This is useful
  46476. * for example for visualising an amount between two points in time or in a
  46477. * certain sector of a polar chart.
  46478. *
  46479. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  46480. * is on the axis value, -0.5 is between this value and the previous, and
  46481. * 0.5 is between this value and the next. Unlike the textual options,
  46482. * numeric point placement options won't affect axis padding.
  46483. *
  46484. * Note that pointPlacement needs a pointRange to work. For column series
  46485. * this is computed, but for line-type series it needs to be set.
  46486. *
  46487. * For the `xrange` series type and gantt charts, if the Y axis is a
  46488. * category axis, the `pointPlacement` applies to the Y axis rather than the
  46489. * (typically datetime) X axis.
  46490. *
  46491. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  46492. */
  46493. pointPlacement?: (number|string);
  46494. /**
  46495. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  46496. * for. This determines the width of the column. On a categorized axis, the
  46497. * range will be 1 by default (one category unit). On linear and datetime
  46498. * axes, the range will be computed as the distance between the two closest
  46499. * data points.
  46500. *
  46501. * The default `null` means it is computed automatically, but this option
  46502. * can be used to override the automatic value.
  46503. *
  46504. * This option is set by default to 1 if data sorting is enabled.
  46505. */
  46506. pointRange?: (number|null);
  46507. /**
  46508. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  46509. * a series, pointStart defines on what value to start. For example, if a
  46510. * series contains one yearly value starting from 1945, set pointStart to
  46511. * 1945.
  46512. */
  46513. pointStart?: number;
  46514. /**
  46515. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  46516. * each column or bar point. When set to `undefined`, the width is
  46517. * calculated from the `pointPadding` and `groupPadding`. The width effects
  46518. * the dimension that is not based on the point value. For column series it
  46519. * is the hoizontal length and for bar series it is the vertical length.
  46520. */
  46521. pointWidth?: number;
  46522. /**
  46523. * (Highcharts) A reversed funnel has the widest area down. A reversed
  46524. * funnel with no neck width and neck height is a pyramid.
  46525. */
  46526. reversed?: boolean;
  46527. /**
  46528. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  46529. * true, the checkbox next to the series name in the legend will be checked
  46530. * for a selected series.
  46531. */
  46532. selected?: boolean;
  46533. /**
  46534. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  46535. * the shadow can be an object configuration containing `color`, `offsetX`,
  46536. * `offsetY`, `opacity` and `width`.
  46537. */
  46538. shadow?: (boolean|ShadowOptionsObject);
  46539. /**
  46540. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  46541. * allow selecting the series. The state of the checkbox is determined by
  46542. * the `selected` option.
  46543. */
  46544. showCheckbox?: boolean;
  46545. /**
  46546. * (Highcharts) Whether to display this particular series or series type in
  46547. * the legend. Standalone series are shown in legend by default, and linked
  46548. * series are not. Since v7.2.0 it is possible to show series that use
  46549. * colorAxis by setting this option to `true`.
  46550. */
  46551. showInLegend?: boolean;
  46552. /**
  46553. * (Highstock) Whether or not to show the series in the navigator. Takes
  46554. * precedence over navigator.baseSeries if defined.
  46555. */
  46556. showInNavigator?: boolean;
  46557. /**
  46558. * (Highcharts) If set to `true`, the accessibility module will skip past
  46559. * the points in this series for keyboard navigation.
  46560. */
  46561. skipKeyboardNavigation?: boolean;
  46562. /**
  46563. * (Highcharts, Highstock) When this is true, the series will not cause the
  46564. * Y axis to cross the zero plane (or threshold option) unless the data
  46565. * actually crosses the plane.
  46566. *
  46567. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  46568. * make the Y axis show negative values according to the `minPadding`
  46569. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  46570. */
  46571. softThreshold?: boolean;
  46572. /**
  46573. * (Highcharts, Highstock) Whether to stack the values of each series on top
  46574. * of each other. Possible values are `undefined` to disable, `"normal"` to
  46575. * stack by value or `"percent"`.
  46576. *
  46577. * When stacking is enabled, data must be sorted in ascending X order.
  46578. *
  46579. * Some stacking options are related to specific series types. In the
  46580. * streamgraph series type, the stacking option is set to `"stream"`. The
  46581. * second one is `"overlap"`, which only applies to waterfall series.
  46582. */
  46583. stacking?: OptionsStackingValue;
  46584. states?: SeriesStatesOptionsObject;
  46585. /**
  46586. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  46587. * event on a series isn't triggered until the mouse moves over another
  46588. * series, or out of the plot area. When false, the `mouseOut` event on a
  46589. * series is triggered when the mouse leaves the area around the series'
  46590. * graph or markers. This also implies the tooltip when not shared. When
  46591. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  46592. * be hidden when moving the mouse between series. Defaults to true for line
  46593. * and area type series, but to false for columns, pies etc.
  46594. *
  46595. * **Note:** The boost module will force this option because of technical
  46596. * limitations.
  46597. */
  46598. stickyTracking?: boolean;
  46599. /**
  46600. * (Highcharts) The Y axis value to serve as the base for the columns, for
  46601. * distinguishing between values above and below a threshold. If `null`, the
  46602. * columns extend from the padding Y axis minimum.
  46603. */
  46604. threshold?: (number|null);
  46605. /**
  46606. * (Highcharts) A configuration object for the tooltip rendering of each
  46607. * single series. Properties are inherited from tooltip, but only the
  46608. * following properties can be defined on a series level.
  46609. */
  46610. tooltip?: SeriesTooltipOptionsObject;
  46611. /**
  46612. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  46613. * is longer than this, only one dimensional arrays of numbers, or two
  46614. * dimensional arrays with x and y values are allowed. Also, only the first
  46615. * point is tested, and the rest are assumed to be the same format. This
  46616. * saves expensive data checking and indexing in long series. Set it to `0`
  46617. * disable.
  46618. *
  46619. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  46620. * two dimensional arrays are allowed.
  46621. */
  46622. turboThreshold?: number;
  46623. /**
  46624. * (Highcharts) Set the initial visibility of the series.
  46625. */
  46626. visible?: boolean;
  46627. /**
  46628. * (Highcharts) The max width of the series compared to the width of the
  46629. * plot area, or the pixel width if it is a number.
  46630. */
  46631. width?: (number|string);
  46632. /**
  46633. * (Highmaps) Define the z index of the series.
  46634. */
  46635. zIndex?: number;
  46636. /**
  46637. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  46638. */
  46639. zoneAxis?: string;
  46640. /**
  46641. * (Highcharts, Highstock) An array defining zones within a series. Zones
  46642. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  46643. * the `zoneAxis` option. The zone definitions have to be in ascending order
  46644. * regarding to the value.
  46645. *
  46646. * In styled mode, the color zones are styled with the
  46647. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  46648. * option (view live demo).
  46649. */
  46650. zones?: Array<SeriesZonesOptionsObject>;
  46651. }
  46652. /**
  46653. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  46654. */
  46655. export interface PlotFunnelAnimationOptions {
  46656. defer?: number;
  46657. }
  46658. /**
  46659. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  46660. * animation when a series is displayed for the `dataLabels`. The animation can
  46661. * also be set as a configuration object. Please note that this option only
  46662. * applies to the initial animation. For other animations, see chart.animation
  46663. * and the animation parameter under the API methods. The following properties
  46664. * are supported:
  46665. *
  46666. * - `defer`: The animation delay time in milliseconds.
  46667. */
  46668. export interface PlotFunnelDataLabelsAnimationOptions {
  46669. /**
  46670. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  46671. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  46672. * inherits defer time from the series.animation.defer.
  46673. */
  46674. defer?: number;
  46675. }
  46676. /**
  46677. * (Highcharts) Funnel charts are a type of chart often used to visualize stages
  46678. * in a sales project, where the top are the initial stages with the most
  46679. * clients. It requires that the modules/funnel.js file is loaded.
  46680. *
  46681. * In TypeScript the type option must always be set.
  46682. *
  46683. * Configuration options for the series are given in three levels:
  46684. *
  46685. * 1. Options for all series in a chart are defined in the plotOptions.series
  46686. * object.
  46687. *
  46688. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  46689. *
  46690. * 3. Options for one single series are given in the series instance array. (see
  46691. * online documentation for example)
  46692. */
  46693. export interface PlotFunnelOptions {
  46694. /**
  46695. * (Highcharts) Accessibility options for a series.
  46696. */
  46697. accessibility?: SeriesAccessibilityOptionsObject;
  46698. /**
  46699. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  46700. * rendered. If `true`, areas which don't correspond to a data point, are
  46701. * rendered as `null` points. If `false`, those areas are skipped.
  46702. */
  46703. allAreas?: boolean;
  46704. /**
  46705. * (Highcharts) Allow this series' points to be selected by clicking on the
  46706. * graphic (columns, point markers, pie slices, map areas etc).
  46707. *
  46708. * The selected points can be handled by point select and unselect events,
  46709. * or collectively by the getSelectedPoints function.
  46710. *
  46711. * And alternative way of selecting points is through dragging.
  46712. */
  46713. allowPointSelect?: boolean;
  46714. /**
  46715. * (Highcharts) Initial animation is by default disabled for the funnel
  46716. * chart.
  46717. */
  46718. animation?: (boolean|PlotFunnelAnimationOptions);
  46719. /**
  46720. * (Highcharts) The color of the border surrounding each slice. When `null`,
  46721. * the border takes the same color as the slice fill. This can be used
  46722. * together with a `borderWidth` to fill drawing gaps created by
  46723. * antialiazing artefacts in borderless pies.
  46724. *
  46725. * In styled mode, the border stroke is given in the `.highcharts-point`
  46726. * class.
  46727. */
  46728. borderColor?: (ColorString|GradientColorObject|PatternObject);
  46729. /**
  46730. * (Highcharts) The width of the border surrounding each slice.
  46731. *
  46732. * When setting the border width to 0, there may be small gaps between the
  46733. * slices due to SVG antialiasing artefacts. To work around this, keep the
  46734. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  46735. *
  46736. * In styled mode, the border stroke width is given in the
  46737. * `.highcharts-point` class.
  46738. */
  46739. borderWidth?: number;
  46740. /**
  46741. * (Highcharts) The center of the series. By default, it is centered in the
  46742. * middle of the plot area, so it fills the plot area height.
  46743. */
  46744. center?: Array<(number|string)>;
  46745. /**
  46746. * (Highcharts) An additional class name to apply to the series' graphical
  46747. * elements. This option does not replace default class names of the
  46748. * graphical element.
  46749. */
  46750. className?: string;
  46751. /**
  46752. * (Highcharts) Disable this option to allow series rendering in the whole
  46753. * plotting area.
  46754. *
  46755. * **Note:** Clipping should be always enabled when chart.zoomType is set
  46756. */
  46757. clip?: boolean;
  46758. /**
  46759. * (Highcharts) The color of the pie series. A pie series is represented as
  46760. * an empty circle if the total sum of its values is 0. Use this property to
  46761. * define the color of its border.
  46762. *
  46763. * In styled mode, the color can be defined by the colorIndex option. Also,
  46764. * the series color can be set with the `.highcharts-series`,
  46765. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  46766. * `.highcharts-series-{n}` class, or individual classes given by the
  46767. * `className` option.
  46768. */
  46769. color?: (ColorString|GradientColorObject|PatternObject);
  46770. /**
  46771. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  46772. * this number defines which colorAxis the particular series is connected
  46773. * to. It refers to either the axis id or the index of the axis in the
  46774. * colorAxis array, with 0 being the first. Set this option to false to
  46775. * prevent a series from connecting to the default color axis.
  46776. *
  46777. * Since v7.2.0 the option can also be an axis id or an axis index instead
  46778. * of a boolean flag.
  46779. */
  46780. colorAxis?: (boolean|number|string);
  46781. /**
  46782. * (Highcharts) Styled mode only. A specific color index to use for the
  46783. * series, so its graphic representations are given the class name
  46784. * `highcharts-color-{n}`.
  46785. */
  46786. colorIndex?: number;
  46787. /**
  46788. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  46789. * used to calculate point color if `colorAxis` is used. Requires to set
  46790. * `min` and `max` if some custom point property is used or if approximation
  46791. * for data grouping is set to `'sum'`.
  46792. */
  46793. colorKey?: string;
  46794. /**
  46795. * (Highcharts) A series specific or series type specific color set to use
  46796. * instead of the global colors.
  46797. */
  46798. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  46799. /**
  46800. * (Highstock) Compare the values of the series against the first non-null,
  46801. * non- zero value in the visible range. The y axis will show percentage or
  46802. * absolute change depending on whether `compare` is set to `"percent"` or
  46803. * `"value"`. When this is applied to multiple series, it allows comparing
  46804. * the development of the series against each other. Adds a `change` field
  46805. * to every point object.
  46806. */
  46807. compare?: string;
  46808. /**
  46809. * (Highstock) When compare is `percent`, this option dictates whether to
  46810. * use 0 or 100 as the base of comparison.
  46811. */
  46812. compareBase?: (0|100);
  46813. /**
  46814. * (Highstock) Defines if comparison should start from the first point
  46815. * within the visible range or should start from the first point **before**
  46816. * the range.
  46817. *
  46818. * In other words, this flag determines if first point within the visible
  46819. * range will have 0% (`compareStart=true`) or should have been already
  46820. * calculated according to the previous point (`compareStart=false`).
  46821. */
  46822. compareStart?: boolean;
  46823. /**
  46824. * (Gantt) Override Pathfinder connector options for a series. Requires
  46825. * Highcharts Gantt to be loaded.
  46826. */
  46827. connectors?: SeriesConnectorsOptionsObject;
  46828. /**
  46829. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  46830. * rounded to its nearest pixel in order to render sharp on screen. In some
  46831. * cases, when there are a lot of densely packed columns, this leads to
  46832. * visible difference in column widths or distance between columns. In these
  46833. * cases, setting `crisp` to `false` may look better, even though each
  46834. * column is rendered blurry.
  46835. */
  46836. crisp?: boolean;
  46837. /**
  46838. * (Highcharts) You can set the cursor to "pointer" if you have click events
  46839. * attached to the series, to signal to the user that the points and lines
  46840. * can be clicked.
  46841. *
  46842. * In styled mode, the series cursor can be set with the same classes as
  46843. * listed under series.color.
  46844. */
  46845. cursor?: (string|CursorValue);
  46846. /**
  46847. * (Highcharts) A reserved subspace to store options and values for
  46848. * customized functionality. Here you can add additional data for your own
  46849. * event callbacks and formatter callbacks.
  46850. */
  46851. custom?: Dictionary<any>;
  46852. /**
  46853. * (Highstock) Data grouping is the concept of sampling the data values into
  46854. * larger blocks in order to ease readability and increase performance of
  46855. * the JavaScript charts. Highcharts Stock by default applies data grouping
  46856. * when the points become closer than a certain pixel value, determined by
  46857. * the `groupPixelWidth` option.
  46858. *
  46859. * If data grouping is applied, the grouping information of grouped points
  46860. * can be read from the Point.dataGroup. If point options other than the
  46861. * data itself are set, for example `name` or `color` or custom properties,
  46862. * the grouping logic doesn't know how to group it. In this case the options
  46863. * of the first point instance are copied over to the group point. This can
  46864. * be altered through a custom `approximation` callback function.
  46865. */
  46866. dataGrouping?: DataGroupingOptionsObject;
  46867. /**
  46868. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  46869. * labels, appearing next to each data point.
  46870. *
  46871. * Since v6.2.0, multiple data labels can be applied to each single point by
  46872. * defining them as an array of configs.
  46873. *
  46874. * In styled mode, the data labels can be styled with the
  46875. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  46876. * (see example).
  46877. */
  46878. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  46879. /**
  46880. * (Highcharts) The thickness of a 3D pie.
  46881. */
  46882. depth?: number;
  46883. /**
  46884. * (Highcharts) A description of the series to add to the screen reader
  46885. * information about the series.
  46886. */
  46887. description?: string;
  46888. /**
  46889. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  46890. * This includes point tooltips and click events on graphs and points. For
  46891. * large datasets it improves performance.
  46892. */
  46893. enableMouseTracking?: boolean;
  46894. /**
  46895. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  46896. * right. Defaults to `startAngle` plus 360.
  46897. */
  46898. endAngle?: number;
  46899. /**
  46900. * (Highcharts) General event handlers for the series items. These event
  46901. * hooks can also be attached to the series at run time using the
  46902. * `Highcharts.addEvent` function.
  46903. */
  46904. events?: SeriesEventsOptionsObject;
  46905. /**
  46906. * (Highcharts) If the total sum of the pie's values is 0, the series is
  46907. * represented as an empty circle . The `fillColor` option defines the color
  46908. * of that circle. Use pie.borderWidth to set the border thickness.
  46909. */
  46910. fillColor?: (ColorString|GradientColorObject|PatternObject);
  46911. /**
  46912. * (Highstock) Defines when to display a gap in the graph, together with the
  46913. * gapUnit option.
  46914. *
  46915. * In case when `dataGrouping` is enabled, points can be grouped into a
  46916. * larger time span. This can make the grouped points to have a greater
  46917. * distance than the absolute value of `gapSize` property, which will result
  46918. * in disappearing graph completely. To prevent this situation the mentioned
  46919. * distance between grouped points is used instead of previously defined
  46920. * `gapSize`.
  46921. *
  46922. * In practice, this option is most often used to visualize gaps in time
  46923. * series. In a stock chart, intraday data is available for daytime hours,
  46924. * while gaps will appear in nights and weekends.
  46925. */
  46926. gapSize?: number;
  46927. /**
  46928. * (Highstock) Together with gapSize, this option defines where to draw gaps
  46929. * in the graph.
  46930. *
  46931. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  46932. * if the distance between two points is greater than 5 times that of the
  46933. * two closest points, the graph will be broken.
  46934. *
  46935. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  46936. * values, which on a datetime axis is milliseconds. This also applies to
  46937. * the navigator series that inherits gap options from the base series.
  46938. */
  46939. gapUnit?: OptionsGapUnitValue;
  46940. /**
  46941. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  46942. * defines the pixel height, if it is a percentage string it is the
  46943. * percentage of the plot area height.
  46944. */
  46945. height?: (number|string);
  46946. /**
  46947. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  46948. * whether the series shall be redrawn as if the hidden point were `null`.
  46949. *
  46950. * The default value changed from `false` to `true` with Highcharts 3.0.
  46951. */
  46952. ignoreHiddenPoint?: boolean;
  46953. /**
  46954. * (Highcharts) When set to `false` will prevent the series data from being
  46955. * included in any form of data export.
  46956. *
  46957. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  46958. * `includeInCSVExport`.
  46959. */
  46960. includeInDataExport?: boolean;
  46961. /**
  46962. * (Highmaps) What property to join the `mapData` to the value data. For
  46963. * example, if joinBy is "code", the mapData items with a specific code is
  46964. * merged into the data with the same code. For maps loaded from GeoJSON,
  46965. * the keys may be held in each point's `properties` object.
  46966. *
  46967. * The joinBy option can also be an array of two values, where the first
  46968. * points to a key in the `mapData`, and the second points to another key in
  46969. * the `data`.
  46970. *
  46971. * When joinBy is `null`, the map items are joined by their position in the
  46972. * array, which performs much better in maps with many data points. This is
  46973. * the recommended option if you are printing more than a thousand data
  46974. * points and have a backend that can preprocess the data into a parallel
  46975. * array of the mapData.
  46976. */
  46977. joinBy?: (string|Array<string>);
  46978. /**
  46979. * (Highcharts) An array specifying which option maps to which key in the
  46980. * data point array. This makes it convenient to work with unstructured data
  46981. * arrays from different sources.
  46982. */
  46983. keys?: Array<string>;
  46984. /**
  46985. * (Highstock) The line marks the last price from all points.
  46986. */
  46987. lastPrice?: SeriesLastPriceOptionsObject;
  46988. /**
  46989. * (Highstock) The line marks the last price from visible range of points.
  46990. */
  46991. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  46992. /**
  46993. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  46994. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  46995. * the ends and bends.
  46996. */
  46997. linecap?: SeriesLinecapValue;
  46998. /**
  46999. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  47000. * Additionally, the value can be ":previous" to link to the previous
  47001. * series. When two series are linked, only the first one appears in the
  47002. * legend. Toggling the visibility of this also toggles the linked series.
  47003. *
  47004. * If master series uses data sorting and linked series does not have its
  47005. * own sorting definition, the linked series will be sorted in the same
  47006. * order as the master one.
  47007. */
  47008. linkedTo?: string;
  47009. /**
  47010. * (Highcharts) The minimum size for a pie in response to auto margins. The
  47011. * pie will try to shrink to make room for data labels in side the plot
  47012. * area, but only to this size.
  47013. */
  47014. minSize?: (number|string);
  47015. /**
  47016. * (Highstock) Options for the corresponding navigator series if
  47017. * `showInNavigator` is `true` for this series. Available options are the
  47018. * same as any series, documented at plotOptions and series.
  47019. *
  47020. * These options are merged with options in navigator.series, and will take
  47021. * precedence if the same option is defined both places.
  47022. */
  47023. navigatorOptions?: PlotSeriesOptions;
  47024. /**
  47025. * (Highcharts) The height of the neck, the lower part of the funnel. A
  47026. * number defines pixel width, a percentage string defines a percentage of
  47027. * the plot area height.
  47028. */
  47029. neckHeight?: (number|string);
  47030. /**
  47031. * (Highcharts) The width of the neck, the lower part of the funnel. A
  47032. * number defines pixel width, a percentage string defines a percentage of
  47033. * the plot area width.
  47034. */
  47035. neckWidth?: (number|string);
  47036. /**
  47037. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  47038. * dataLabels.
  47039. */
  47040. opacity?: number;
  47041. /**
  47042. * (Highcharts) Properties for each single point.
  47043. */
  47044. point?: PlotSeriesPointOptions;
  47045. /**
  47046. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  47047. * an individual series. Overrides the chart wide configuration.
  47048. */
  47049. pointDescriptionFormatter?: Function;
  47050. /**
  47051. * (Highstock) The width of each point on the x axis. For example in a
  47052. * column chart with one value each day, the pointRange would be 1 day (= 24
  47053. * * 3600
  47054. *
  47055. * * 1000 milliseconds). This is normally computed automatically, but this
  47056. * option can be used to override the automatic value.
  47057. */
  47058. pointRange?: number;
  47059. /**
  47060. * (Highcharts) A reversed funnel has the widest area down. A reversed
  47061. * funnel with no neck width and neck height is a pyramid.
  47062. */
  47063. reversed?: boolean;
  47064. /**
  47065. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  47066. * true, the checkbox next to the series name in the legend will be checked
  47067. * for a selected series.
  47068. */
  47069. selected?: boolean;
  47070. /**
  47071. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  47072. * the shadow can be an object configuration containing `color`, `offsetX`,
  47073. * `offsetY`, `opacity` and `width`.
  47074. */
  47075. shadow?: (boolean|ShadowOptionsObject);
  47076. /**
  47077. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  47078. * allow selecting the series. The state of the checkbox is determined by
  47079. * the `selected` option.
  47080. */
  47081. showCheckbox?: boolean;
  47082. /**
  47083. * (Highcharts) Whether to display this particular series or series type in
  47084. * the legend. Since 2.1, pies are not shown in the legend by default.
  47085. */
  47086. showInLegend?: boolean;
  47087. /**
  47088. * (Highstock) Whether or not to show the series in the navigator. Takes
  47089. * precedence over navigator.baseSeries if defined.
  47090. */
  47091. showInNavigator?: boolean;
  47092. /**
  47093. * (Highcharts) If set to `true`, the accessibility module will skip past
  47094. * the points in this series for keyboard navigation.
  47095. */
  47096. skipKeyboardNavigation?: boolean;
  47097. /**
  47098. * (Highcharts) If a point is sliced, moved out from the center, how many
  47099. * pixels should it be moved?.
  47100. */
  47101. slicedOffset?: number;
  47102. /**
  47103. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  47104. * and 90 right.
  47105. */
  47106. startAngle?: number;
  47107. /**
  47108. * (Highcharts) Options for the series states.
  47109. */
  47110. states?: SeriesStatesOptionsObject;
  47111. /**
  47112. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  47113. * event on a series isn't triggered until the mouse moves over another
  47114. * series, or out of the plot area. When false, the `mouseOut` event on a
  47115. * series is triggered when the mouse leaves the area around the series'
  47116. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  47117. * false and `tooltip.shared` is false, the tooltip will be hidden when
  47118. * moving the mouse between series.
  47119. */
  47120. stickyTracking?: boolean;
  47121. /**
  47122. * (Highcharts) A configuration object for the tooltip rendering of each
  47123. * single series. Properties are inherited from tooltip, but only the
  47124. * following properties can be defined on a series level.
  47125. */
  47126. tooltip?: SeriesTooltipOptionsObject;
  47127. /**
  47128. * (Highstock) The parameter allows setting line series type and use OHLC
  47129. * indicators. Data in OHLC format is required.
  47130. */
  47131. useOhlcData?: boolean;
  47132. /**
  47133. * (Highcharts) Set the initial visibility of the series.
  47134. */
  47135. visible?: boolean;
  47136. /**
  47137. * (Highcharts) The width of the funnel compared to the width of the plot
  47138. * area, or the pixel width if it is a number.
  47139. */
  47140. width?: (number|string);
  47141. /**
  47142. * (Highmaps) Define the z index of the series.
  47143. */
  47144. zIndex?: number;
  47145. }
  47146. /**
  47147. * (Gantt) Enable or disable the initial animation when a series is displayed.
  47148. * The animation can also be set as a configuration object. Please note that
  47149. * this option only applies to the initial animation of the series itself. For
  47150. * other animations, see chart.animation and the animation parameter under the
  47151. * API methods. The following properties are supported:
  47152. *
  47153. * - `defer`: The animation delay time in milliseconds.
  47154. *
  47155. * - `duration`: The duration of the animation in milliseconds.
  47156. *
  47157. * - `easing`: Can be a string reference to an easing function set on the `Math`
  47158. * object or a function. See the _Custom easing function_ demo below.
  47159. *
  47160. * Due to poor performance, animation is disabled in old IE browsers for several
  47161. * chart types.
  47162. */
  47163. export interface PlotGanttAnimationOptions {
  47164. defer?: number;
  47165. }
  47166. /**
  47167. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47168. * animation when a series is displayed for the `dataLabels`. The animation can
  47169. * also be set as a configuration object. Please note that this option only
  47170. * applies to the initial animation. For other animations, see chart.animation
  47171. * and the animation parameter under the API methods. The following properties
  47172. * are supported:
  47173. *
  47174. * - `defer`: The animation delay time in milliseconds.
  47175. */
  47176. export interface PlotGanttDataLabelsAnimationOptions {
  47177. /**
  47178. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  47179. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  47180. * inherits defer time from the series.animation.defer.
  47181. */
  47182. defer?: number;
  47183. }
  47184. /**
  47185. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  47186. * appearing next to each data point.
  47187. *
  47188. * Since v6.2.0, multiple data labels can be applied to each single point by
  47189. * defining them as an array of configs.
  47190. *
  47191. * In styled mode, the data labels can be styled with the
  47192. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  47193. * example).
  47194. */
  47195. export interface PlotGanttDataLabelsOptions {
  47196. /**
  47197. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  47198. * compared to the point. If `right`, the right side of the label should be
  47199. * touching the point. For points with an extent, like columns, the
  47200. * alignments also dictates how to align it inside the box, as given with
  47201. * the inside option. Can be one of `left`, `center` or `right`.
  47202. */
  47203. align?: string;
  47204. /**
  47205. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  47206. * overlap. To make the labels less sensitive for overlapping, the
  47207. * dataLabels.padding can be set to 0.
  47208. */
  47209. allowOverlap?: boolean;
  47210. /**
  47211. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  47212. * animation when a series is displayed for the `dataLabels`. The animation
  47213. * can also be set as a configuration object. Please note that this option
  47214. * only applies to the initial animation. For other animations, see
  47215. * chart.animation and the animation parameter under the API methods. The
  47216. * following properties are supported:
  47217. *
  47218. * - `defer`: The animation delay time in milliseconds.
  47219. */
  47220. animation?: (boolean|PlotGanttDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  47221. /**
  47222. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  47223. * for the data label.
  47224. */
  47225. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  47226. /**
  47227. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  47228. * label. Defaults to `undefined`.
  47229. */
  47230. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47231. /**
  47232. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  47233. * the data label.
  47234. */
  47235. borderRadius?: number;
  47236. /**
  47237. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  47238. * the data label.
  47239. */
  47240. borderWidth?: number;
  47241. /**
  47242. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  47243. * Particularly in styled mode, this can be used to give each series' or
  47244. * point's data label unique styling. In addition to this option, a default
  47245. * color class name is added so that we can give the labels a contrast text
  47246. * shadow.
  47247. */
  47248. className?: string;
  47249. /**
  47250. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  47251. * labels. Defaults to `undefined`. For certain series types, like column or
  47252. * map, the data labels can be drawn inside the points. In this case the
  47253. * data label will be drawn with maximum contrast by default. Additionally,
  47254. * it will be given a `text-outline` style with the opposite color, to
  47255. * further increase the contrast. This can be overridden by setting the
  47256. * `text-outline` style to `none` in the `dataLabels.style` option.
  47257. */
  47258. color?: (ColorString|GradientColorObject|PatternObject);
  47259. /**
  47260. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  47261. * are outside the plot area. By default, the data label is moved inside the
  47262. * plot area according to the overflow option.
  47263. */
  47264. crop?: boolean;
  47265. /**
  47266. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  47267. * labels until the initial series animation has finished. Setting to
  47268. * `false` renders the data label immediately. If set to `true` inherits the
  47269. * defer time set in plotOptions.series.animation. If set to a number, a
  47270. * defer time is specified in milliseconds.
  47271. */
  47272. defer?: (boolean|number);
  47273. /**
  47274. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  47275. * labels.
  47276. */
  47277. enabled?: boolean;
  47278. /**
  47279. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  47280. * of which data labels to display. The declarative filter is designed for
  47281. * use when callback functions are not available, like when the chart
  47282. * options require a pure JSON structure or for use with graphical editors.
  47283. * For programmatic control, use the `formatter` instead, and return
  47284. * `undefined` to disable a single data label.
  47285. */
  47286. filter?: DataLabelsFilterOptionsObject;
  47287. /**
  47288. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  47289. * label. Available variables are the same as for `formatter`.
  47290. */
  47291. format?: string;
  47292. /**
  47293. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  47294. * format the data label. Note that if a `format` is defined, the format
  47295. * takes precedence and the formatter is ignored.
  47296. */
  47297. formatter?: DataLabelsFormatterCallbackFunction;
  47298. /**
  47299. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  47300. * columns or map areas, whether to align the data label inside the box or
  47301. * to the actual value point. Defaults to `false` in most cases, `true` in
  47302. * stacked columns.
  47303. */
  47304. inside?: boolean;
  47305. /**
  47306. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  47307. * of null. Works analogously to format. `nullFormat` can be applied only to
  47308. * series which support displaying null points.
  47309. */
  47310. nullFormat?: (boolean|string);
  47311. /**
  47312. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  47313. * that defines formatting for points with the value of null. Works
  47314. * analogously to formatter. `nullPointFormatter` can be applied only to
  47315. * series which support displaying null points.
  47316. */
  47317. nullFormatter?: DataLabelsFormatterCallbackFunction;
  47318. /**
  47319. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  47320. * flow outside the plot area. The default is `"justify"`, which aligns them
  47321. * inside the plot area. For columns and bars, this means it will be moved
  47322. * inside the bar. To display data labels outside the plot area, set `crop`
  47323. * to `false` and `overflow` to `"allow"`.
  47324. */
  47325. overflow?: DataLabelsOverflowValue;
  47326. /**
  47327. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  47328. * the `backgroundColor` is set, this is the padding within the box.
  47329. */
  47330. padding?: number;
  47331. /**
  47332. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  47333. * points. If `center` alignment is not possible, it defaults to `right`.
  47334. */
  47335. position?: AlignValue;
  47336. /**
  47337. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  47338. * that due to a more complex structure, backgrounds, borders and padding
  47339. * will be lost on a rotated data label.
  47340. */
  47341. rotation?: number;
  47342. /**
  47343. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  47344. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  47345. * an object configuration containing `color`, `offsetX`, `offsetY`,
  47346. * `opacity` and `width`.
  47347. */
  47348. shadow?: (boolean|ShadowOptionsObject);
  47349. /**
  47350. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  47351. * the border around the label. Symbols are predefined functions on the
  47352. * Renderer object.
  47353. */
  47354. shape?: string;
  47355. /**
  47356. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  47357. * default `color` setting is `"contrast"`, which is a pseudo color that
  47358. * Highcharts picks up and applies the maximum contrast to the underlying
  47359. * point item, for example the bar in a bar chart.
  47360. *
  47361. * The `textOutline` is a pseudo property that applies an outline of the
  47362. * given width with the given color, which by default is the maximum
  47363. * contrast to the text. So a bright text color will result in a black text
  47364. * outline for maximum readability on a mixed background. In some cases,
  47365. * especially with grayscale text, the text outline doesn't work well, in
  47366. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  47367. * is true, the `textOutline` will not be picked up. In this, case, the same
  47368. * effect can be acheived through the `text-shadow` CSS property.
  47369. *
  47370. * For some series types, where each point has an extent, like for example
  47371. * tree maps, the data label may overflow the point. There are two
  47372. * strategies for handling overflow. By default, the text will wrap to
  47373. * multiple lines. The other strategy is to set `style.textOverflow` to
  47374. * `ellipsis`, which will keep the text on one line plus it will break
  47375. * inside long words.
  47376. */
  47377. style?: CSSObject;
  47378. /**
  47379. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  47380. * should follow marker's shape. Border and background are disabled for a
  47381. * label that follows a path.
  47382. *
  47383. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  47384. * to true will disable this option.
  47385. */
  47386. textPath?: DataLabelsTextPathOptionsObject;
  47387. /**
  47388. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  47389. * the labels.
  47390. */
  47391. useHTML?: boolean;
  47392. /**
  47393. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  47394. * label. Can be one of `top`, `middle` or `bottom`. The default value
  47395. * depends on the data, for instance in a column chart, the label is above
  47396. * positive values and below negative values.
  47397. */
  47398. verticalAlign?: string;
  47399. /**
  47400. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  47401. * label relative to the point in pixels.
  47402. */
  47403. x?: number;
  47404. /**
  47405. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  47406. * label relative to the point in pixels.
  47407. */
  47408. y?: number;
  47409. /**
  47410. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  47411. * The default Z index puts it above the series. Use a Z index of 2 to
  47412. * display it behind the series.
  47413. */
  47414. z?: number;
  47415. }
  47416. /**
  47417. * (Gantt) Style options for the guide box. The guide box has one state by
  47418. * default, the `default` state.
  47419. */
  47420. export interface PlotGanttDragDropGuideBoxOptions {
  47421. /**
  47422. * (Gantt) Style options for the guide box default state.
  47423. */
  47424. default?: DragDropGuideBoxOptionsObject;
  47425. }
  47426. /**
  47427. * (Gantt) A `gantt` series. If the type option is not specified, it is
  47428. * inherited from chart.type.
  47429. *
  47430. * In TypeScript the type option must always be set.
  47431. *
  47432. * Configuration options for the series are given in three levels:
  47433. *
  47434. * 1. Options for all series in a chart are defined in the plotOptions.series
  47435. * object.
  47436. *
  47437. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  47438. *
  47439. * 3. Options for one single series are given in the series instance array. (see
  47440. * online documentation for example)
  47441. */
  47442. export interface PlotGanttOptions {
  47443. /**
  47444. * (Gantt) Accessibility options for a series.
  47445. */
  47446. accessibility?: SeriesAccessibilityOptionsObject;
  47447. /**
  47448. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  47449. * rendered. If `true`, areas which don't correspond to a data point, are
  47450. * rendered as `null` points. If `false`, those areas are skipped.
  47451. */
  47452. allAreas?: boolean;
  47453. /**
  47454. * (Gantt) Allow this series' points to be selected by clicking on the
  47455. * graphic (columns, point markers, pie slices, map areas etc).
  47456. *
  47457. * The selected points can be handled by point select and unselect events,
  47458. * or collectively by the getSelectedPoints function.
  47459. *
  47460. * And alternative way of selecting points is through dragging.
  47461. */
  47462. allowPointSelect?: boolean;
  47463. /**
  47464. * (Gantt) Enable or disable the initial animation when a series is
  47465. * displayed. The animation can also be set as a configuration object.
  47466. * Please note that this option only applies to the initial animation of the
  47467. * series itself. For other animations, see chart.animation and the
  47468. * animation parameter under the API methods. The following properties are
  47469. * supported:
  47470. *
  47471. * - `defer`: The animation delay time in milliseconds.
  47472. *
  47473. * - `duration`: The duration of the animation in milliseconds.
  47474. *
  47475. * - `easing`: Can be a string reference to an easing function set on the
  47476. * `Math` object or a function. See the _Custom easing function_ demo below.
  47477. *
  47478. * Due to poor performance, animation is disabled in old IE browsers for
  47479. * several chart types.
  47480. */
  47481. animation?: (boolean|PlotGanttAnimationOptions|Partial<AnimationOptionsObject>);
  47482. /**
  47483. * (Gantt) For some series, there is a limit that shuts down initial
  47484. * animation by default when the total number of points in the chart is too
  47485. * high. For example, for a column chart and its derivatives, animation does
  47486. * not run if there is more than 250 points totally. To disable this cap,
  47487. * set `animationLimit` to `Infinity`.
  47488. */
  47489. animationLimit?: number;
  47490. /**
  47491. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  47492. * column or bar.
  47493. *
  47494. * In styled mode, the border stroke can be set with the `.highcharts-point`
  47495. * rule.
  47496. */
  47497. borderColor?: (ColorString|GradientColorObject|PatternObject);
  47498. /**
  47499. * (Highcharts, Highstock, Gantt) The corner radius of the border
  47500. * surrounding each column or bar.
  47501. */
  47502. borderRadius?: number;
  47503. /**
  47504. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  47505. * column or bar. Defaults to `1` when there is room for a border, but to
  47506. * `0` when the columns are so dense that a border would cover the next
  47507. * column.
  47508. *
  47509. * In styled mode, the stroke width can be set with the `.highcharts-point`
  47510. * rule.
  47511. */
  47512. borderWidth?: number;
  47513. /**
  47514. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  47515. * the category, ignoring null or missing points. When `false`, space will
  47516. * be reserved for null or missing points.
  47517. */
  47518. centerInCategory?: boolean;
  47519. /**
  47520. * (Gantt) An additional class name to apply to the series' graphical
  47521. * elements. This option does not replace default class names of the
  47522. * graphical element.
  47523. */
  47524. className?: string;
  47525. /**
  47526. * (Gantt) Disable this option to allow series rendering in the whole
  47527. * plotting area.
  47528. *
  47529. * **Note:** Clipping should be always enabled when chart.zoomType is set
  47530. */
  47531. clip?: boolean;
  47532. /**
  47533. * (Gantt) The main color of the series. In line type series it applies to
  47534. * the line and the point markers unless otherwise specified. In bar type
  47535. * series it applies to the bars unless a color is specified per point. The
  47536. * default value is pulled from the `options.colors` array.
  47537. *
  47538. * In styled mode, the color can be defined by the colorIndex option. Also,
  47539. * the series color can be set with the `.highcharts-series`,
  47540. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  47541. * `.highcharts-series-{n}` class, or individual classes given by the
  47542. * `className` option.
  47543. */
  47544. color?: (ColorString|GradientColorObject|PatternObject);
  47545. /**
  47546. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  47547. * this number defines which colorAxis the particular series is connected
  47548. * to. It refers to either the axis id or the index of the axis in the
  47549. * colorAxis array, with 0 being the first. Set this option to false to
  47550. * prevent a series from connecting to the default color axis.
  47551. *
  47552. * Since v7.2.0 the option can also be an axis id or an axis index instead
  47553. * of a boolean flag.
  47554. */
  47555. colorAxis?: (boolean|number|string);
  47556. /**
  47557. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  47558. * all points of the same Y-axis category the same color.
  47559. */
  47560. colorByPoint?: boolean;
  47561. /**
  47562. * (Gantt) Styled mode only. A specific color index to use for the series,
  47563. * so its graphic representations are given the class name
  47564. * `highcharts-color-{n}`.
  47565. */
  47566. colorIndex?: number;
  47567. /**
  47568. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  47569. * used to calculate point color if `colorAxis` is used. Requires to set
  47570. * `min` and `max` if some custom point property is used or if approximation
  47571. * for data grouping is set to `'sum'`.
  47572. */
  47573. colorKey?: string;
  47574. /**
  47575. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  47576. * color set to apply instead of the global colors when colorByPoint is
  47577. * true.
  47578. */
  47579. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  47580. /**
  47581. * (Highstock) Compare the values of the series against the first non-null,
  47582. * non- zero value in the visible range. The y axis will show percentage or
  47583. * absolute change depending on whether `compare` is set to `"percent"` or
  47584. * `"value"`. When this is applied to multiple series, it allows comparing
  47585. * the development of the series against each other. Adds a `change` field
  47586. * to every point object.
  47587. */
  47588. compare?: string;
  47589. /**
  47590. * (Highstock) When compare is `percent`, this option dictates whether to
  47591. * use 0 or 100 as the base of comparison.
  47592. */
  47593. compareBase?: (0|100);
  47594. /**
  47595. * (Highstock) Defines if comparison should start from the first point
  47596. * within the visible range or should start from the first point **before**
  47597. * the range.
  47598. *
  47599. * In other words, this flag determines if first point within the visible
  47600. * range will have 0% (`compareStart=true`) or should have been already
  47601. * calculated according to the previous point (`compareStart=false`).
  47602. */
  47603. compareStart?: boolean;
  47604. /**
  47605. * (Gantt) Override Pathfinder connector options for a series. Requires
  47606. * Highcharts Gantt to be loaded.
  47607. */
  47608. connectors?: SeriesConnectorsOptionsObject;
  47609. /**
  47610. * (Gantt) You can set the cursor to "pointer" if you have click events
  47611. * attached to the series, to signal to the user that the points and lines
  47612. * can be clicked.
  47613. *
  47614. * In styled mode, the series cursor can be set with the same classes as
  47615. * listed under series.color.
  47616. */
  47617. cursor?: (string|CursorValue);
  47618. /**
  47619. * (Gantt) A reserved subspace to store options and values for customized
  47620. * functionality. Here you can add additional data for your own event
  47621. * callbacks and formatter callbacks.
  47622. */
  47623. custom?: Dictionary<any>;
  47624. /**
  47625. * (Gantt) Name of the dash style to use for the graph, or for some series
  47626. * types the outline of each shape.
  47627. *
  47628. * In styled mode, the stroke dash-array can be set with the same classes as
  47629. * listed under series.color.
  47630. */
  47631. dashStyle?: DashStyleValue;
  47632. /**
  47633. * (Highstock) Data grouping is the concept of sampling the data values into
  47634. * larger blocks in order to ease readability and increase performance of
  47635. * the JavaScript charts. Highcharts Stock by default applies data grouping
  47636. * when the points become closer than a certain pixel value, determined by
  47637. * the `groupPixelWidth` option.
  47638. *
  47639. * If data grouping is applied, the grouping information of grouped points
  47640. * can be read from the Point.dataGroup. If point options other than the
  47641. * data itself are set, for example `name` or `color` or custom properties,
  47642. * the grouping logic doesn't know how to group it. In this case the options
  47643. * of the first point instance are copied over to the group point. This can
  47644. * be altered through a custom `approximation` callback function.
  47645. */
  47646. dataGrouping?: DataGroupingOptionsObject;
  47647. /**
  47648. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  47649. * labels, appearing next to each data point.
  47650. *
  47651. * Since v6.2.0, multiple data labels can be applied to each single point by
  47652. * defining them as an array of configs.
  47653. *
  47654. * In styled mode, the data labels can be styled with the
  47655. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  47656. * (see example).
  47657. */
  47658. dataLabels?: (PlotGanttDataLabelsOptions|Array<PlotGanttDataLabelsOptions>);
  47659. /**
  47660. * (Gantt) A description of the series to add to the screen reader
  47661. * information about the series.
  47662. */
  47663. description?: string;
  47664. /**
  47665. * (Gantt) The draggable-points module allows points to be moved around or
  47666. * modified in the chart. In addition to the options mentioned under the
  47667. * `dragDrop` API structure, the module fires three events, point.dragStart,
  47668. * point.drag and point.drop.
  47669. */
  47670. dragDrop?: SeriesDragDropOptionsObject;
  47671. /**
  47672. * (Gantt) Enable or disable the mouse tracking for a specific series. This
  47673. * includes point tooltips and click events on graphs and points. For large
  47674. * datasets it improves performance.
  47675. */
  47676. enableMouseTracking?: boolean;
  47677. /**
  47678. * (Gantt) General event handlers for the series items. These event hooks
  47679. * can also be attached to the series at run time using the
  47680. * `Highcharts.addEvent` function.
  47681. */
  47682. events?: SeriesEventsOptionsObject;
  47683. /**
  47684. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  47685. * let them render independent of each other. Non-grouped columns will be
  47686. * laid out individually and overlap each other.
  47687. */
  47688. grouping?: boolean;
  47689. /**
  47690. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  47691. * axis units.
  47692. */
  47693. groupPadding?: number;
  47694. /**
  47695. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  47696. */
  47697. groupZPadding?: number;
  47698. /**
  47699. * (Gantt) When set to `false` will prevent the series data from being
  47700. * included in any form of data export.
  47701. *
  47702. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  47703. * `includeInCSVExport`.
  47704. */
  47705. includeInDataExport?: boolean;
  47706. /**
  47707. * (Highmaps) What property to join the `mapData` to the value data. For
  47708. * example, if joinBy is "code", the mapData items with a specific code is
  47709. * merged into the data with the same code. For maps loaded from GeoJSON,
  47710. * the keys may be held in each point's `properties` object.
  47711. *
  47712. * The joinBy option can also be an array of two values, where the first
  47713. * points to a key in the `mapData`, and the second points to another key in
  47714. * the `data`.
  47715. *
  47716. * When joinBy is `null`, the map items are joined by their position in the
  47717. * array, which performs much better in maps with many data points. This is
  47718. * the recommended option if you are printing more than a thousand data
  47719. * points and have a backend that can preprocess the data into a parallel
  47720. * array of the mapData.
  47721. */
  47722. joinBy?: (string|Array<string>);
  47723. /**
  47724. * (Gantt) An array specifying which option maps to which key in the data
  47725. * point array. This makes it convenient to work with unstructured data
  47726. * arrays from different sources.
  47727. */
  47728. keys?: Array<string>;
  47729. /**
  47730. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  47731. * series as possible in a natural way, seeking to avoid other series. The
  47732. * goal of this feature is to make the chart more easily readable, like if a
  47733. * human designer placed the labels in the optimal position.
  47734. *
  47735. * The series labels currently work with series types having a `graph` or an
  47736. * `area`.
  47737. */
  47738. label?: SeriesLabelOptionsObject;
  47739. /**
  47740. * (Highstock) The line marks the last price from all points.
  47741. */
  47742. lastPrice?: SeriesLastPriceOptionsObject;
  47743. /**
  47744. * (Highstock) The line marks the last price from visible range of points.
  47745. */
  47746. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  47747. /**
  47748. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  47749. * Additionally, the value can be ":previous" to link to the previous
  47750. * series. When two series are linked, only the first one appears in the
  47751. * legend. Toggling the visibility of this also toggles the linked series.
  47752. *
  47753. * If master series uses data sorting and linked series does not have its
  47754. * own sorting definition, the linked series will be sorted in the same
  47755. * order as the master one.
  47756. */
  47757. linkedTo?: string;
  47758. /**
  47759. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  47760. * column, translated to the height of a bar in a bar chart. This prevents
  47761. * the columns from becoming too wide when there is a small number of points
  47762. * in the chart.
  47763. */
  47764. maxPointWidth?: number;
  47765. /**
  47766. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  47767. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  47768. * to zero) point, set the minimal point length to a pixel value like 3\. In
  47769. * stacked column charts, minPointLength might not be respected for tightly
  47770. * packed values.
  47771. */
  47772. minPointLength?: number;
  47773. /**
  47774. * (Highstock) Options for the corresponding navigator series if
  47775. * `showInNavigator` is `true` for this series. Available options are the
  47776. * same as any series, documented at plotOptions and series.
  47777. *
  47778. * These options are merged with options in navigator.series, and will take
  47779. * precedence if the same option is defined both places.
  47780. */
  47781. navigatorOptions?: PlotSeriesOptions;
  47782. /**
  47783. * (Gantt) Opacity of a series parts: line, fill (e.g. area) and dataLabels.
  47784. */
  47785. opacity?: number;
  47786. /**
  47787. * (Gantt) A partial fill for each point, typically used to visualize how
  47788. * much of a task is performed. See completed.
  47789. */
  47790. partialFill?: PlotGanttPartialFillOptions;
  47791. /**
  47792. * (Gantt) Properties for each single point.
  47793. */
  47794. point?: PlotSeriesPointOptions;
  47795. /**
  47796. * (Gantt) Same as accessibility.series.descriptionFormatter, but for an
  47797. * individual series. Overrides the chart wide configuration.
  47798. */
  47799. pointDescriptionFormatter?: Function;
  47800. /**
  47801. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  47802. * axis units.
  47803. */
  47804. pointPadding?: number;
  47805. pointRange?: number;
  47806. /**
  47807. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  47808. * each column or bar point. When set to `undefined`, the width is
  47809. * calculated from the `pointPadding` and `groupPadding`. The width effects
  47810. * the dimension that is not based on the point value. For column series it
  47811. * is the hoizontal length and for bar series it is the vertical length.
  47812. */
  47813. pointWidth?: number;
  47814. /**
  47815. * (Gantt) Whether to select the series initially. If `showCheckbox` is
  47816. * true, the checkbox next to the series name in the legend will be checked
  47817. * for a selected series.
  47818. */
  47819. selected?: boolean;
  47820. /**
  47821. * (Gantt) Whether to apply a drop shadow to the graph line. Since 2.3 the
  47822. * shadow can be an object configuration containing `color`, `offsetX`,
  47823. * `offsetY`, `opacity` and `width`.
  47824. */
  47825. shadow?: (boolean|ShadowOptionsObject);
  47826. /**
  47827. * (Gantt) If true, a checkbox is displayed next to the legend item to allow
  47828. * selecting the series. The state of the checkbox is determined by the
  47829. * `selected` option.
  47830. */
  47831. showCheckbox?: boolean;
  47832. /**
  47833. * (Gantt) Whether to display this particular series or series type in the
  47834. * legend. Standalone series are shown in legend by default, and linked
  47835. * series are not. Since v7.2.0 it is possible to show series that use
  47836. * colorAxis by setting this option to `true`.
  47837. */
  47838. showInLegend?: boolean;
  47839. /**
  47840. * (Highstock) Whether or not to show the series in the navigator. Takes
  47841. * precedence over navigator.baseSeries if defined.
  47842. */
  47843. showInNavigator?: boolean;
  47844. /**
  47845. * (Gantt) If set to `true`, the accessibility module will skip past the
  47846. * points in this series for keyboard navigation.
  47847. */
  47848. skipKeyboardNavigation?: boolean;
  47849. states?: SeriesStatesOptionsObject;
  47850. /**
  47851. * (Gantt) Sticky tracking of mouse events. When true, the `mouseOut` event
  47852. * on a series isn't triggered until the mouse moves over another series, or
  47853. * out of the plot area. When false, the `mouseOut` event on a series is
  47854. * triggered when the mouse leaves the area around the series' graph or
  47855. * markers. This also implies the tooltip when not shared. When
  47856. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  47857. * be hidden when moving the mouse between series. Defaults to true for line
  47858. * and area type series, but to false for columns, pies etc.
  47859. *
  47860. * **Note:** The boost module will force this option because of technical
  47861. * limitations.
  47862. */
  47863. stickyTracking?: boolean;
  47864. /**
  47865. * (Gantt) A configuration object for the tooltip rendering of each single
  47866. * series. Properties are inherited from tooltip, but only the following
  47867. * properties can be defined on a series level.
  47868. */
  47869. tooltip?: SeriesTooltipOptionsObject;
  47870. /**
  47871. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  47872. * is longer than this, only one dimensional arrays of numbers, or two
  47873. * dimensional arrays with x and y values are allowed. Also, only the first
  47874. * point is tested, and the rest are assumed to be the same format. This
  47875. * saves expensive data checking and indexing in long series. Set it to `0`
  47876. * disable.
  47877. *
  47878. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  47879. * two dimensional arrays are allowed.
  47880. */
  47881. turboThreshold?: number;
  47882. /**
  47883. * (Gantt) Set the initial visibility of the series.
  47884. */
  47885. visible?: boolean;
  47886. /**
  47887. * (Highmaps) Define the z index of the series.
  47888. */
  47889. zIndex?: number;
  47890. /**
  47891. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  47892. */
  47893. zoneAxis?: string;
  47894. /**
  47895. * (Highcharts, Highstock) An array defining zones within a series. Zones
  47896. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  47897. * the `zoneAxis` option. The zone definitions have to be in ascending order
  47898. * regarding to the value.
  47899. *
  47900. * In styled mode, the color zones are styled with the
  47901. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  47902. * option (view live demo).
  47903. */
  47904. zones?: Array<SeriesZonesOptionsObject>;
  47905. }
  47906. /**
  47907. * (Gantt) A partial fill for each point, typically used to visualize how much
  47908. * of a task is performed. See completed.
  47909. */
  47910. export interface PlotGanttPartialFillOptions {
  47911. /**
  47912. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  47913. * fills. Defaults to a darker shade of the point color.
  47914. */
  47915. fill?: (ColorString|GradientColorObject|PatternObject);
  47916. }
  47917. /**
  47918. * (Highcharts) Enable or disable the initial animation when a series is
  47919. * displayed. The animation can also be set as a configuration object. Please
  47920. * note that this option only applies to the initial animation of the series
  47921. * itself. For other animations, see chart.animation and the animation parameter
  47922. * under the API methods. The following properties are supported:
  47923. *
  47924. * - `defer`: The animation delay time in milliseconds.
  47925. *
  47926. * - `duration`: The duration of the animation in milliseconds.
  47927. *
  47928. * - `easing`: Can be a string reference to an easing function set on the `Math`
  47929. * object or a function. See the _Custom easing function_ demo below.
  47930. *
  47931. * Due to poor performance, animation is disabled in old IE browsers for several
  47932. * chart types.
  47933. */
  47934. export interface PlotGaugeAnimationOptions {
  47935. defer?: number;
  47936. }
  47937. /**
  47938. * (Highcharts) Enable or disable the initial animation when a series is
  47939. * displayed for the `dataLabels`. The animation can also be set as a
  47940. * configuration object. Please note that this option only applies to the
  47941. * initial animation. For other animations, see chart.animation and the
  47942. * animation parameter under the API methods. The following properties are
  47943. * supported:
  47944. *
  47945. * - `defer`: The animation delay time in milliseconds.
  47946. */
  47947. export interface PlotGaugeDataLabelsAnimationOptions {
  47948. /**
  47949. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  47950. * dataLabel immediately. As `undefined` inherits defer time from the
  47951. * series.animation.defer.
  47952. */
  47953. defer?: number;
  47954. }
  47955. /**
  47956. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  47957. * enabled by default and shown in a bordered box below the point.
  47958. */
  47959. export interface PlotGaugeDataLabelsOptions {
  47960. /**
  47961. * (Highcharts) The alignment of the data label compared to the point. If
  47962. * `right`, the right side of the label should be touching the point. For
  47963. * points with an extent, like columns, the alignments also dictates how to
  47964. * align it inside the box, as given with the inside option. Can be one of
  47965. * `left`, `center` or `right`.
  47966. */
  47967. align?: (AlignValue|null);
  47968. /**
  47969. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  47970. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  47971. */
  47972. allowOverlap?: boolean;
  47973. /**
  47974. * (Highcharts) Enable or disable the initial animation when a series is
  47975. * displayed for the `dataLabels`. The animation can also be set as a
  47976. * configuration object. Please note that this option only applies to the
  47977. * initial animation. For other animations, see chart.animation and the
  47978. * animation parameter under the API methods. The following properties are
  47979. * supported:
  47980. *
  47981. * - `defer`: The animation delay time in milliseconds.
  47982. */
  47983. animation?: (boolean|PlotGaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  47984. /**
  47985. * (Highcharts) The background color or gradient for the data label.
  47986. */
  47987. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  47988. /**
  47989. * (Highcharts) The border color for the data label. Defaults to
  47990. * `undefined`.
  47991. */
  47992. borderColor?: string;
  47993. /**
  47994. * (Highcharts) The border radius in pixels for the data label.
  47995. */
  47996. borderRadius?: number;
  47997. /**
  47998. * (Highcharts) The border width in pixels for the data label.
  47999. */
  48000. borderWidth?: number;
  48001. /**
  48002. * (Highcharts) A class name for the data label. Particularly in styled
  48003. * mode, this can be used to give each series' or point's data label unique
  48004. * styling. In addition to this option, a default color class name is added
  48005. * so that we can give the labels a contrast text shadow.
  48006. */
  48007. className?: string;
  48008. /**
  48009. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  48010. * For certain series types, like column or map, the data labels can be
  48011. * drawn inside the points. In this case the data label will be drawn with
  48012. * maximum contrast by default. Additionally, it will be given a
  48013. * `text-outline` style with the opposite color, to further increase the
  48014. * contrast. This can be overridden by setting the `text-outline` style to
  48015. * `none` in the `dataLabels.style` option.
  48016. */
  48017. color?: (ColorString|GradientColorObject|PatternObject);
  48018. /**
  48019. * (Highcharts) Whether to hide data labels that are outside the plot area.
  48020. * By default, the data label is moved inside the plot area according to the
  48021. * overflow option.
  48022. */
  48023. crop?: boolean;
  48024. /**
  48025. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  48026. * labels until the initial series animation has finished. Setting to
  48027. * `false` renders the data label immediately. If set to `true` inherits the
  48028. * defer time set in plotOptions.series.animation. If set to a number, a
  48029. * defer time is specified in milliseconds.
  48030. */
  48031. defer?: boolean;
  48032. /**
  48033. * (Highcharts) Enable or disable the data labels.
  48034. */
  48035. enabled?: boolean;
  48036. /**
  48037. * (Highcharts) A declarative filter to control of which data labels to
  48038. * display. The declarative filter is designed for use when callback
  48039. * functions are not available, like when the chart options require a pure
  48040. * JSON structure or for use with graphical editors. For programmatic
  48041. * control, use the `formatter` instead, and return `undefined` to disable a
  48042. * single data label.
  48043. */
  48044. filter?: DataLabelsFilterOptionsObject;
  48045. /**
  48046. * (Highcharts) A format string for the data label. Available variables are
  48047. * the same as for `formatter`.
  48048. */
  48049. format?: string;
  48050. /**
  48051. * (Highcharts) Callback JavaScript function to format the data label. Note
  48052. * that if a `format` is defined, the format takes precedence and the
  48053. * formatter is ignored.
  48054. */
  48055. formatter?: DataLabelsFormatterCallbackFunction;
  48056. /**
  48057. * (Highcharts) For points with an extent, like columns or map areas,
  48058. * whether to align the data label inside the box or to the actual value
  48059. * point. Defaults to `false` in most cases, `true` in stacked columns.
  48060. */
  48061. inside?: boolean;
  48062. /**
  48063. * (Highcharts) Format for points with the value of null. Works analogously
  48064. * to format. `nullFormat` can be applied only to series which support
  48065. * displaying null points.
  48066. */
  48067. nullFormat?: (boolean|string);
  48068. /**
  48069. * (Highcharts) Callback JavaScript function that defines formatting for
  48070. * points with the value of null. Works analogously to formatter.
  48071. * `nullPointFormatter` can be applied only to series which support
  48072. * displaying null points.
  48073. */
  48074. nullFormatter?: DataLabelsFormatterCallbackFunction;
  48075. /**
  48076. * (Highcharts) How to handle data labels that flow outside the plot area.
  48077. * The default is `"justify"`, which aligns them inside the plot area. For
  48078. * columns and bars, this means it will be moved inside the bar. To display
  48079. * data labels outside the plot area, set `crop` to `false` and `overflow`
  48080. * to `"allow"`.
  48081. */
  48082. overflow?: DataLabelsOverflowValue;
  48083. /**
  48084. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  48085. * set, this is the padding within the box.
  48086. */
  48087. padding?: number;
  48088. /**
  48089. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  48090. * is not possible, it defaults to `right`.
  48091. */
  48092. position?: AlignValue;
  48093. /**
  48094. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  48095. * structure, backgrounds, borders and padding will be lost on a rotated
  48096. * data label.
  48097. */
  48098. rotation?: number;
  48099. /**
  48100. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  48101. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  48102. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  48103. */
  48104. shadow?: (boolean|ShadowOptionsObject);
  48105. /**
  48106. * (Highcharts) The name of a symbol to use for the border around the label.
  48107. * Symbols are predefined functions on the Renderer object.
  48108. */
  48109. shape?: string;
  48110. /**
  48111. * (Highcharts) Styles for the label. The default `color` setting is
  48112. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  48113. * applies the maximum contrast to the underlying point item, for example
  48114. * the bar in a bar chart.
  48115. *
  48116. * The `textOutline` is a pseudo property that applies an outline of the
  48117. * given width with the given color, which by default is the maximum
  48118. * contrast to the text. So a bright text color will result in a black text
  48119. * outline for maximum readability on a mixed background. In some cases,
  48120. * especially with grayscale text, the text outline doesn't work well, in
  48121. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  48122. * is true, the `textOutline` will not be picked up. In this, case, the same
  48123. * effect can be acheived through the `text-shadow` CSS property.
  48124. *
  48125. * For some series types, where each point has an extent, like for example
  48126. * tree maps, the data label may overflow the point. There are two
  48127. * strategies for handling overflow. By default, the text will wrap to
  48128. * multiple lines. The other strategy is to set `style.textOverflow` to
  48129. * `ellipsis`, which will keep the text on one line plus it will break
  48130. * inside long words.
  48131. */
  48132. style?: CSSObject;
  48133. /**
  48134. * (Highcharts) Options for a label text which should follow marker's shape.
  48135. * Border and background are disabled for a label that follows a path.
  48136. *
  48137. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  48138. * to true will disable this option.
  48139. */
  48140. textPath?: DataLabelsTextPathOptionsObject;
  48141. /**
  48142. * (Highcharts) Whether to use HTML to render the labels.
  48143. */
  48144. useHTML?: boolean;
  48145. /**
  48146. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  48147. * `middle` or `bottom`. The default value depends on the data, for instance
  48148. * in a column chart, the label is above positive values and below negative
  48149. * values.
  48150. */
  48151. verticalAlign?: string;
  48152. /**
  48153. * (Highcharts) The x position offset of the label relative to the point in
  48154. * pixels.
  48155. */
  48156. x?: number;
  48157. /**
  48158. * (Highcharts) The y position offset of the label relative to the point in
  48159. * pixels.
  48160. */
  48161. y?: number;
  48162. /**
  48163. * (Highcharts) The Z index of the data labels. The default Z index puts it
  48164. * above the series. Use a Z index of 2 to display it behind the series.
  48165. */
  48166. z?: number;
  48167. zIndex?: number;
  48168. }
  48169. /**
  48170. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  48171. *
  48172. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  48173. * .highcharts-dial` rule.
  48174. */
  48175. export interface PlotGaugeDialOptions {
  48176. /**
  48177. * (Highcharts) The background or fill color of the gauge's dial.
  48178. */
  48179. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48180. /**
  48181. * (Highcharts) The length of the dial's base part, relative to the total
  48182. * radius or length of the dial.
  48183. */
  48184. baseLength?: string;
  48185. /**
  48186. * (Highcharts) The pixel width of the base of the gauge dial. The base is
  48187. * the part closest to the pivot, defined by baseLength.
  48188. */
  48189. baseWidth?: number;
  48190. /**
  48191. * (Highcharts) The border color or stroke of the gauge's dial. By default,
  48192. * the borderWidth is 0, so this must be set in addition to a custom border
  48193. * color.
  48194. */
  48195. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48196. /**
  48197. * (Highcharts) The width of the gauge dial border in pixels.
  48198. */
  48199. borderWidth?: number;
  48200. /**
  48201. * (Highcharts) The radius or length of the dial, in percentages relative to
  48202. * the radius of the gauge itself.
  48203. */
  48204. radius?: string;
  48205. /**
  48206. * (Highcharts) The length of the dial's rear end, the part that extends out
  48207. * on the other side of the pivot. Relative to the dial's length.
  48208. */
  48209. rearLength?: string;
  48210. /**
  48211. * (Highcharts) The width of the top of the dial, closest to the perimeter.
  48212. * The pivot narrows in from the base to the top.
  48213. */
  48214. topWidth?: number;
  48215. }
  48216. /**
  48217. * (Highcharts) Gauges are circular plots displaying one or more values with a
  48218. * dial pointing to values along the perimeter.
  48219. *
  48220. * In TypeScript the type option must always be set.
  48221. *
  48222. * Configuration options for the series are given in three levels:
  48223. *
  48224. * 1. Options for all series in a chart are defined in the plotOptions.series
  48225. * object.
  48226. *
  48227. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  48228. *
  48229. * 3. Options for one single series are given in the series instance array. (see
  48230. * online documentation for example)
  48231. */
  48232. export interface PlotGaugeOptions {
  48233. /**
  48234. * (Highcharts) Accessibility options for a series.
  48235. */
  48236. accessibility?: SeriesAccessibilityOptionsObject;
  48237. /**
  48238. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  48239. * rendered. If `true`, areas which don't correspond to a data point, are
  48240. * rendered as `null` points. If `false`, those areas are skipped.
  48241. */
  48242. allAreas?: boolean;
  48243. /**
  48244. * (Highcharts) Allow this series' points to be selected by clicking on the
  48245. * graphic (columns, point markers, pie slices, map areas etc).
  48246. *
  48247. * The selected points can be handled by point select and unselect events,
  48248. * or collectively by the getSelectedPoints function.
  48249. *
  48250. * And alternative way of selecting points is through dragging.
  48251. */
  48252. allowPointSelect?: boolean;
  48253. /**
  48254. * (Highcharts) Enable or disable the initial animation when a series is
  48255. * displayed. The animation can also be set as a configuration object.
  48256. * Please note that this option only applies to the initial animation of the
  48257. * series itself. For other animations, see chart.animation and the
  48258. * animation parameter under the API methods. The following properties are
  48259. * supported:
  48260. *
  48261. * - `defer`: The animation delay time in milliseconds.
  48262. *
  48263. * - `duration`: The duration of the animation in milliseconds.
  48264. *
  48265. * - `easing`: Can be a string reference to an easing function set on the
  48266. * `Math` object or a function. See the _Custom easing function_ demo below.
  48267. *
  48268. * Due to poor performance, animation is disabled in old IE browsers for
  48269. * several chart types.
  48270. */
  48271. animation?: (boolean|PlotGaugeAnimationOptions|Partial<AnimationOptionsObject>);
  48272. /**
  48273. * (Highmaps) The border color of the map areas.
  48274. *
  48275. * In styled mode, the border stroke is given in the `.highcharts-point`
  48276. * class.
  48277. */
  48278. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48279. /**
  48280. * (Highmaps) The border width of each map area.
  48281. *
  48282. * In styled mode, the border stroke width is given in the
  48283. * `.highcharts-point` class.
  48284. */
  48285. borderWidth?: number;
  48286. /**
  48287. * (Highcharts) An additional class name to apply to the series' graphical
  48288. * elements. This option does not replace default class names of the
  48289. * graphical element.
  48290. */
  48291. className?: string;
  48292. /**
  48293. * (Highcharts) Disable this option to allow series rendering in the whole
  48294. * plotting area.
  48295. *
  48296. * **Note:** Clipping should be always enabled when chart.zoomType is set
  48297. */
  48298. clip?: boolean;
  48299. /**
  48300. * (Highcharts) The main color of the series. In line type series it applies
  48301. * to the line and the point markers unless otherwise specified. In bar type
  48302. * series it applies to the bars unless a color is specified per point. The
  48303. * default value is pulled from the `options.colors` array.
  48304. *
  48305. * In styled mode, the color can be defined by the colorIndex option. Also,
  48306. * the series color can be set with the `.highcharts-series`,
  48307. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  48308. * `.highcharts-series-{n}` class, or individual classes given by the
  48309. * `className` option.
  48310. */
  48311. color?: (ColorString|GradientColorObject|PatternObject);
  48312. /**
  48313. * (Highcharts) Styled mode only. A specific color index to use for the
  48314. * series, so its graphic representations are given the class name
  48315. * `highcharts-color-{n}`.
  48316. */
  48317. colorIndex?: number;
  48318. /**
  48319. * (Highstock) Compare the values of the series against the first non-null,
  48320. * non- zero value in the visible range. The y axis will show percentage or
  48321. * absolute change depending on whether `compare` is set to `"percent"` or
  48322. * `"value"`. When this is applied to multiple series, it allows comparing
  48323. * the development of the series against each other. Adds a `change` field
  48324. * to every point object.
  48325. */
  48326. compare?: string;
  48327. /**
  48328. * (Highstock) When compare is `percent`, this option dictates whether to
  48329. * use 0 or 100 as the base of comparison.
  48330. */
  48331. compareBase?: (0|100);
  48332. /**
  48333. * (Highstock) Defines if comparison should start from the first point
  48334. * within the visible range or should start from the first point **before**
  48335. * the range.
  48336. *
  48337. * In other words, this flag determines if first point within the visible
  48338. * range will have 0% (`compareStart=true`) or should have been already
  48339. * calculated according to the previous point (`compareStart=false`).
  48340. */
  48341. compareStart?: boolean;
  48342. /**
  48343. * (Gantt) Override Pathfinder connector options for a series. Requires
  48344. * Highcharts Gantt to be loaded.
  48345. */
  48346. connectors?: SeriesConnectorsOptionsObject;
  48347. /**
  48348. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  48349. * rounded to its nearest pixel in order to render sharp on screen. In some
  48350. * cases, when there are a lot of densely packed columns, this leads to
  48351. * visible difference in column widths or distance between columns. In these
  48352. * cases, setting `crisp` to `false` may look better, even though each
  48353. * column is rendered blurry.
  48354. */
  48355. crisp?: boolean;
  48356. /**
  48357. * (Highcharts) You can set the cursor to "pointer" if you have click events
  48358. * attached to the series, to signal to the user that the points and lines
  48359. * can be clicked.
  48360. *
  48361. * In styled mode, the series cursor can be set with the same classes as
  48362. * listed under series.color.
  48363. */
  48364. cursor?: (string|CursorValue);
  48365. /**
  48366. * (Highcharts) A reserved subspace to store options and values for
  48367. * customized functionality. Here you can add additional data for your own
  48368. * event callbacks and formatter callbacks.
  48369. */
  48370. custom?: Dictionary<any>;
  48371. /**
  48372. * (Highstock) Data grouping is the concept of sampling the data values into
  48373. * larger blocks in order to ease readability and increase performance of
  48374. * the JavaScript charts. Highcharts Stock by default applies data grouping
  48375. * when the points become closer than a certain pixel value, determined by
  48376. * the `groupPixelWidth` option.
  48377. *
  48378. * If data grouping is applied, the grouping information of grouped points
  48379. * can be read from the Point.dataGroup. If point options other than the
  48380. * data itself are set, for example `name` or `color` or custom properties,
  48381. * the grouping logic doesn't know how to group it. In this case the options
  48382. * of the first point instance are copied over to the group point. This can
  48383. * be altered through a custom `approximation` callback function.
  48384. */
  48385. dataGrouping?: DataGroupingOptionsObject;
  48386. /**
  48387. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  48388. * enabled by default and shown in a bordered box below the point.
  48389. */
  48390. dataLabels?: (PlotGaugeDataLabelsOptions|Array<PlotGaugeDataLabelsOptions>);
  48391. /**
  48392. * (Highcharts) A description of the series to add to the screen reader
  48393. * information about the series.
  48394. */
  48395. description?: string;
  48396. /**
  48397. * (Highcharts) Options for the dial or arrow pointer of the gauge.
  48398. *
  48399. * In styled mode, the dial is styled with the `.highcharts-gauge-series
  48400. * .highcharts-dial` rule.
  48401. */
  48402. dial?: PlotGaugeDialOptions;
  48403. /**
  48404. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  48405. * This includes point tooltips and click events on graphs and points. For
  48406. * large datasets it improves performance.
  48407. */
  48408. enableMouseTracking?: boolean;
  48409. /**
  48410. * (Highcharts) General event handlers for the series items. These event
  48411. * hooks can also be attached to the series at run time using the
  48412. * `Highcharts.addEvent` function.
  48413. */
  48414. events?: SeriesEventsOptionsObject;
  48415. /**
  48416. * (Highstock) Defines when to display a gap in the graph, together with the
  48417. * gapUnit option.
  48418. *
  48419. * In case when `dataGrouping` is enabled, points can be grouped into a
  48420. * larger time span. This can make the grouped points to have a greater
  48421. * distance than the absolute value of `gapSize` property, which will result
  48422. * in disappearing graph completely. To prevent this situation the mentioned
  48423. * distance between grouped points is used instead of previously defined
  48424. * `gapSize`.
  48425. *
  48426. * In practice, this option is most often used to visualize gaps in time
  48427. * series. In a stock chart, intraday data is available for daytime hours,
  48428. * while gaps will appear in nights and weekends.
  48429. */
  48430. gapSize?: number;
  48431. /**
  48432. * (Highstock) Together with gapSize, this option defines where to draw gaps
  48433. * in the graph.
  48434. *
  48435. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  48436. * if the distance between two points is greater than 5 times that of the
  48437. * two closest points, the graph will be broken.
  48438. *
  48439. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  48440. * values, which on a datetime axis is milliseconds. This also applies to
  48441. * the navigator series that inherits gap options from the base series.
  48442. */
  48443. gapUnit?: OptionsGapUnitValue;
  48444. /**
  48445. * (Highcharts) When set to `false` will prevent the series data from being
  48446. * included in any form of data export.
  48447. *
  48448. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  48449. * `includeInCSVExport`.
  48450. */
  48451. includeInDataExport?: boolean;
  48452. /**
  48453. * (Highmaps) What property to join the `mapData` to the value data. For
  48454. * example, if joinBy is "code", the mapData items with a specific code is
  48455. * merged into the data with the same code. For maps loaded from GeoJSON,
  48456. * the keys may be held in each point's `properties` object.
  48457. *
  48458. * The joinBy option can also be an array of two values, where the first
  48459. * points to a key in the `mapData`, and the second points to another key in
  48460. * the `data`.
  48461. *
  48462. * When joinBy is `null`, the map items are joined by their position in the
  48463. * array, which performs much better in maps with many data points. This is
  48464. * the recommended option if you are printing more than a thousand data
  48465. * points and have a backend that can preprocess the data into a parallel
  48466. * array of the mapData.
  48467. */
  48468. joinBy?: (string|Array<string>);
  48469. /**
  48470. * (Highcharts) An array specifying which option maps to which key in the
  48471. * data point array. This makes it convenient to work with unstructured data
  48472. * arrays from different sources.
  48473. */
  48474. keys?: Array<string>;
  48475. /**
  48476. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  48477. * series as possible in a natural way, seeking to avoid other series. The
  48478. * goal of this feature is to make the chart more easily readable, like if a
  48479. * human designer placed the labels in the optimal position.
  48480. *
  48481. * The series labels currently work with series types having a `graph` or an
  48482. * `area`.
  48483. */
  48484. label?: SeriesLabelOptionsObject;
  48485. /**
  48486. * (Highstock) The line marks the last price from all points.
  48487. */
  48488. lastPrice?: SeriesLastPriceOptionsObject;
  48489. /**
  48490. * (Highstock) The line marks the last price from visible range of points.
  48491. */
  48492. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  48493. /**
  48494. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  48495. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  48496. * the ends and bends.
  48497. */
  48498. linecap?: SeriesLinecapValue;
  48499. /**
  48500. * (Highcharts, Highstock) Pixel width of the graph line.
  48501. */
  48502. lineWidth?: number;
  48503. /**
  48504. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  48505. * Additionally, the value can be ":previous" to link to the previous
  48506. * series. When two series are linked, only the first one appears in the
  48507. * legend. Toggling the visibility of this also toggles the linked series.
  48508. *
  48509. * If master series uses data sorting and linked series does not have its
  48510. * own sorting definition, the linked series will be sorted in the same
  48511. * order as the master one.
  48512. */
  48513. linkedTo?: string;
  48514. /**
  48515. * (Highstock) Options for the corresponding navigator series if
  48516. * `showInNavigator` is `true` for this series. Available options are the
  48517. * same as any series, documented at plotOptions and series.
  48518. *
  48519. * These options are merged with options in navigator.series, and will take
  48520. * precedence if the same option is defined both places.
  48521. */
  48522. navigatorOptions?: PlotSeriesOptions;
  48523. /**
  48524. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  48525. * dataLabels.
  48526. */
  48527. opacity?: number;
  48528. /**
  48529. * (Highcharts) Allow the dial to overshoot the end of the perimeter axis by
  48530. * this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  48531. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  48532. * option is set to 5.
  48533. */
  48534. overshoot?: number;
  48535. /**
  48536. * (Highcharts) Options for the pivot or the center point of the gauge.
  48537. *
  48538. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  48539. * .highcharts-pivot` rule.
  48540. */
  48541. pivot?: PlotGaugePivotOptions;
  48542. /**
  48543. * (Highcharts) Properties for each single point.
  48544. */
  48545. point?: PlotSeriesPointOptions;
  48546. /**
  48547. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  48548. * an individual series. Overrides the chart wide configuration.
  48549. */
  48550. pointDescriptionFormatter?: Function;
  48551. /**
  48552. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  48553. * a series, `pointInterval` defines the interval of the x values. For
  48554. * example, if a series contains one value every decade starting from year
  48555. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  48556. * `pointInterval` is set in milliseconds.
  48557. *
  48558. * It can be also be combined with `pointIntervalUnit` to draw irregular
  48559. * time intervals.
  48560. *
  48561. * Please note that this options applies to the _series data_, not the
  48562. * interval of the axis ticks, which is independent.
  48563. */
  48564. pointInterval?: number;
  48565. /**
  48566. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  48567. * setting the pointInterval to irregular time units, `day`, `month` and
  48568. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  48569. * also takes the DST crossover into consideration when dealing with local
  48570. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  48571. * months, 10 years etc.
  48572. *
  48573. * Please note that this options applies to the _series data_, not the
  48574. * interval of the axis ticks, which is independent.
  48575. */
  48576. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  48577. /**
  48578. * (Highstock) The width of each point on the x axis. For example in a
  48579. * column chart with one value each day, the pointRange would be 1 day (= 24
  48580. * * 3600
  48581. *
  48582. * * 1000 milliseconds). This is normally computed automatically, but this
  48583. * option can be used to override the automatic value.
  48584. */
  48585. pointRange?: number;
  48586. /**
  48587. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  48588. * a series, pointStart defines on what value to start. For example, if a
  48589. * series contains one yearly value starting from 1945, set pointStart to
  48590. * 1945.
  48591. */
  48592. pointStart?: number;
  48593. /**
  48594. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  48595. * true, the checkbox next to the series name in the legend will be checked
  48596. * for a selected series.
  48597. */
  48598. selected?: boolean;
  48599. /**
  48600. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  48601. * allow selecting the series. The state of the checkbox is determined by
  48602. * the `selected` option.
  48603. */
  48604. showCheckbox?: boolean;
  48605. /**
  48606. * (Highcharts) Whether to display this particular series or series type in
  48607. * the legend. Defaults to false for gauge series.
  48608. */
  48609. showInLegend?: boolean;
  48610. /**
  48611. * (Highstock) Whether or not to show the series in the navigator. Takes
  48612. * precedence over navigator.baseSeries if defined.
  48613. */
  48614. showInNavigator?: boolean;
  48615. /**
  48616. * (Highcharts) If set to `true`, the accessibility module will skip past
  48617. * the points in this series for keyboard navigation.
  48618. */
  48619. skipKeyboardNavigation?: boolean;
  48620. /**
  48621. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  48622. * event on a series isn't triggered until the mouse moves over another
  48623. * series, or out of the plot area. When false, the `mouseOut` event on a
  48624. * series is triggered when the mouse leaves the area around the series'
  48625. * graph or markers. This also implies the tooltip when not shared. When
  48626. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  48627. * be hidden when moving the mouse between series. Defaults to true for line
  48628. * and area type series, but to false for columns, pies etc.
  48629. *
  48630. * **Note:** The boost module will force this option because of technical
  48631. * limitations.
  48632. */
  48633. stickyTracking?: boolean;
  48634. /**
  48635. * (Highcharts) A configuration object for the tooltip rendering of each
  48636. * single series. Properties are inherited from tooltip, but only the
  48637. * following properties can be defined on a series level.
  48638. */
  48639. tooltip?: SeriesTooltipOptionsObject;
  48640. /**
  48641. * (Highstock) The parameter allows setting line series type and use OHLC
  48642. * indicators. Data in OHLC format is required.
  48643. */
  48644. useOhlcData?: boolean;
  48645. /**
  48646. * (Highcharts) Set the initial visibility of the series.
  48647. */
  48648. visible?: boolean;
  48649. /**
  48650. * (Highcharts) When this option is `true`, the dial will wrap around the
  48651. * axes. For instance, in a full-range gauge going from 0 to 360, a value of
  48652. * 400 will point to 40\. When `wrap` is `false`, the dial stops at 360.
  48653. */
  48654. wrap?: boolean;
  48655. /**
  48656. * (Highmaps) Define the z index of the series.
  48657. */
  48658. zIndex?: number;
  48659. }
  48660. /**
  48661. * (Highcharts) Options for the pivot or the center point of the gauge.
  48662. *
  48663. * In styled mode, the pivot is styled with the `.highcharts-gauge-series
  48664. * .highcharts-pivot` rule.
  48665. */
  48666. export interface PlotGaugePivotOptions {
  48667. /**
  48668. * (Highcharts) The background color or fill of the pivot.
  48669. */
  48670. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48671. /**
  48672. * (Highcharts) The border or stroke color of the pivot. In able to change
  48673. * this, the borderWidth must also be set to something other than the
  48674. * default 0.
  48675. */
  48676. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48677. /**
  48678. * (Highcharts) The border or stroke width of the pivot.
  48679. */
  48680. borderWidth?: number;
  48681. /**
  48682. * (Highcharts) The pixel radius of the pivot.
  48683. */
  48684. radius?: number;
  48685. }
  48686. /**
  48687. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  48688. * series.
  48689. */
  48690. export interface PlotHeatmapAnimationOptions {
  48691. defer?: number;
  48692. }
  48693. /**
  48694. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48695. * animation when a series is displayed for the `dataLabels`. The animation can
  48696. * also be set as a configuration object. Please note that this option only
  48697. * applies to the initial animation. For other animations, see chart.animation
  48698. * and the animation parameter under the API methods. The following properties
  48699. * are supported:
  48700. *
  48701. * - `defer`: The animation delay time in milliseconds.
  48702. */
  48703. export interface PlotHeatmapDataLabelsAnimationOptions {
  48704. /**
  48705. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  48706. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  48707. * inherits defer time from the series.animation.defer.
  48708. */
  48709. defer?: number;
  48710. }
  48711. /**
  48712. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  48713. * appearing next to each data point.
  48714. *
  48715. * Since v6.2.0, multiple data labels can be applied to each single point by
  48716. * defining them as an array of configs.
  48717. *
  48718. * In styled mode, the data labels can be styled with the
  48719. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  48720. * example).
  48721. */
  48722. export interface PlotHeatmapDataLabelsOptions {
  48723. /**
  48724. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  48725. * compared to the point. If `right`, the right side of the label should be
  48726. * touching the point. For points with an extent, like columns, the
  48727. * alignments also dictates how to align it inside the box, as given with
  48728. * the inside option. Can be one of `left`, `center` or `right`.
  48729. */
  48730. align?: (AlignValue|null);
  48731. /**
  48732. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  48733. * overlap. To make the labels less sensitive for overlapping, the
  48734. * dataLabels.padding can be set to 0.
  48735. */
  48736. allowOverlap?: boolean;
  48737. /**
  48738. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  48739. * animation when a series is displayed for the `dataLabels`. The animation
  48740. * can also be set as a configuration object. Please note that this option
  48741. * only applies to the initial animation. For other animations, see
  48742. * chart.animation and the animation parameter under the API methods. The
  48743. * following properties are supported:
  48744. *
  48745. * - `defer`: The animation delay time in milliseconds.
  48746. */
  48747. animation?: (boolean|PlotHeatmapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  48748. /**
  48749. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  48750. * for the data label.
  48751. */
  48752. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  48753. /**
  48754. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  48755. * label. Defaults to `undefined`.
  48756. */
  48757. borderColor?: (ColorString|GradientColorObject|PatternObject);
  48758. /**
  48759. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  48760. * the data label.
  48761. */
  48762. borderRadius?: number;
  48763. /**
  48764. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  48765. * the data label.
  48766. */
  48767. borderWidth?: number;
  48768. /**
  48769. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  48770. * Particularly in styled mode, this can be used to give each series' or
  48771. * point's data label unique styling. In addition to this option, a default
  48772. * color class name is added so that we can give the labels a contrast text
  48773. * shadow.
  48774. */
  48775. className?: string;
  48776. /**
  48777. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  48778. * labels. Defaults to `undefined`. For certain series types, like column or
  48779. * map, the data labels can be drawn inside the points. In this case the
  48780. * data label will be drawn with maximum contrast by default. Additionally,
  48781. * it will be given a `text-outline` style with the opposite color, to
  48782. * further increase the contrast. This can be overridden by setting the
  48783. * `text-outline` style to `none` in the `dataLabels.style` option.
  48784. */
  48785. color?: (ColorString|GradientColorObject|PatternObject);
  48786. /**
  48787. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  48788. * are outside the plot area. By default, the data label is moved inside the
  48789. * plot area according to the overflow option.
  48790. */
  48791. crop?: boolean;
  48792. /**
  48793. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  48794. * labels until the initial series animation has finished. Setting to
  48795. * `false` renders the data label immediately. If set to `true` inherits the
  48796. * defer time set in plotOptions.series.animation. If set to a number, a
  48797. * defer time is specified in milliseconds.
  48798. */
  48799. defer?: (boolean|number);
  48800. /**
  48801. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  48802. * labels.
  48803. */
  48804. enabled?: boolean;
  48805. /**
  48806. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  48807. * of which data labels to display. The declarative filter is designed for
  48808. * use when callback functions are not available, like when the chart
  48809. * options require a pure JSON structure or for use with graphical editors.
  48810. * For programmatic control, use the `formatter` instead, and return
  48811. * `undefined` to disable a single data label.
  48812. */
  48813. filter?: DataLabelsFilterOptionsObject;
  48814. /**
  48815. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  48816. * label. Available variables are the same as for `formatter`.
  48817. */
  48818. format?: string;
  48819. /**
  48820. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  48821. * format the data label. Note that if a `format` is defined, the format
  48822. * takes precedence and the formatter is ignored.
  48823. */
  48824. formatter?: DataLabelsFormatterCallbackFunction;
  48825. /**
  48826. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  48827. * columns or map areas, whether to align the data label inside the box or
  48828. * to the actual value point. Defaults to `false` in most cases, `true` in
  48829. * stacked columns.
  48830. */
  48831. inside?: boolean;
  48832. /**
  48833. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  48834. * of null. Works analogously to format. `nullFormat` can be applied only to
  48835. * series which support displaying null points.
  48836. */
  48837. nullFormat?: (boolean|string);
  48838. /**
  48839. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  48840. * that defines formatting for points with the value of null. Works
  48841. * analogously to formatter. `nullPointFormatter` can be applied only to
  48842. * series which support displaying null points.
  48843. */
  48844. nullFormatter?: DataLabelsFormatterCallbackFunction;
  48845. /**
  48846. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  48847. * flow outside the plot area. The default is `"justify"`, which aligns them
  48848. * inside the plot area. For columns and bars, this means it will be moved
  48849. * inside the bar. To display data labels outside the plot area, set `crop`
  48850. * to `false` and `overflow` to `"allow"`.
  48851. */
  48852. overflow?: boolean;
  48853. /**
  48854. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  48855. * the `backgroundColor` is set, this is the padding within the box.
  48856. */
  48857. padding?: number;
  48858. /**
  48859. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  48860. * points. If `center` alignment is not possible, it defaults to `right`.
  48861. */
  48862. position?: AlignValue;
  48863. /**
  48864. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  48865. * that due to a more complex structure, backgrounds, borders and padding
  48866. * will be lost on a rotated data label.
  48867. */
  48868. rotation?: number;
  48869. /**
  48870. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  48871. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  48872. * an object configuration containing `color`, `offsetX`, `offsetY`,
  48873. * `opacity` and `width`.
  48874. */
  48875. shadow?: (boolean|ShadowOptionsObject);
  48876. /**
  48877. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  48878. * the border around the label. Symbols are predefined functions on the
  48879. * Renderer object.
  48880. */
  48881. shape?: string;
  48882. /**
  48883. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  48884. * default `color` setting is `"contrast"`, which is a pseudo color that
  48885. * Highcharts picks up and applies the maximum contrast to the underlying
  48886. * point item, for example the bar in a bar chart.
  48887. *
  48888. * The `textOutline` is a pseudo property that applies an outline of the
  48889. * given width with the given color, which by default is the maximum
  48890. * contrast to the text. So a bright text color will result in a black text
  48891. * outline for maximum readability on a mixed background. In some cases,
  48892. * especially with grayscale text, the text outline doesn't work well, in
  48893. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  48894. * is true, the `textOutline` will not be picked up. In this, case, the same
  48895. * effect can be acheived through the `text-shadow` CSS property.
  48896. *
  48897. * For some series types, where each point has an extent, like for example
  48898. * tree maps, the data label may overflow the point. There are two
  48899. * strategies for handling overflow. By default, the text will wrap to
  48900. * multiple lines. The other strategy is to set `style.textOverflow` to
  48901. * `ellipsis`, which will keep the text on one line plus it will break
  48902. * inside long words.
  48903. */
  48904. style?: CSSObject;
  48905. /**
  48906. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  48907. * should follow marker's shape. Border and background are disabled for a
  48908. * label that follows a path.
  48909. *
  48910. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  48911. * to true will disable this option.
  48912. */
  48913. textPath?: DataLabelsTextPathOptionsObject;
  48914. /**
  48915. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  48916. * the labels.
  48917. */
  48918. useHTML?: boolean;
  48919. /**
  48920. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  48921. * label. Can be one of `top`, `middle` or `bottom`. The default value
  48922. * depends on the data, for instance in a column chart, the label is above
  48923. * positive values and below negative values.
  48924. */
  48925. verticalAlign?: string;
  48926. /**
  48927. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  48928. * label relative to the point in pixels.
  48929. */
  48930. x?: number;
  48931. /**
  48932. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  48933. * label relative to the point in pixels.
  48934. */
  48935. y?: number;
  48936. /**
  48937. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  48938. * The default Z index puts it above the series. Use a Z index of 2 to
  48939. * display it behind the series.
  48940. */
  48941. z?: number;
  48942. }
  48943. /**
  48944. * (Highcharts, Highstock) Options for the series data sorting.
  48945. */
  48946. export interface PlotHeatmapDataSortingOptions {
  48947. /**
  48948. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  48949. * Use xAxis.reversed to change the sorting order.
  48950. */
  48951. enabled?: boolean;
  48952. /**
  48953. * (Highcharts, Highstock) Whether to allow matching points by name in an
  48954. * update. If this option is disabled, points will be matched by order.
  48955. */
  48956. matchByName?: boolean;
  48957. /**
  48958. * (Highcharts, Highstock) Determines what data value should be used to sort
  48959. * by.
  48960. */
  48961. sortKey?: string;
  48962. }
  48963. /**
  48964. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  48965. * state by default, the `default` state.
  48966. */
  48967. export interface PlotHeatmapDragDropGuideBoxOptions {
  48968. /**
  48969. * (Highcharts, Highmaps) Style options for the guide box default state.
  48970. */
  48971. default?: DragDropGuideBoxOptionsObject;
  48972. }
  48973. /**
  48974. * (Highcharts, Highmaps) A heatmap is a graphical representation of data where
  48975. * the individual values contained in a matrix are represented as colors.
  48976. *
  48977. * In TypeScript the type option must always be set.
  48978. *
  48979. * Configuration options for the series are given in three levels:
  48980. *
  48981. * 1. Options for all series in a chart are defined in the plotOptions.series
  48982. * object.
  48983. *
  48984. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  48985. *
  48986. * 3. Options for one single series are given in the series instance array. (see
  48987. * online documentation for example)
  48988. */
  48989. export interface PlotHeatmapOptions {
  48990. /**
  48991. * (Highcharts, Highmaps) Accessibility options for a series.
  48992. */
  48993. accessibility?: SeriesAccessibilityOptionsObject;
  48994. /**
  48995. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  48996. * rendered. If `true`, areas which don't correspond to a data point, are
  48997. * rendered as `null` points. If `false`, those areas are skipped.
  48998. */
  48999. allAreas?: boolean;
  49000. /**
  49001. * (Highcharts, Highmaps) Allow this series' points to be selected by
  49002. * clicking on the graphic (columns, point markers, pie slices, map areas
  49003. * etc).
  49004. *
  49005. * The selected points can be handled by point select and unselect events,
  49006. * or collectively by the getSelectedPoints function.
  49007. *
  49008. * And alternative way of selecting points is through dragging.
  49009. */
  49010. allowPointSelect?: boolean;
  49011. /**
  49012. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  49013. * series.
  49014. */
  49015. animation?: (boolean|PlotHeatmapAnimationOptions);
  49016. /**
  49017. * (Highcharts, Highmaps) Sets the color blending in the boost module.
  49018. */
  49019. boostBlending?: OptionsBoostBlendingValue;
  49020. /**
  49021. * (Highcharts, Highmaps) Set the point threshold for when a series should
  49022. * enter boost mode.
  49023. *
  49024. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  49025. * there are 2000 or more points in the series.
  49026. *
  49027. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  49028. * it to 1 will force boosting.
  49029. *
  49030. * Note that the cropThreshold also affects this setting. When zooming in on
  49031. * a series that has fewer points than the `cropThreshold`, all points are
  49032. * rendered although outside the visible plot area, and the `boostThreshold`
  49033. * won't take effect.
  49034. */
  49035. boostThreshold?: number;
  49036. /**
  49037. * (Highmaps) The border color of the map areas.
  49038. *
  49039. * In styled mode, the border stroke is given in the `.highcharts-point`
  49040. * class.
  49041. */
  49042. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49043. /**
  49044. * (Highcharts, Highmaps) The border radius for each heatmap item.
  49045. */
  49046. borderRadius?: number;
  49047. /**
  49048. * (Highmaps) The border width for each heatmap item.
  49049. */
  49050. borderWidth?: number;
  49051. /**
  49052. * (Highcharts, Highmaps) An additional class name to apply to the series'
  49053. * graphical elements. This option does not replace default class names of
  49054. * the graphical element.
  49055. */
  49056. className?: string;
  49057. /**
  49058. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  49059. * the whole plotting area.
  49060. *
  49061. * **Note:** Clipping should be always enabled when chart.zoomType is set
  49062. */
  49063. clip?: boolean;
  49064. /**
  49065. * (Highcharts) The main color of the series. In heat maps this color is
  49066. * rarely used, as we mostly use the color to denote the value of each
  49067. * point. Unless options are set in the colorAxis, the default value is
  49068. * pulled from the options.colors array.
  49069. */
  49070. color?: (ColorString|GradientColorObject|PatternObject);
  49071. /**
  49072. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  49073. * this number defines which colorAxis the particular series is connected
  49074. * to. It refers to either the axis id or the index of the axis in the
  49075. * colorAxis array, with 0 being the first. Set this option to false to
  49076. * prevent a series from connecting to the default color axis.
  49077. *
  49078. * Since v7.2.0 the option can also be an axis id or an axis index instead
  49079. * of a boolean flag.
  49080. */
  49081. colorAxis?: (boolean|number|string);
  49082. /**
  49083. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  49084. * for the series, so its graphic representations are given the class name
  49085. * `highcharts-color-{n}`.
  49086. */
  49087. colorIndex?: number;
  49088. /**
  49089. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  49090. * used to calculate point color if `colorAxis` is used. Requires to set
  49091. * `min` and `max` if some custom point property is used or if approximation
  49092. * for data grouping is set to `'sum'`.
  49093. */
  49094. colorKey?: string;
  49095. /**
  49096. * (Highcharts, Highmaps) The column size - how many X axis units each
  49097. * column in the heatmap should span.
  49098. */
  49099. colsize?: number;
  49100. /**
  49101. * (Highstock) Compare the values of the series against the first non-null,
  49102. * non- zero value in the visible range. The y axis will show percentage or
  49103. * absolute change depending on whether `compare` is set to `"percent"` or
  49104. * `"value"`. When this is applied to multiple series, it allows comparing
  49105. * the development of the series against each other. Adds a `change` field
  49106. * to every point object.
  49107. */
  49108. compare?: string;
  49109. /**
  49110. * (Highstock) When compare is `percent`, this option dictates whether to
  49111. * use 0 or 100 as the base of comparison.
  49112. */
  49113. compareBase?: (0|100);
  49114. /**
  49115. * (Highstock) Defines if comparison should start from the first point
  49116. * within the visible range or should start from the first point **before**
  49117. * the range.
  49118. *
  49119. * In other words, this flag determines if first point within the visible
  49120. * range will have 0% (`compareStart=true`) or should have been already
  49121. * calculated according to the previous point (`compareStart=false`).
  49122. */
  49123. compareStart?: boolean;
  49124. /**
  49125. * (Gantt) Override Pathfinder connector options for a series. Requires
  49126. * Highcharts Gantt to be loaded.
  49127. */
  49128. connectors?: SeriesConnectorsOptionsObject;
  49129. /**
  49130. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  49131. * rounded to its nearest pixel in order to render sharp on screen. In some
  49132. * cases, when there are a lot of densely packed columns, this leads to
  49133. * visible difference in column widths or distance between columns. In these
  49134. * cases, setting `crisp` to `false` may look better, even though each
  49135. * column is rendered blurry.
  49136. */
  49137. crisp?: boolean;
  49138. /**
  49139. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  49140. * click events attached to the series, to signal to the user that the
  49141. * points and lines can be clicked.
  49142. *
  49143. * In styled mode, the series cursor can be set with the same classes as
  49144. * listed under series.color.
  49145. */
  49146. cursor?: (string|CursorValue);
  49147. /**
  49148. * (Highcharts, Highmaps) A reserved subspace to store options and values
  49149. * for customized functionality. Here you can add additional data for your
  49150. * own event callbacks and formatter callbacks.
  49151. */
  49152. custom?: Dictionary<any>;
  49153. /**
  49154. * (Highstock) Data grouping is the concept of sampling the data values into
  49155. * larger blocks in order to ease readability and increase performance of
  49156. * the JavaScript charts. Highcharts Stock by default applies data grouping
  49157. * when the points become closer than a certain pixel value, determined by
  49158. * the `groupPixelWidth` option.
  49159. *
  49160. * If data grouping is applied, the grouping information of grouped points
  49161. * can be read from the Point.dataGroup. If point options other than the
  49162. * data itself are set, for example `name` or `color` or custom properties,
  49163. * the grouping logic doesn't know how to group it. In this case the options
  49164. * of the first point instance are copied over to the group point. This can
  49165. * be altered through a custom `approximation` callback function.
  49166. */
  49167. dataGrouping?: DataGroupingOptionsObject;
  49168. /**
  49169. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  49170. * labels, appearing next to each data point.
  49171. *
  49172. * Since v6.2.0, multiple data labels can be applied to each single point by
  49173. * defining them as an array of configs.
  49174. *
  49175. * In styled mode, the data labels can be styled with the
  49176. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  49177. * (see example).
  49178. */
  49179. dataLabels?: (PlotHeatmapDataLabelsOptions|Array<PlotHeatmapDataLabelsOptions>);
  49180. /**
  49181. * (Highcharts, Highstock) Options for the series data sorting.
  49182. */
  49183. dataSorting?: (DataSortingOptionsObject|PlotHeatmapDataSortingOptions);
  49184. /**
  49185. * (Highcharts, Highmaps) A description of the series to add to the screen
  49186. * reader information about the series.
  49187. */
  49188. description?: string;
  49189. /**
  49190. * (Highcharts, Highmaps) The draggable-points module allows points to be
  49191. * moved around or modified in the chart. In addition to the options
  49192. * mentioned under the `dragDrop` API structure, the module fires three
  49193. * events, point.dragStart, point.drag and point.drop.
  49194. */
  49195. dragDrop?: SeriesDragDropOptionsObject;
  49196. /**
  49197. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  49198. * specific series. This includes point tooltips and click events on graphs
  49199. * and points. For large datasets it improves performance.
  49200. */
  49201. enableMouseTracking?: boolean;
  49202. /**
  49203. * (Highcharts, Highmaps) General event handlers for the series items. These
  49204. * event hooks can also be attached to the series at run time using the
  49205. * `Highcharts.addEvent` function.
  49206. */
  49207. events?: SeriesEventsOptionsObject;
  49208. /**
  49209. * (Highstock) Defines when to display a gap in the graph, together with the
  49210. * gapUnit option.
  49211. *
  49212. * In case when `dataGrouping` is enabled, points can be grouped into a
  49213. * larger time span. This can make the grouped points to have a greater
  49214. * distance than the absolute value of `gapSize` property, which will result
  49215. * in disappearing graph completely. To prevent this situation the mentioned
  49216. * distance between grouped points is used instead of previously defined
  49217. * `gapSize`.
  49218. *
  49219. * In practice, this option is most often used to visualize gaps in time
  49220. * series. In a stock chart, intraday data is available for daytime hours,
  49221. * while gaps will appear in nights and weekends.
  49222. */
  49223. gapSize?: number;
  49224. /**
  49225. * (Highstock) Together with gapSize, this option defines where to draw gaps
  49226. * in the graph.
  49227. *
  49228. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  49229. * if the distance between two points is greater than 5 times that of the
  49230. * two closest points, the graph will be broken.
  49231. *
  49232. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  49233. * values, which on a datetime axis is milliseconds. This also applies to
  49234. * the navigator series that inherits gap options from the base series.
  49235. */
  49236. gapUnit?: OptionsGapUnitValue;
  49237. /**
  49238. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  49239. * from being included in any form of data export.
  49240. *
  49241. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  49242. * `includeInCSVExport`.
  49243. */
  49244. includeInDataExport?: boolean;
  49245. /**
  49246. * (Highmaps) What property to join the `mapData` to the value data. For
  49247. * example, if joinBy is "code", the mapData items with a specific code is
  49248. * merged into the data with the same code. For maps loaded from GeoJSON,
  49249. * the keys may be held in each point's `properties` object.
  49250. *
  49251. * The joinBy option can also be an array of two values, where the first
  49252. * points to a key in the `mapData`, and the second points to another key in
  49253. * the `data`.
  49254. *
  49255. * When joinBy is `null`, the map items are joined by their position in the
  49256. * array, which performs much better in maps with many data points. This is
  49257. * the recommended option if you are printing more than a thousand data
  49258. * points and have a backend that can preprocess the data into a parallel
  49259. * array of the mapData.
  49260. */
  49261. joinBy?: (string|Array<string>);
  49262. /**
  49263. * (Highcharts, Highmaps) An array specifying which option maps to which key
  49264. * in the data point array. This makes it convenient to work with
  49265. * unstructured data arrays from different sources.
  49266. */
  49267. keys?: Array<string>;
  49268. /**
  49269. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  49270. * series as possible in a natural way, seeking to avoid other series. The
  49271. * goal of this feature is to make the chart more easily readable, like if a
  49272. * human designer placed the labels in the optimal position.
  49273. *
  49274. * The series labels currently work with series types having a `graph` or an
  49275. * `area`.
  49276. */
  49277. label?: SeriesLabelOptionsObject;
  49278. /**
  49279. * (Highstock) The line marks the last price from all points.
  49280. */
  49281. lastPrice?: SeriesLastPriceOptionsObject;
  49282. /**
  49283. * (Highstock) The line marks the last price from visible range of points.
  49284. */
  49285. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  49286. /**
  49287. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  49288. * Additionally, the value can be ":previous" to link to the previous
  49289. * series. When two series are linked, only the first one appears in the
  49290. * legend. Toggling the visibility of this also toggles the linked series.
  49291. *
  49292. * If master series uses data sorting and linked series does not have its
  49293. * own sorting definition, the linked series will be sorted in the same
  49294. * order as the master one.
  49295. */
  49296. linkedTo?: string;
  49297. /**
  49298. * (Highcharts, Highmaps) Options for the point markers of line-like series.
  49299. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  49300. * visual appearance of the markers. Other series types, like column series,
  49301. * don't have markers, but have visual options on the series level instead.
  49302. *
  49303. * In styled mode, the markers can be styled with the `.highcharts-point`,
  49304. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  49305. */
  49306. marker?: PointMarkerOptionsObject;
  49307. /**
  49308. * (Highstock) Options for the corresponding navigator series if
  49309. * `showInNavigator` is `true` for this series. Available options are the
  49310. * same as any series, documented at plotOptions and series.
  49311. *
  49312. * These options are merged with options in navigator.series, and will take
  49313. * precedence if the same option is defined both places.
  49314. */
  49315. navigatorOptions?: PlotSeriesOptions;
  49316. /**
  49317. * (Highcharts, Highmaps) The color for the parts of the graph or points
  49318. * that are below the threshold. Note that `zones` takes precedence over the
  49319. * negative color. Using `negativeColor` is equivalent to applying a zone
  49320. * with value of 0.
  49321. */
  49322. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  49323. /**
  49324. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  49325. * a general CSS class is applied instead.
  49326. */
  49327. nullColor?: (ColorString|GradientColorObject|PatternObject);
  49328. /**
  49329. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  49330. * and dataLabels.
  49331. */
  49332. opacity?: number;
  49333. /**
  49334. * (Highcharts, Highmaps) Properties for each single point.
  49335. */
  49336. point?: PlotSeriesPointOptions;
  49337. /**
  49338. * (Highcharts, Highmaps) Same as accessibility.series.descriptionFormatter,
  49339. * but for an individual series. Overrides the chart wide configuration.
  49340. */
  49341. pointDescriptionFormatter?: Function;
  49342. /**
  49343. * (Highcharts, Highmaps) Padding between the points in the heatmap.
  49344. */
  49345. pointPadding?: number;
  49346. /**
  49347. * (Highcharts, Highmaps) The row size - how many Y axis units each heatmap
  49348. * row should span.
  49349. */
  49350. rowsize?: number;
  49351. /**
  49352. * (Highcharts, Highmaps) Whether to select the series initially. If
  49353. * `showCheckbox` is true, the checkbox next to the series name in the
  49354. * legend will be checked for a selected series.
  49355. */
  49356. selected?: boolean;
  49357. /**
  49358. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  49359. * legend item to allow selecting the series. The state of the checkbox is
  49360. * determined by the `selected` option.
  49361. */
  49362. showCheckbox?: boolean;
  49363. /**
  49364. * (Highcharts, Highmaps) Whether to display this particular series or
  49365. * series type in the legend. Standalone series are shown in legend by
  49366. * default, and linked series are not. Since v7.2.0 it is possible to show
  49367. * series that use colorAxis by setting this option to `true`.
  49368. */
  49369. showInLegend?: boolean;
  49370. /**
  49371. * (Highstock) Whether or not to show the series in the navigator. Takes
  49372. * precedence over navigator.baseSeries if defined.
  49373. */
  49374. showInNavigator?: boolean;
  49375. /**
  49376. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  49377. * skip past the points in this series for keyboard navigation.
  49378. */
  49379. skipKeyboardNavigation?: boolean;
  49380. states?: SeriesStatesOptionsObject;
  49381. /**
  49382. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  49383. * `mouseOut` event on a series isn't triggered until the mouse moves over
  49384. * another series, or out of the plot area. When false, the `mouseOut` event
  49385. * on a series is triggered when the mouse leaves the area around the
  49386. * series' graph or markers. This also implies the tooltip. When
  49387. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  49388. * be hidden when moving the mouse between series.
  49389. */
  49390. stickyTracking?: boolean;
  49391. /**
  49392. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  49393. * of each single series. Properties are inherited from tooltip. Overridable
  49394. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  49395. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  49396. * series.name by default shows in the headerFormat and point.x and point.y
  49397. * in the pointFormat.
  49398. */
  49399. tooltip?: SeriesTooltipOptionsObject;
  49400. /**
  49401. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  49402. * is longer than this, only one dimensional arrays of numbers, or two
  49403. * dimensional arrays with x and y values are allowed. Also, only the first
  49404. * point is tested, and the rest are assumed to be the same format. This
  49405. * saves expensive data checking and indexing in long series. Set it to `0`
  49406. * disable.
  49407. *
  49408. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  49409. * two dimensional arrays are allowed.
  49410. */
  49411. turboThreshold?: number;
  49412. /**
  49413. * (Highcharts, Highmaps) Set the initial visibility of the series.
  49414. */
  49415. visible?: boolean;
  49416. /**
  49417. * (Highmaps) Define the z index of the series.
  49418. */
  49419. zIndex?: number;
  49420. /**
  49421. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  49422. */
  49423. zoneAxis?: string;
  49424. /**
  49425. * (Highcharts, Highstock) An array defining zones within a series. Zones
  49426. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  49427. * the `zoneAxis` option. The zone definitions have to be in ascending order
  49428. * regarding to the value.
  49429. *
  49430. * In styled mode, the color zones are styled with the
  49431. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  49432. * option (view live demo).
  49433. */
  49434. zones?: Array<SeriesZonesOptionsObject>;
  49435. }
  49436. /**
  49437. * (Highcharts) Enable or disable the initial animation when a series is
  49438. * displayed. The animation can also be set as a configuration object. Please
  49439. * note that this option only applies to the initial animation of the series
  49440. * itself. For other animations, see chart.animation and the animation parameter
  49441. * under the API methods. The following properties are supported:
  49442. *
  49443. * - `defer`: The animation delay time in milliseconds.
  49444. *
  49445. * - `duration`: The duration of the animation in milliseconds.
  49446. *
  49447. * - `easing`: Can be a string reference to an easing function set on the `Math`
  49448. * object or a function. See the _Custom easing function_ demo below.
  49449. *
  49450. * Due to poor performance, animation is disabled in old IE browsers for several
  49451. * chart types.
  49452. */
  49453. export interface PlotHistogramAnimationOptions {
  49454. defer?: number;
  49455. }
  49456. /**
  49457. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49458. * animation when a series is displayed for the `dataLabels`. The animation can
  49459. * also be set as a configuration object. Please note that this option only
  49460. * applies to the initial animation. For other animations, see chart.animation
  49461. * and the animation parameter under the API methods. The following properties
  49462. * are supported:
  49463. *
  49464. * - `defer`: The animation delay time in milliseconds.
  49465. */
  49466. export interface PlotHistogramDataLabelsAnimationOptions {
  49467. /**
  49468. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  49469. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  49470. * inherits defer time from the series.animation.defer.
  49471. */
  49472. defer?: number;
  49473. }
  49474. /**
  49475. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  49476. * appearing next to each data point.
  49477. *
  49478. * Since v6.2.0, multiple data labels can be applied to each single point by
  49479. * defining them as an array of configs.
  49480. *
  49481. * In styled mode, the data labels can be styled with the
  49482. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  49483. * example).
  49484. */
  49485. export interface PlotHistogramDataLabelsOptions {
  49486. /**
  49487. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  49488. * compared to the point. If `right`, the right side of the label should be
  49489. * touching the point. For points with an extent, like columns, the
  49490. * alignments also dictates how to align it inside the box, as given with
  49491. * the inside option. Can be one of `left`, `center` or `right`.
  49492. */
  49493. align?: string;
  49494. /**
  49495. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  49496. * overlap. To make the labels less sensitive for overlapping, the
  49497. * dataLabels.padding can be set to 0.
  49498. */
  49499. allowOverlap?: boolean;
  49500. /**
  49501. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  49502. * animation when a series is displayed for the `dataLabels`. The animation
  49503. * can also be set as a configuration object. Please note that this option
  49504. * only applies to the initial animation. For other animations, see
  49505. * chart.animation and the animation parameter under the API methods. The
  49506. * following properties are supported:
  49507. *
  49508. * - `defer`: The animation delay time in milliseconds.
  49509. */
  49510. animation?: (boolean|PlotHistogramDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  49511. /**
  49512. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  49513. * for the data label.
  49514. */
  49515. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  49516. /**
  49517. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  49518. * label. Defaults to `undefined`.
  49519. */
  49520. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49521. /**
  49522. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  49523. * the data label.
  49524. */
  49525. borderRadius?: number;
  49526. /**
  49527. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  49528. * the data label.
  49529. */
  49530. borderWidth?: number;
  49531. /**
  49532. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  49533. * Particularly in styled mode, this can be used to give each series' or
  49534. * point's data label unique styling. In addition to this option, a default
  49535. * color class name is added so that we can give the labels a contrast text
  49536. * shadow.
  49537. */
  49538. className?: string;
  49539. /**
  49540. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  49541. * labels. Defaults to `undefined`. For certain series types, like column or
  49542. * map, the data labels can be drawn inside the points. In this case the
  49543. * data label will be drawn with maximum contrast by default. Additionally,
  49544. * it will be given a `text-outline` style with the opposite color, to
  49545. * further increase the contrast. This can be overridden by setting the
  49546. * `text-outline` style to `none` in the `dataLabels.style` option.
  49547. */
  49548. color?: (ColorString|GradientColorObject|PatternObject);
  49549. /**
  49550. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  49551. * are outside the plot area. By default, the data label is moved inside the
  49552. * plot area according to the overflow option.
  49553. */
  49554. crop?: boolean;
  49555. /**
  49556. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  49557. * labels until the initial series animation has finished. Setting to
  49558. * `false` renders the data label immediately. If set to `true` inherits the
  49559. * defer time set in plotOptions.series.animation. If set to a number, a
  49560. * defer time is specified in milliseconds.
  49561. */
  49562. defer?: (boolean|number);
  49563. /**
  49564. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  49565. * labels.
  49566. */
  49567. enabled?: boolean;
  49568. /**
  49569. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  49570. * of which data labels to display. The declarative filter is designed for
  49571. * use when callback functions are not available, like when the chart
  49572. * options require a pure JSON structure or for use with graphical editors.
  49573. * For programmatic control, use the `formatter` instead, and return
  49574. * `undefined` to disable a single data label.
  49575. */
  49576. filter?: DataLabelsFilterOptionsObject;
  49577. /**
  49578. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  49579. * label. Available variables are the same as for `formatter`.
  49580. */
  49581. format?: string;
  49582. /**
  49583. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  49584. * format the data label. Note that if a `format` is defined, the format
  49585. * takes precedence and the formatter is ignored.
  49586. */
  49587. formatter?: DataLabelsFormatterCallbackFunction;
  49588. /**
  49589. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  49590. * columns or map areas, whether to align the data label inside the box or
  49591. * to the actual value point. Defaults to `false` in most cases, `true` in
  49592. * stacked columns.
  49593. */
  49594. inside?: boolean;
  49595. /**
  49596. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  49597. * of null. Works analogously to format. `nullFormat` can be applied only to
  49598. * series which support displaying null points.
  49599. */
  49600. nullFormat?: (boolean|string);
  49601. /**
  49602. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  49603. * that defines formatting for points with the value of null. Works
  49604. * analogously to formatter. `nullPointFormatter` can be applied only to
  49605. * series which support displaying null points.
  49606. */
  49607. nullFormatter?: DataLabelsFormatterCallbackFunction;
  49608. /**
  49609. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  49610. * flow outside the plot area. The default is `"justify"`, which aligns them
  49611. * inside the plot area. For columns and bars, this means it will be moved
  49612. * inside the bar. To display data labels outside the plot area, set `crop`
  49613. * to `false` and `overflow` to `"allow"`.
  49614. */
  49615. overflow?: DataLabelsOverflowValue;
  49616. /**
  49617. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  49618. * the `backgroundColor` is set, this is the padding within the box.
  49619. */
  49620. padding?: number;
  49621. /**
  49622. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  49623. * points. If `center` alignment is not possible, it defaults to `right`.
  49624. */
  49625. position?: AlignValue;
  49626. /**
  49627. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  49628. * that due to a more complex structure, backgrounds, borders and padding
  49629. * will be lost on a rotated data label.
  49630. */
  49631. rotation?: number;
  49632. /**
  49633. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  49634. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  49635. * an object configuration containing `color`, `offsetX`, `offsetY`,
  49636. * `opacity` and `width`.
  49637. */
  49638. shadow?: (boolean|ShadowOptionsObject);
  49639. /**
  49640. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  49641. * the border around the label. Symbols are predefined functions on the
  49642. * Renderer object.
  49643. */
  49644. shape?: string;
  49645. /**
  49646. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  49647. * default `color` setting is `"contrast"`, which is a pseudo color that
  49648. * Highcharts picks up and applies the maximum contrast to the underlying
  49649. * point item, for example the bar in a bar chart.
  49650. *
  49651. * The `textOutline` is a pseudo property that applies an outline of the
  49652. * given width with the given color, which by default is the maximum
  49653. * contrast to the text. So a bright text color will result in a black text
  49654. * outline for maximum readability on a mixed background. In some cases,
  49655. * especially with grayscale text, the text outline doesn't work well, in
  49656. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  49657. * is true, the `textOutline` will not be picked up. In this, case, the same
  49658. * effect can be acheived through the `text-shadow` CSS property.
  49659. *
  49660. * For some series types, where each point has an extent, like for example
  49661. * tree maps, the data label may overflow the point. There are two
  49662. * strategies for handling overflow. By default, the text will wrap to
  49663. * multiple lines. The other strategy is to set `style.textOverflow` to
  49664. * `ellipsis`, which will keep the text on one line plus it will break
  49665. * inside long words.
  49666. */
  49667. style?: CSSObject;
  49668. /**
  49669. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  49670. * should follow marker's shape. Border and background are disabled for a
  49671. * label that follows a path.
  49672. *
  49673. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  49674. * to true will disable this option.
  49675. */
  49676. textPath?: DataLabelsTextPathOptionsObject;
  49677. /**
  49678. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  49679. * the labels.
  49680. */
  49681. useHTML?: boolean;
  49682. /**
  49683. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  49684. * label. Can be one of `top`, `middle` or `bottom`. The default value
  49685. * depends on the data, for instance in a column chart, the label is above
  49686. * positive values and below negative values.
  49687. */
  49688. verticalAlign?: string;
  49689. /**
  49690. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  49691. * label relative to the point in pixels.
  49692. */
  49693. x?: number;
  49694. /**
  49695. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  49696. * label relative to the point in pixels.
  49697. */
  49698. y?: number;
  49699. /**
  49700. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  49701. * The default Z index puts it above the series. Use a Z index of 2 to
  49702. * display it behind the series.
  49703. */
  49704. z?: number;
  49705. }
  49706. /**
  49707. * (Highcharts, Highstock) Options for the series data sorting.
  49708. */
  49709. export interface PlotHistogramDataSortingOptions {
  49710. /**
  49711. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  49712. * Use xAxis.reversed to change the sorting order.
  49713. */
  49714. enabled?: boolean;
  49715. /**
  49716. * (Highcharts, Highstock) Whether to allow matching points by name in an
  49717. * update. If this option is disabled, points will be matched by order.
  49718. */
  49719. matchByName?: boolean;
  49720. /**
  49721. * (Highcharts, Highstock) Determines what data value should be used to sort
  49722. * by.
  49723. */
  49724. sortKey?: string;
  49725. }
  49726. /**
  49727. * (Highcharts) A histogram is a column series which represents the distribution
  49728. * of the data set in the base series. Histogram splits data into bins and shows
  49729. * their frequencies.
  49730. *
  49731. * In TypeScript the type option must always be set.
  49732. *
  49733. * Configuration options for the series are given in three levels:
  49734. *
  49735. * 1. Options for all series in a chart are defined in the plotOptions.series
  49736. * object.
  49737. *
  49738. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  49739. *
  49740. * 3. Options for one single series are given in the series instance array. (see
  49741. * online documentation for example)
  49742. */
  49743. export interface PlotHistogramOptions {
  49744. /**
  49745. * (Highcharts) Accessibility options for a series.
  49746. */
  49747. accessibility?: SeriesAccessibilityOptionsObject;
  49748. /**
  49749. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  49750. * rendered. If `true`, areas which don't correspond to a data point, are
  49751. * rendered as `null` points. If `false`, those areas are skipped.
  49752. */
  49753. allAreas?: boolean;
  49754. /**
  49755. * (Highcharts) Allow this series' points to be selected by clicking on the
  49756. * graphic (columns, point markers, pie slices, map areas etc).
  49757. *
  49758. * The selected points can be handled by point select and unselect events,
  49759. * or collectively by the getSelectedPoints function.
  49760. *
  49761. * And alternative way of selecting points is through dragging.
  49762. */
  49763. allowPointSelect?: boolean;
  49764. /**
  49765. * (Highcharts) Enable or disable the initial animation when a series is
  49766. * displayed. The animation can also be set as a configuration object.
  49767. * Please note that this option only applies to the initial animation of the
  49768. * series itself. For other animations, see chart.animation and the
  49769. * animation parameter under the API methods. The following properties are
  49770. * supported:
  49771. *
  49772. * - `defer`: The animation delay time in milliseconds.
  49773. *
  49774. * - `duration`: The duration of the animation in milliseconds.
  49775. *
  49776. * - `easing`: Can be a string reference to an easing function set on the
  49777. * `Math` object or a function. See the _Custom easing function_ demo below.
  49778. *
  49779. * Due to poor performance, animation is disabled in old IE browsers for
  49780. * several chart types.
  49781. */
  49782. animation?: (boolean|PlotHistogramAnimationOptions|Partial<AnimationOptionsObject>);
  49783. /**
  49784. * (Highcharts) For some series, there is a limit that shuts down initial
  49785. * animation by default when the total number of points in the chart is too
  49786. * high. For example, for a column chart and its derivatives, animation does
  49787. * not run if there is more than 250 points totally. To disable this cap,
  49788. * set `animationLimit` to `Infinity`.
  49789. */
  49790. animationLimit?: number;
  49791. /**
  49792. * (Highcharts) A preferable number of bins. It is a suggestion, so a
  49793. * histogram may have a different number of bins. By default it is set to
  49794. * the square root of the base series' data length. Available options are:
  49795. * `square-root`, `sturges`, `rice`. You can also define a function which
  49796. * takes a `baseSeries` as a parameter and should return a positive integer.
  49797. */
  49798. binsNumber?: ("rice"|"square-root"|"sturges"|number|Function);
  49799. /**
  49800. * (Highcharts) Width of each bin. By default the bin's width is calculated
  49801. * as `(max - min) / number of bins`. This option takes precedence over
  49802. * binsNumber.
  49803. */
  49804. binWidth?: number;
  49805. /**
  49806. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  49807. * column or bar.
  49808. *
  49809. * In styled mode, the border stroke can be set with the `.highcharts-point`
  49810. * rule.
  49811. */
  49812. borderColor?: (ColorString|GradientColorObject|PatternObject);
  49813. /**
  49814. * (Highcharts, Highstock, Gantt) The corner radius of the border
  49815. * surrounding each column or bar.
  49816. */
  49817. borderRadius?: number;
  49818. /**
  49819. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  49820. * column or bar. Defaults to `1` when there is room for a border, but to
  49821. * `0` when the columns are so dense that a border would cover the next
  49822. * column.
  49823. *
  49824. * In styled mode, the stroke width can be set with the `.highcharts-point`
  49825. * rule.
  49826. */
  49827. borderWidth?: number;
  49828. /**
  49829. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  49830. * the category, ignoring null or missing points. When `false`, space will
  49831. * be reserved for null or missing points.
  49832. */
  49833. centerInCategory?: boolean;
  49834. /**
  49835. * (Highcharts) An additional class name to apply to the series' graphical
  49836. * elements. This option does not replace default class names of the
  49837. * graphical element.
  49838. */
  49839. className?: string;
  49840. /**
  49841. * (Highcharts) Disable this option to allow series rendering in the whole
  49842. * plotting area.
  49843. *
  49844. * **Note:** Clipping should be always enabled when chart.zoomType is set
  49845. */
  49846. clip?: boolean;
  49847. /**
  49848. * (Highcharts) The main color of the series. In line type series it applies
  49849. * to the line and the point markers unless otherwise specified. In bar type
  49850. * series it applies to the bars unless a color is specified per point. The
  49851. * default value is pulled from the `options.colors` array.
  49852. *
  49853. * In styled mode, the color can be defined by the colorIndex option. Also,
  49854. * the series color can be set with the `.highcharts-series`,
  49855. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  49856. * `.highcharts-series-{n}` class, or individual classes given by the
  49857. * `className` option.
  49858. */
  49859. color?: (ColorString|GradientColorObject|PatternObject);
  49860. /**
  49861. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  49862. * this number defines which colorAxis the particular series is connected
  49863. * to. It refers to either the axis id or the index of the axis in the
  49864. * colorAxis array, with 0 being the first. Set this option to false to
  49865. * prevent a series from connecting to the default color axis.
  49866. *
  49867. * Since v7.2.0 the option can also be an axis id or an axis index instead
  49868. * of a boolean flag.
  49869. */
  49870. colorAxis?: (boolean|number|string);
  49871. /**
  49872. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  49873. * from the global colors or series-specific plotOptions.column.colors
  49874. * collections, this option determines whether the chart should receive one
  49875. * color per series or one color per point.
  49876. *
  49877. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  49878. * and instead this option gives the points individual color class names on
  49879. * the form `highcharts-color-{n}`.
  49880. */
  49881. colorByPoint?: boolean;
  49882. /**
  49883. * (Highcharts) Styled mode only. A specific color index to use for the
  49884. * series, so its graphic representations are given the class name
  49885. * `highcharts-color-{n}`.
  49886. */
  49887. colorIndex?: number;
  49888. /**
  49889. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  49890. * used to calculate point color if `colorAxis` is used. Requires to set
  49891. * `min` and `max` if some custom point property is used or if approximation
  49892. * for data grouping is set to `'sum'`.
  49893. */
  49894. colorKey?: string;
  49895. /**
  49896. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  49897. * color set to apply instead of the global colors when colorByPoint is
  49898. * true.
  49899. */
  49900. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  49901. /**
  49902. * (Highstock) Compare the values of the series against the first non-null,
  49903. * non- zero value in the visible range. The y axis will show percentage or
  49904. * absolute change depending on whether `compare` is set to `"percent"` or
  49905. * `"value"`. When this is applied to multiple series, it allows comparing
  49906. * the development of the series against each other. Adds a `change` field
  49907. * to every point object.
  49908. */
  49909. compare?: string;
  49910. /**
  49911. * (Highstock) When compare is `percent`, this option dictates whether to
  49912. * use 0 or 100 as the base of comparison.
  49913. */
  49914. compareBase?: (0|100);
  49915. /**
  49916. * (Highstock) Defines if comparison should start from the first point
  49917. * within the visible range or should start from the first point **before**
  49918. * the range.
  49919. *
  49920. * In other words, this flag determines if first point within the visible
  49921. * range will have 0% (`compareStart=true`) or should have been already
  49922. * calculated according to the previous point (`compareStart=false`).
  49923. */
  49924. compareStart?: boolean;
  49925. /**
  49926. * (Gantt) Override Pathfinder connector options for a series. Requires
  49927. * Highcharts Gantt to be loaded.
  49928. */
  49929. connectors?: SeriesConnectorsOptionsObject;
  49930. /**
  49931. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  49932. * rounded to its nearest pixel in order to render sharp on screen. In some
  49933. * cases, when there are a lot of densely packed columns, this leads to
  49934. * visible difference in column widths or distance between columns. In these
  49935. * cases, setting `crisp` to `false` may look better, even though each
  49936. * column is rendered blurry.
  49937. */
  49938. crisp?: boolean;
  49939. /**
  49940. * (Highcharts, Highstock, Gantt) When the series contains less points than
  49941. * the crop threshold, all points are drawn, event if the points fall
  49942. * outside the visible plot area at the current zoom. The advantage of
  49943. * drawing all points (including markers and columns), is that animation is
  49944. * performed on updates. On the other hand, when the series contains more
  49945. * points than the crop threshold, the series data is cropped to only
  49946. * contain points that fall within the plot area. The advantage of cropping
  49947. * away invisible points is to increase performance on large series.
  49948. */
  49949. cropThreshold?: number;
  49950. /**
  49951. * (Highcharts) You can set the cursor to "pointer" if you have click events
  49952. * attached to the series, to signal to the user that the points and lines
  49953. * can be clicked.
  49954. *
  49955. * In styled mode, the series cursor can be set with the same classes as
  49956. * listed under series.color.
  49957. */
  49958. cursor?: (string|CursorValue);
  49959. /**
  49960. * (Highcharts) A reserved subspace to store options and values for
  49961. * customized functionality. Here you can add additional data for your own
  49962. * event callbacks and formatter callbacks.
  49963. */
  49964. custom?: Dictionary<any>;
  49965. /**
  49966. * (Highcharts) Name of the dash style to use for the graph, or for some
  49967. * series types the outline of each shape.
  49968. *
  49969. * In styled mode, the stroke dash-array can be set with the same classes as
  49970. * listed under series.color.
  49971. */
  49972. dashStyle?: DashStyleValue;
  49973. /**
  49974. * (Highstock) Data grouping is the concept of sampling the data values into
  49975. * larger blocks in order to ease readability and increase performance of
  49976. * the JavaScript charts. Highcharts Stock by default applies data grouping
  49977. * when the points become closer than a certain pixel value, determined by
  49978. * the `groupPixelWidth` option.
  49979. *
  49980. * If data grouping is applied, the grouping information of grouped points
  49981. * can be read from the Point.dataGroup. If point options other than the
  49982. * data itself are set, for example `name` or `color` or custom properties,
  49983. * the grouping logic doesn't know how to group it. In this case the options
  49984. * of the first point instance are copied over to the group point. This can
  49985. * be altered through a custom `approximation` callback function.
  49986. */
  49987. dataGrouping?: DataGroupingOptionsObject;
  49988. /**
  49989. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  49990. * labels, appearing next to each data point.
  49991. *
  49992. * Since v6.2.0, multiple data labels can be applied to each single point by
  49993. * defining them as an array of configs.
  49994. *
  49995. * In styled mode, the data labels can be styled with the
  49996. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  49997. * (see example).
  49998. */
  49999. dataLabels?: (PlotHistogramDataLabelsOptions|Array<PlotHistogramDataLabelsOptions>);
  50000. /**
  50001. * (Highcharts, Highstock) Options for the series data sorting.
  50002. */
  50003. dataSorting?: (DataSortingOptionsObject|PlotHistogramDataSortingOptions);
  50004. /**
  50005. * (Highcharts) Depth of the columns in a 3D column chart.
  50006. */
  50007. depth?: number;
  50008. /**
  50009. * (Highcharts) A description of the series to add to the screen reader
  50010. * information about the series.
  50011. */
  50012. description?: string;
  50013. /**
  50014. * (Highcharts) 3D columns only. The color of the edges. Similar to
  50015. * `borderColor`, except it defaults to the same color as the column.
  50016. */
  50017. edgeColor?: ColorString;
  50018. /**
  50019. * (Highcharts) 3D columns only. The width of the colored edges.
  50020. */
  50021. edgeWidth?: number;
  50022. /**
  50023. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  50024. * This includes point tooltips and click events on graphs and points. For
  50025. * large datasets it improves performance.
  50026. */
  50027. enableMouseTracking?: boolean;
  50028. /**
  50029. * (Highcharts) General event handlers for the series items. These event
  50030. * hooks can also be attached to the series at run time using the
  50031. * `Highcharts.addEvent` function.
  50032. */
  50033. events?: SeriesEventsOptionsObject;
  50034. /**
  50035. * (Highcharts) Determines whether the series should look for the nearest
  50036. * point in both dimensions or just the x-dimension when hovering the
  50037. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  50038. * series. If the data has duplicate x-values, it is recommended to set this
  50039. * to `'xy'` to allow hovering over all points.
  50040. *
  50041. * Applies only to series types using nearest neighbor search (not direct
  50042. * hover) for tooltip.
  50043. */
  50044. findNearestPointBy?: OptionsFindNearestPointByValue;
  50045. /**
  50046. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  50047. * chart width or only the zoomed area when zooming in on parts of the X
  50048. * axis. By default, the Y axis adjusts to the min and max of the visible
  50049. * data. Cartesian series only.
  50050. */
  50051. getExtremesFromAll?: boolean;
  50052. /**
  50053. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  50054. * let them render independent of each other. Non-grouped columns will be
  50055. * laid out individually and overlap each other.
  50056. */
  50057. grouping?: boolean;
  50058. /**
  50059. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  50060. * axis units.
  50061. */
  50062. groupPadding?: number;
  50063. /**
  50064. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  50065. */
  50066. groupZPadding?: number;
  50067. /**
  50068. * (Highcharts) When set to `false` will prevent the series data from being
  50069. * included in any form of data export.
  50070. *
  50071. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  50072. * `includeInCSVExport`.
  50073. */
  50074. includeInDataExport?: boolean;
  50075. /**
  50076. * (Highmaps) What property to join the `mapData` to the value data. For
  50077. * example, if joinBy is "code", the mapData items with a specific code is
  50078. * merged into the data with the same code. For maps loaded from GeoJSON,
  50079. * the keys may be held in each point's `properties` object.
  50080. *
  50081. * The joinBy option can also be an array of two values, where the first
  50082. * points to a key in the `mapData`, and the second points to another key in
  50083. * the `data`.
  50084. *
  50085. * When joinBy is `null`, the map items are joined by their position in the
  50086. * array, which performs much better in maps with many data points. This is
  50087. * the recommended option if you are printing more than a thousand data
  50088. * points and have a backend that can preprocess the data into a parallel
  50089. * array of the mapData.
  50090. */
  50091. joinBy?: (string|Array<string>);
  50092. /**
  50093. * (Highcharts) An array specifying which option maps to which key in the
  50094. * data point array. This makes it convenient to work with unstructured data
  50095. * arrays from different sources.
  50096. */
  50097. keys?: Array<string>;
  50098. /**
  50099. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  50100. * series as possible in a natural way, seeking to avoid other series. The
  50101. * goal of this feature is to make the chart more easily readable, like if a
  50102. * human designer placed the labels in the optimal position.
  50103. *
  50104. * The series labels currently work with series types having a `graph` or an
  50105. * `area`.
  50106. */
  50107. label?: SeriesLabelOptionsObject;
  50108. /**
  50109. * (Highstock) The line marks the last price from all points.
  50110. */
  50111. lastPrice?: SeriesLastPriceOptionsObject;
  50112. /**
  50113. * (Highstock) The line marks the last price from visible range of points.
  50114. */
  50115. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  50116. /**
  50117. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  50118. * Additionally, the value can be ":previous" to link to the previous
  50119. * series. When two series are linked, only the first one appears in the
  50120. * legend. Toggling the visibility of this also toggles the linked series.
  50121. *
  50122. * If master series uses data sorting and linked series does not have its
  50123. * own sorting definition, the linked series will be sorted in the same
  50124. * order as the master one.
  50125. */
  50126. linkedTo?: string;
  50127. /**
  50128. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  50129. * column, translated to the height of a bar in a bar chart. This prevents
  50130. * the columns from becoming too wide when there is a small number of points
  50131. * in the chart.
  50132. */
  50133. maxPointWidth?: number;
  50134. /**
  50135. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  50136. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  50137. * to zero) point, set the minimal point length to a pixel value like 3\. In
  50138. * stacked column charts, minPointLength might not be respected for tightly
  50139. * packed values.
  50140. */
  50141. minPointLength?: number;
  50142. /**
  50143. * (Highstock) Options for the corresponding navigator series if
  50144. * `showInNavigator` is `true` for this series. Available options are the
  50145. * same as any series, documented at plotOptions and series.
  50146. *
  50147. * These options are merged with options in navigator.series, and will take
  50148. * precedence if the same option is defined both places.
  50149. */
  50150. navigatorOptions?: PlotSeriesOptions;
  50151. /**
  50152. * (Highcharts) The color for the parts of the graph or points that are
  50153. * below the threshold. Note that `zones` takes precedence over the negative
  50154. * color. Using `negativeColor` is equivalent to applying a zone with value
  50155. * of 0.
  50156. */
  50157. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  50158. /**
  50159. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  50160. * dataLabels.
  50161. */
  50162. opacity?: number;
  50163. /**
  50164. * (Highcharts) Properties for each single point.
  50165. */
  50166. point?: PlotSeriesPointOptions;
  50167. /**
  50168. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  50169. * an individual series. Overrides the chart wide configuration.
  50170. */
  50171. pointDescriptionFormatter?: Function;
  50172. /**
  50173. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  50174. * axis units.
  50175. */
  50176. pointPadding?: number;
  50177. /**
  50178. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  50179. * `number`.
  50180. *
  50181. * In a column chart, when pointPlacement is `"on"`, the point will not
  50182. * create any padding of the X axis. In a polar column chart this means that
  50183. * the first column points directly north. If the pointPlacement is
  50184. * `"between"`, the columns will be laid out between ticks. This is useful
  50185. * for example for visualising an amount between two points in time or in a
  50186. * certain sector of a polar chart.
  50187. *
  50188. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  50189. * is on the axis value, -0.5 is between this value and the previous, and
  50190. * 0.5 is between this value and the next. Unlike the textual options,
  50191. * numeric point placement options won't affect axis padding.
  50192. *
  50193. * Note that pointPlacement needs a pointRange to work. For column series
  50194. * this is computed, but for line-type series it needs to be set.
  50195. *
  50196. * For the `xrange` series type and gantt charts, if the Y axis is a
  50197. * category axis, the `pointPlacement` applies to the Y axis rather than the
  50198. * (typically datetime) X axis.
  50199. *
  50200. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  50201. */
  50202. pointPlacement?: string;
  50203. /**
  50204. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  50205. * for. This determines the width of the column. On a categorized axis, the
  50206. * range will be 1 by default (one category unit). On linear and datetime
  50207. * axes, the range will be computed as the distance between the two closest
  50208. * data points.
  50209. *
  50210. * The default `null` means it is computed automatically, but this option
  50211. * can be used to override the automatic value.
  50212. *
  50213. * This option is set by default to 1 if data sorting is enabled.
  50214. */
  50215. pointRange?: (number|null);
  50216. /**
  50217. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  50218. * a series, pointStart defines on what value to start. For example, if a
  50219. * series contains one yearly value starting from 1945, set pointStart to
  50220. * 1945.
  50221. */
  50222. pointStart?: number;
  50223. /**
  50224. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  50225. * each column or bar point. When set to `undefined`, the width is
  50226. * calculated from the `pointPadding` and `groupPadding`. The width effects
  50227. * the dimension that is not based on the point value. For column series it
  50228. * is the hoizontal length and for bar series it is the vertical length.
  50229. */
  50230. pointWidth?: number;
  50231. /**
  50232. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  50233. * true, the checkbox next to the series name in the legend will be checked
  50234. * for a selected series.
  50235. */
  50236. selected?: boolean;
  50237. /**
  50238. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  50239. * the shadow can be an object configuration containing `color`, `offsetX`,
  50240. * `offsetY`, `opacity` and `width`.
  50241. */
  50242. shadow?: (boolean|ShadowOptionsObject);
  50243. /**
  50244. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  50245. * allow selecting the series. The state of the checkbox is determined by
  50246. * the `selected` option.
  50247. */
  50248. showCheckbox?: boolean;
  50249. /**
  50250. * (Highcharts) Whether to display this particular series or series type in
  50251. * the legend. Standalone series are shown in legend by default, and linked
  50252. * series are not. Since v7.2.0 it is possible to show series that use
  50253. * colorAxis by setting this option to `true`.
  50254. */
  50255. showInLegend?: boolean;
  50256. /**
  50257. * (Highstock) Whether or not to show the series in the navigator. Takes
  50258. * precedence over navigator.baseSeries if defined.
  50259. */
  50260. showInNavigator?: boolean;
  50261. /**
  50262. * (Highcharts) If set to `true`, the accessibility module will skip past
  50263. * the points in this series for keyboard navigation.
  50264. */
  50265. skipKeyboardNavigation?: boolean;
  50266. /**
  50267. * (Highcharts, Highstock) When this is true, the series will not cause the
  50268. * Y axis to cross the zero plane (or threshold option) unless the data
  50269. * actually crosses the plane.
  50270. *
  50271. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  50272. * make the Y axis show negative values according to the `minPadding`
  50273. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  50274. */
  50275. softThreshold?: boolean;
  50276. states?: SeriesStatesOptionsObject;
  50277. /**
  50278. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  50279. * event on a series isn't triggered until the mouse moves over another
  50280. * series, or out of the plot area. When false, the `mouseOut` event on a
  50281. * series is triggered when the mouse leaves the area around the series'
  50282. * graph or markers. This also implies the tooltip when not shared. When
  50283. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  50284. * be hidden when moving the mouse between series. Defaults to true for line
  50285. * and area type series, but to false for columns, pies etc.
  50286. *
  50287. * **Note:** The boost module will force this option because of technical
  50288. * limitations.
  50289. */
  50290. stickyTracking?: boolean;
  50291. /**
  50292. * (Highcharts) The Y axis value to serve as the base for the columns, for
  50293. * distinguishing between values above and below a threshold. If `null`, the
  50294. * columns extend from the padding Y axis minimum.
  50295. */
  50296. threshold?: (number|null);
  50297. /**
  50298. * (Highcharts) A configuration object for the tooltip rendering of each
  50299. * single series. Properties are inherited from tooltip, but only the
  50300. * following properties can be defined on a series level.
  50301. */
  50302. tooltip?: SeriesTooltipOptionsObject;
  50303. /**
  50304. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  50305. * is longer than this, only one dimensional arrays of numbers, or two
  50306. * dimensional arrays with x and y values are allowed. Also, only the first
  50307. * point is tested, and the rest are assumed to be the same format. This
  50308. * saves expensive data checking and indexing in long series. Set it to `0`
  50309. * disable.
  50310. *
  50311. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  50312. * two dimensional arrays are allowed.
  50313. */
  50314. turboThreshold?: number;
  50315. /**
  50316. * (Highcharts) Set the initial visibility of the series.
  50317. */
  50318. visible?: boolean;
  50319. /**
  50320. * (Highmaps) Define the z index of the series.
  50321. */
  50322. zIndex?: number;
  50323. /**
  50324. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  50325. */
  50326. zoneAxis?: string;
  50327. /**
  50328. * (Highcharts, Highstock) An array defining zones within a series. Zones
  50329. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  50330. * the `zoneAxis` option. The zone definitions have to be in ascending order
  50331. * regarding to the value.
  50332. *
  50333. * In styled mode, the color zones are styled with the
  50334. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  50335. * option (view live demo).
  50336. */
  50337. zones?: Array<SeriesZonesOptionsObject>;
  50338. }
  50339. /**
  50340. * (Highstock) Enable or disable the initial animation when a series is
  50341. * displayed. The animation can also be set as a configuration object. Please
  50342. * note that this option only applies to the initial animation of the series
  50343. * itself. For other animations, see chart.animation and the animation parameter
  50344. * under the API methods. The following properties are supported:
  50345. *
  50346. * - `defer`: The animation delay time in milliseconds.
  50347. *
  50348. * - `duration`: The duration of the animation in milliseconds.
  50349. *
  50350. * - `easing`: Can be a string reference to an easing function set on the `Math`
  50351. * object or a function. See the _Custom easing function_ demo below.
  50352. *
  50353. * Due to poor performance, animation is disabled in old IE browsers for several
  50354. * chart types.
  50355. */
  50356. export interface PlotIkhAnimationOptions {
  50357. defer?: number;
  50358. }
  50359. /**
  50360. * (Highstock) The styles for Chikou line
  50361. */
  50362. export interface PlotIkhChikouLineOptions {
  50363. styles?: PlotIkhChikouLineStylesOptions;
  50364. }
  50365. export interface PlotIkhChikouLineStylesOptions {
  50366. /**
  50367. * (Highstock) Color of the line.
  50368. */
  50369. lineColor?: ColorString;
  50370. /**
  50371. * (Highstock) Pixel width of the line.
  50372. */
  50373. lineWidth?: number;
  50374. }
  50375. /**
  50376. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50377. * animation when a series is displayed for the `dataLabels`. The animation can
  50378. * also be set as a configuration object. Please note that this option only
  50379. * applies to the initial animation. For other animations, see chart.animation
  50380. * and the animation parameter under the API methods. The following properties
  50381. * are supported:
  50382. *
  50383. * - `defer`: The animation delay time in milliseconds.
  50384. */
  50385. export interface PlotIkhDataLabelsAnimationOptions {
  50386. /**
  50387. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  50388. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  50389. * inherits defer time from the series.animation.defer.
  50390. */
  50391. defer?: number;
  50392. }
  50393. /**
  50394. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  50395. * appearing next to each data point.
  50396. *
  50397. * Since v6.2.0, multiple data labels can be applied to each single point by
  50398. * defining them as an array of configs.
  50399. *
  50400. * In styled mode, the data labels can be styled with the
  50401. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  50402. * example).
  50403. */
  50404. export interface PlotIkhDataLabelsOptions {
  50405. /**
  50406. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  50407. * compared to the point. If `right`, the right side of the label should be
  50408. * touching the point. For points with an extent, like columns, the
  50409. * alignments also dictates how to align it inside the box, as given with
  50410. * the inside option. Can be one of `left`, `center` or `right`.
  50411. */
  50412. align?: (AlignValue|null);
  50413. /**
  50414. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  50415. * overlap. To make the labels less sensitive for overlapping, the
  50416. * dataLabels.padding can be set to 0.
  50417. */
  50418. allowOverlap?: boolean;
  50419. /**
  50420. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  50421. * animation when a series is displayed for the `dataLabels`. The animation
  50422. * can also be set as a configuration object. Please note that this option
  50423. * only applies to the initial animation. For other animations, see
  50424. * chart.animation and the animation parameter under the API methods. The
  50425. * following properties are supported:
  50426. *
  50427. * - `defer`: The animation delay time in milliseconds.
  50428. */
  50429. animation?: (boolean|PlotIkhDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  50430. /**
  50431. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  50432. * for the data label.
  50433. */
  50434. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  50435. /**
  50436. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  50437. * label. Defaults to `undefined`.
  50438. */
  50439. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50440. /**
  50441. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  50442. * the data label.
  50443. */
  50444. borderRadius?: number;
  50445. /**
  50446. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  50447. * the data label.
  50448. */
  50449. borderWidth?: number;
  50450. /**
  50451. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  50452. * Particularly in styled mode, this can be used to give each series' or
  50453. * point's data label unique styling. In addition to this option, a default
  50454. * color class name is added so that we can give the labels a contrast text
  50455. * shadow.
  50456. */
  50457. className?: string;
  50458. /**
  50459. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  50460. * labels. Defaults to `undefined`. For certain series types, like column or
  50461. * map, the data labels can be drawn inside the points. In this case the
  50462. * data label will be drawn with maximum contrast by default. Additionally,
  50463. * it will be given a `text-outline` style with the opposite color, to
  50464. * further increase the contrast. This can be overridden by setting the
  50465. * `text-outline` style to `none` in the `dataLabels.style` option.
  50466. */
  50467. color?: (ColorString|GradientColorObject|PatternObject);
  50468. /**
  50469. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  50470. * are outside the plot area. By default, the data label is moved inside the
  50471. * plot area according to the overflow option.
  50472. */
  50473. crop?: boolean;
  50474. /**
  50475. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  50476. * labels until the initial series animation has finished. Setting to
  50477. * `false` renders the data label immediately. If set to `true` inherits the
  50478. * defer time set in plotOptions.series.animation. If set to a number, a
  50479. * defer time is specified in milliseconds.
  50480. */
  50481. defer?: (boolean|number);
  50482. /**
  50483. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  50484. * labels.
  50485. */
  50486. enabled?: boolean;
  50487. /**
  50488. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  50489. * of which data labels to display. The declarative filter is designed for
  50490. * use when callback functions are not available, like when the chart
  50491. * options require a pure JSON structure or for use with graphical editors.
  50492. * For programmatic control, use the `formatter` instead, and return
  50493. * `undefined` to disable a single data label.
  50494. */
  50495. filter?: DataLabelsFilterOptionsObject;
  50496. /**
  50497. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  50498. * label. Available variables are the same as for `formatter`.
  50499. */
  50500. format?: string;
  50501. /**
  50502. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  50503. * format the data label. Note that if a `format` is defined, the format
  50504. * takes precedence and the formatter is ignored.
  50505. */
  50506. formatter?: DataLabelsFormatterCallbackFunction;
  50507. /**
  50508. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  50509. * columns or map areas, whether to align the data label inside the box or
  50510. * to the actual value point. Defaults to `false` in most cases, `true` in
  50511. * stacked columns.
  50512. */
  50513. inside?: boolean;
  50514. /**
  50515. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  50516. * of null. Works analogously to format. `nullFormat` can be applied only to
  50517. * series which support displaying null points.
  50518. */
  50519. nullFormat?: (boolean|string);
  50520. /**
  50521. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  50522. * that defines formatting for points with the value of null. Works
  50523. * analogously to formatter. `nullPointFormatter` can be applied only to
  50524. * series which support displaying null points.
  50525. */
  50526. nullFormatter?: DataLabelsFormatterCallbackFunction;
  50527. /**
  50528. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  50529. * flow outside the plot area. The default is `"justify"`, which aligns them
  50530. * inside the plot area. For columns and bars, this means it will be moved
  50531. * inside the bar. To display data labels outside the plot area, set `crop`
  50532. * to `false` and `overflow` to `"allow"`.
  50533. */
  50534. overflow?: DataLabelsOverflowValue;
  50535. /**
  50536. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  50537. * the `backgroundColor` is set, this is the padding within the box.
  50538. */
  50539. padding?: number;
  50540. /**
  50541. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  50542. * points. If `center` alignment is not possible, it defaults to `right`.
  50543. */
  50544. position?: AlignValue;
  50545. /**
  50546. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  50547. * that due to a more complex structure, backgrounds, borders and padding
  50548. * will be lost on a rotated data label.
  50549. */
  50550. rotation?: number;
  50551. /**
  50552. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  50553. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  50554. * an object configuration containing `color`, `offsetX`, `offsetY`,
  50555. * `opacity` and `width`.
  50556. */
  50557. shadow?: (boolean|ShadowOptionsObject);
  50558. /**
  50559. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  50560. * the border around the label. Symbols are predefined functions on the
  50561. * Renderer object.
  50562. */
  50563. shape?: string;
  50564. /**
  50565. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  50566. * default `color` setting is `"contrast"`, which is a pseudo color that
  50567. * Highcharts picks up and applies the maximum contrast to the underlying
  50568. * point item, for example the bar in a bar chart.
  50569. *
  50570. * The `textOutline` is a pseudo property that applies an outline of the
  50571. * given width with the given color, which by default is the maximum
  50572. * contrast to the text. So a bright text color will result in a black text
  50573. * outline for maximum readability on a mixed background. In some cases,
  50574. * especially with grayscale text, the text outline doesn't work well, in
  50575. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  50576. * is true, the `textOutline` will not be picked up. In this, case, the same
  50577. * effect can be acheived through the `text-shadow` CSS property.
  50578. *
  50579. * For some series types, where each point has an extent, like for example
  50580. * tree maps, the data label may overflow the point. There are two
  50581. * strategies for handling overflow. By default, the text will wrap to
  50582. * multiple lines. The other strategy is to set `style.textOverflow` to
  50583. * `ellipsis`, which will keep the text on one line plus it will break
  50584. * inside long words.
  50585. */
  50586. style?: CSSObject;
  50587. /**
  50588. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  50589. * should follow marker's shape. Border and background are disabled for a
  50590. * label that follows a path.
  50591. *
  50592. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  50593. * to true will disable this option.
  50594. */
  50595. textPath?: DataLabelsTextPathOptionsObject;
  50596. /**
  50597. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  50598. * the labels.
  50599. */
  50600. useHTML?: boolean;
  50601. /**
  50602. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  50603. * label. Can be one of `top`, `middle` or `bottom`. The default value
  50604. * depends on the data, for instance in a column chart, the label is above
  50605. * positive values and below negative values.
  50606. */
  50607. verticalAlign?: (VerticalAlignValue|null);
  50608. /**
  50609. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  50610. * label relative to the point in pixels.
  50611. */
  50612. x?: number;
  50613. /**
  50614. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  50615. * label relative to the point in pixels.
  50616. */
  50617. y?: number;
  50618. /**
  50619. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  50620. * The default Z index puts it above the series. Use a Z index of 2 to
  50621. * display it behind the series.
  50622. */
  50623. z?: number;
  50624. }
  50625. /**
  50626. * (Highcharts, Highstock) Options for the series data sorting.
  50627. */
  50628. export interface PlotIkhDataSortingOptions {
  50629. /**
  50630. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  50631. * Use xAxis.reversed to change the sorting order.
  50632. */
  50633. enabled?: boolean;
  50634. /**
  50635. * (Highcharts, Highstock) Whether to allow matching points by name in an
  50636. * update. If this option is disabled, points will be matched by order.
  50637. */
  50638. matchByName?: boolean;
  50639. /**
  50640. * (Highcharts, Highstock) Determines what data value should be used to sort
  50641. * by.
  50642. */
  50643. sortKey?: string;
  50644. }
  50645. /**
  50646. * (Highstock) The styles for Kijun line
  50647. */
  50648. export interface PlotIkhKijunLineOptions {
  50649. styles?: PlotIkhKijunLineStylesOptions;
  50650. }
  50651. export interface PlotIkhKijunLineStylesOptions {
  50652. /**
  50653. * (Highstock) Color of the line.
  50654. */
  50655. lineColor?: ColorString;
  50656. /**
  50657. * (Highstock) Pixel width of the line.
  50658. */
  50659. lineWidth?: number;
  50660. }
  50661. /**
  50662. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option
  50663. * to be set.
  50664. *
  50665. * In TypeScript the type option must always be set.
  50666. *
  50667. * Configuration options for the series are given in three levels:
  50668. *
  50669. * 1. Options for all series in a chart are defined in the plotOptions.series
  50670. * object.
  50671. *
  50672. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  50673. *
  50674. * 3. Options for one single series are given in the series instance array. (see
  50675. * online documentation for example)
  50676. */
  50677. export interface PlotIkhOptions {
  50678. /**
  50679. * (Highstock) Accessibility options for a series.
  50680. */
  50681. accessibility?: SeriesAccessibilityOptionsObject;
  50682. /**
  50683. * (Highstock) Allow this series' points to be selected by clicking on the
  50684. * graphic (columns, point markers, pie slices, map areas etc).
  50685. *
  50686. * The selected points can be handled by point select and unselect events,
  50687. * or collectively by the getSelectedPoints function.
  50688. *
  50689. * And alternative way of selecting points is through dragging.
  50690. */
  50691. allowPointSelect?: boolean;
  50692. /**
  50693. * (Highstock) Enable or disable the initial animation when a series is
  50694. * displayed. The animation can also be set as a configuration object.
  50695. * Please note that this option only applies to the initial animation of the
  50696. * series itself. For other animations, see chart.animation and the
  50697. * animation parameter under the API methods. The following properties are
  50698. * supported:
  50699. *
  50700. * - `defer`: The animation delay time in milliseconds.
  50701. *
  50702. * - `duration`: The duration of the animation in milliseconds.
  50703. *
  50704. * - `easing`: Can be a string reference to an easing function set on the
  50705. * `Math` object or a function. See the _Custom easing function_ demo below.
  50706. *
  50707. * Due to poor performance, animation is disabled in old IE browsers for
  50708. * several chart types.
  50709. */
  50710. animation?: (boolean|PlotIkhAnimationOptions|Partial<AnimationOptionsObject>);
  50711. /**
  50712. * (Highstock) For some series, there is a limit that shuts down initial
  50713. * animation by default when the total number of points in the chart is too
  50714. * high. For example, for a column chart and its derivatives, animation does
  50715. * not run if there is more than 250 points totally. To disable this cap,
  50716. * set `animationLimit` to `Infinity`.
  50717. */
  50718. animationLimit?: number;
  50719. /**
  50720. * (Highstock) Sets the color blending in the boost module.
  50721. */
  50722. boostBlending?: OptionsBoostBlendingValue;
  50723. /**
  50724. * (Highstock) Set the point threshold for when a series should enter boost
  50725. * mode.
  50726. *
  50727. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  50728. * there are 2000 or more points in the series.
  50729. *
  50730. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  50731. * it to 1 will force boosting.
  50732. *
  50733. * Note that the cropThreshold also affects this setting. When zooming in on
  50734. * a series that has fewer points than the `cropThreshold`, all points are
  50735. * rendered although outside the visible plot area, and the `boostThreshold`
  50736. * won't take effect.
  50737. */
  50738. boostThreshold?: number;
  50739. /**
  50740. * (Highmaps) The border color of the map areas.
  50741. *
  50742. * In styled mode, the border stroke is given in the `.highcharts-point`
  50743. * class.
  50744. */
  50745. borderColor?: (ColorString|GradientColorObject|PatternObject);
  50746. /**
  50747. * (Highmaps) The border width of each map area.
  50748. *
  50749. * In styled mode, the border stroke width is given in the
  50750. * `.highcharts-point` class.
  50751. */
  50752. borderWidth?: number;
  50753. /**
  50754. * (Highstock) The styles for Chikou line
  50755. */
  50756. chikouLine?: PlotIkhChikouLineOptions;
  50757. /**
  50758. * (Highstock) An additional class name to apply to the series' graphical
  50759. * elements. This option does not replace default class names of the
  50760. * graphical element.
  50761. */
  50762. className?: string;
  50763. /**
  50764. * (Highstock) Disable this option to allow series rendering in the whole
  50765. * plotting area.
  50766. *
  50767. * **Note:** Clipping should be always enabled when chart.zoomType is set
  50768. */
  50769. clip?: boolean;
  50770. /**
  50771. * (Highstock) The main color of the series. In line type series it applies
  50772. * to the line and the point markers unless otherwise specified. In bar type
  50773. * series it applies to the bars unless a color is specified per point. The
  50774. * default value is pulled from the `options.colors` array.
  50775. *
  50776. * In styled mode, the color can be defined by the colorIndex option. Also,
  50777. * the series color can be set with the `.highcharts-series`,
  50778. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  50779. * `.highcharts-series-{n}` class, or individual classes given by the
  50780. * `className` option.
  50781. */
  50782. color?: (ColorString|GradientColorObject|PatternObject);
  50783. /**
  50784. * (Highstock) Styled mode only. A specific color index to use for the
  50785. * series, so its graphic representations are given the class name
  50786. * `highcharts-color-{n}`.
  50787. */
  50788. colorIndex?: number;
  50789. /**
  50790. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  50791. * used to calculate point color if `colorAxis` is used. Requires to set
  50792. * `min` and `max` if some custom point property is used or if approximation
  50793. * for data grouping is set to `'sum'`.
  50794. */
  50795. colorKey?: string;
  50796. /**
  50797. * (Highstock) Defines if comparison should start from the first point
  50798. * within the visible range or should start from the first point **before**
  50799. * the range.
  50800. *
  50801. * In other words, this flag determines if first point within the visible
  50802. * range will have 0% (`compareStart=true`) or should have been already
  50803. * calculated according to the previous point (`compareStart=false`).
  50804. */
  50805. compareStart?: boolean;
  50806. /**
  50807. * (Highstock) Whether to compare indicator to the main series values or
  50808. * indicator values.
  50809. */
  50810. compareToMain?: boolean;
  50811. /**
  50812. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  50813. * series plot across the extremes.
  50814. */
  50815. connectEnds?: boolean;
  50816. /**
  50817. * (Highcharts, Highstock) Whether to connect a graph line across null
  50818. * points, or render a gap between the two points on either side of the
  50819. * null.
  50820. */
  50821. connectNulls?: boolean;
  50822. /**
  50823. * (Gantt) Override Pathfinder connector options for a series. Requires
  50824. * Highcharts Gantt to be loaded.
  50825. */
  50826. connectors?: SeriesConnectorsOptionsObject;
  50827. /**
  50828. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  50829. * rounded to its nearest pixel in order to render sharp on screen. In some
  50830. * cases, when there are a lot of densely packed columns, this leads to
  50831. * visible difference in column widths or distance between columns. In these
  50832. * cases, setting `crisp` to `false` may look better, even though each
  50833. * column is rendered blurry.
  50834. */
  50835. crisp?: boolean;
  50836. /**
  50837. * (Highcharts, Highstock) When the series contains less points than the
  50838. * crop threshold, all points are drawn, even if the points fall outside the
  50839. * visible plot area at the current zoom. The advantage of drawing all
  50840. * points (including markers and columns), is that animation is performed on
  50841. * updates. On the other hand, when the series contains more points than the
  50842. * crop threshold, the series data is cropped to only contain points that
  50843. * fall within the plot area. The advantage of cropping away invisible
  50844. * points is to increase performance on large series.
  50845. */
  50846. cropThreshold?: number;
  50847. /**
  50848. * (Highstock) You can set the cursor to "pointer" if you have click events
  50849. * attached to the series, to signal to the user that the points and lines
  50850. * can be clicked.
  50851. *
  50852. * In styled mode, the series cursor can be set with the same classes as
  50853. * listed under series.color.
  50854. */
  50855. cursor?: (string|CursorValue);
  50856. /**
  50857. * (Highstock) A reserved subspace to store options and values for
  50858. * customized functionality. Here you can add additional data for your own
  50859. * event callbacks and formatter callbacks.
  50860. */
  50861. custom?: Dictionary<any>;
  50862. /**
  50863. * (Highstock) Name of the dash style to use for the graph, or for some
  50864. * series types the outline of each shape.
  50865. *
  50866. * In styled mode, the stroke dash-array can be set with the same classes as
  50867. * listed under series.color.
  50868. */
  50869. dashStyle?: DashStyleValue;
  50870. /**
  50871. * (Highstock) Data grouping is the concept of sampling the data values into
  50872. * larger blocks in order to ease readability and increase performance of
  50873. * the JavaScript charts. Highcharts Stock by default applies data grouping
  50874. * when the points become closer than a certain pixel value, determined by
  50875. * the `groupPixelWidth` option.
  50876. *
  50877. * If data grouping is applied, the grouping information of grouped points
  50878. * can be read from the Point.dataGroup. If point options other than the
  50879. * data itself are set, for example `name` or `color` or custom properties,
  50880. * the grouping logic doesn't know how to group it. In this case the options
  50881. * of the first point instance are copied over to the group point. This can
  50882. * be altered through a custom `approximation` callback function.
  50883. */
  50884. dataGrouping?: DataGroupingOptionsObject;
  50885. /**
  50886. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  50887. * labels, appearing next to each data point.
  50888. *
  50889. * Since v6.2.0, multiple data labels can be applied to each single point by
  50890. * defining them as an array of configs.
  50891. *
  50892. * In styled mode, the data labels can be styled with the
  50893. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  50894. * (see example).
  50895. */
  50896. dataLabels?: (PlotIkhDataLabelsOptions|Array<PlotIkhDataLabelsOptions>);
  50897. /**
  50898. * (Highcharts, Highstock) Options for the series data sorting.
  50899. */
  50900. dataSorting?: (DataSortingOptionsObject|PlotIkhDataSortingOptions);
  50901. /**
  50902. * (Highstock) A description of the series to add to the screen reader
  50903. * information about the series.
  50904. */
  50905. description?: string;
  50906. /**
  50907. * (Highstock) Enable or disable the mouse tracking for a specific series.
  50908. * This includes point tooltips and click events on graphs and points. For
  50909. * large datasets it improves performance.
  50910. */
  50911. enableMouseTracking?: boolean;
  50912. /**
  50913. * (Highstock) General event handlers for the series items. These event
  50914. * hooks can also be attached to the series at run time using the
  50915. * `Highcharts.addEvent` function.
  50916. */
  50917. events?: SeriesEventsOptionsObject;
  50918. /**
  50919. * (Highstock) Determines whether the series should look for the nearest
  50920. * point in both dimensions or just the x-dimension when hovering the
  50921. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  50922. * series. If the data has duplicate x-values, it is recommended to set this
  50923. * to `'xy'` to allow hovering over all points.
  50924. *
  50925. * Applies only to series types using nearest neighbor search (not direct
  50926. * hover) for tooltip.
  50927. */
  50928. findNearestPointBy?: OptionsFindNearestPointByValue;
  50929. /**
  50930. * (Highstock) Defines when to display a gap in the graph, together with the
  50931. * gapUnit option.
  50932. *
  50933. * In case when `dataGrouping` is enabled, points can be grouped into a
  50934. * larger time span. This can make the grouped points to have a greater
  50935. * distance than the absolute value of `gapSize` property, which will result
  50936. * in disappearing graph completely. To prevent this situation the mentioned
  50937. * distance between grouped points is used instead of previously defined
  50938. * `gapSize`.
  50939. *
  50940. * In practice, this option is most often used to visualize gaps in time
  50941. * series. In a stock chart, intraday data is available for daytime hours,
  50942. * while gaps will appear in nights and weekends.
  50943. */
  50944. gapSize?: number;
  50945. /**
  50946. * (Highstock) Together with gapSize, this option defines where to draw gaps
  50947. * in the graph.
  50948. *
  50949. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  50950. * if the distance between two points is greater than 5 times that of the
  50951. * two closest points, the graph will be broken.
  50952. *
  50953. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  50954. * values, which on a datetime axis is milliseconds. This also applies to
  50955. * the navigator series that inherits gap options from the base series.
  50956. */
  50957. gapUnit?: OptionsGapUnitValue;
  50958. /**
  50959. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  50960. * chart width or only the zoomed area when zooming in on parts of the X
  50961. * axis. By default, the Y axis adjusts to the min and max of the visible
  50962. * data. Cartesian series only.
  50963. */
  50964. getExtremesFromAll?: boolean;
  50965. /**
  50966. * (Highstock) When set to `false` will prevent the series data from being
  50967. * included in any form of data export.
  50968. *
  50969. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  50970. * `includeInCSVExport`.
  50971. */
  50972. includeInDataExport?: boolean;
  50973. /**
  50974. * (Highstock) The styles for Kijun line
  50975. */
  50976. kijunLine?: PlotIkhKijunLineOptions;
  50977. /**
  50978. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  50979. * series as possible in a natural way, seeking to avoid other series. The
  50980. * goal of this feature is to make the chart more easily readable, like if a
  50981. * human designer placed the labels in the optimal position.
  50982. *
  50983. * The series labels currently work with series types having a `graph` or an
  50984. * `area`.
  50985. */
  50986. label?: SeriesLabelOptionsObject;
  50987. /**
  50988. * (Highstock) The line marks the last price from all points.
  50989. */
  50990. lastPrice?: SeriesLastPriceOptionsObject;
  50991. /**
  50992. * (Highstock) The line marks the last price from visible range of points.
  50993. */
  50994. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  50995. /**
  50996. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  50997. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  50998. * the ends and bends.
  50999. */
  51000. linecap?: SeriesLinecapValue;
  51001. /**
  51002. * (Highcharts, Highstock) Pixel width of the graph line.
  51003. */
  51004. lineWidth?: number;
  51005. /**
  51006. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  51007. * based on. Required for this indicator.
  51008. */
  51009. linkedTo?: string;
  51010. /**
  51011. * (Highstock) Options for the point markers of line-like series. Properties
  51012. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  51013. * appearance of the markers. Other series types, like column series, don't
  51014. * have markers, but have visual options on the series level instead.
  51015. *
  51016. * In styled mode, the markers can be styled with the `.highcharts-point`,
  51017. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  51018. */
  51019. marker?: PointMarkerOptionsObject;
  51020. /**
  51021. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  51022. * If not set, it will be based on a technical indicator type and default
  51023. * params.
  51024. */
  51025. name?: string;
  51026. /**
  51027. * (Highstock) The color for the parts of the graph or points that are below
  51028. * the threshold. Note that `zones` takes precedence over the negative
  51029. * color. Using `negativeColor` is equivalent to applying a zone with value
  51030. * of 0.
  51031. */
  51032. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  51033. /**
  51034. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  51035. * dataLabels.
  51036. */
  51037. opacity?: number;
  51038. /**
  51039. * (Highstock) Paramters used in calculation of regression series' points.
  51040. */
  51041. params?: PlotIkhParamsOptions;
  51042. /**
  51043. * (Highstock) Properties for each single point.
  51044. */
  51045. point?: PlotSeriesPointOptions;
  51046. /**
  51047. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  51048. * individual series. Overrides the chart wide configuration.
  51049. */
  51050. pointDescriptionFormatter?: Function;
  51051. /**
  51052. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  51053. * true, the checkbox next to the series name in the legend will be checked
  51054. * for a selected series.
  51055. */
  51056. selected?: boolean;
  51057. /**
  51058. * (Highstock) The styles for area between Senkou Span A and B.
  51059. */
  51060. senkouSpan?: PlotIkhSenkouSpanOptions;
  51061. /**
  51062. * (Highstock) The styles for Senkou Span A line
  51063. */
  51064. senkouSpanA?: PlotIkhSenkouSpanAOptions;
  51065. /**
  51066. * (Highstock) The styles for Senkou Span B line
  51067. */
  51068. senkouSpanB?: PlotIkhSenkouSpanBOptions;
  51069. /**
  51070. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  51071. * the shadow can be an object configuration containing `color`, `offsetX`,
  51072. * `offsetY`, `opacity` and `width`.
  51073. */
  51074. shadow?: (boolean|ShadowOptionsObject);
  51075. /**
  51076. * (Highstock) If true, a checkbox is displayed next to the legend item to
  51077. * allow selecting the series. The state of the checkbox is determined by
  51078. * the `selected` option.
  51079. */
  51080. showCheckbox?: boolean;
  51081. /**
  51082. * (Highstock) Whether to display this particular series or series type in
  51083. * the legend. Standalone series are shown in legend by default, and linked
  51084. * series are not. Since v7.2.0 it is possible to show series that use
  51085. * colorAxis by setting this option to `true`.
  51086. */
  51087. showInLegend?: boolean;
  51088. /**
  51089. * (Highstock) If set to `true`, the accessibility module will skip past the
  51090. * points in this series for keyboard navigation.
  51091. */
  51092. skipKeyboardNavigation?: boolean;
  51093. /**
  51094. * (Highcharts, Highstock) When this is true, the series will not cause the
  51095. * Y axis to cross the zero plane (or threshold option) unless the data
  51096. * actually crosses the plane.
  51097. *
  51098. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  51099. * make the Y axis show negative values according to the `minPadding`
  51100. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  51101. */
  51102. softThreshold?: boolean;
  51103. states?: SeriesStatesOptionsObject;
  51104. /**
  51105. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  51106. * values are `left`, `center` and `right`.
  51107. */
  51108. step?: OptionsStepValue;
  51109. /**
  51110. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  51111. * event on a series isn't triggered until the mouse moves over another
  51112. * series, or out of the plot area. When false, the `mouseOut` event on a
  51113. * series is triggered when the mouse leaves the area around the series'
  51114. * graph or markers. This also implies the tooltip when not shared. When
  51115. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  51116. * be hidden when moving the mouse between series. Defaults to true for line
  51117. * and area type series, but to false for columns, pies etc.
  51118. *
  51119. * **Note:** The boost module will force this option because of technical
  51120. * limitations.
  51121. */
  51122. stickyTracking?: boolean;
  51123. /**
  51124. * (Highstock) The styles for Tenkan line
  51125. */
  51126. tenkanLine?: PlotIkhTenkanLineOptions;
  51127. /**
  51128. * (Highcharts, Highstock) The threshold, also called zero level or base
  51129. * level. For line type series this is only used in conjunction with
  51130. * negativeColor.
  51131. */
  51132. threshold?: (number|null);
  51133. /**
  51134. * (Highstock) A configuration object for the tooltip rendering of each
  51135. * single series. Properties are inherited from tooltip, but only the
  51136. * following properties can be defined on a series level.
  51137. */
  51138. tooltip?: SeriesTooltipOptionsObject;
  51139. /**
  51140. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  51141. * is longer than this, only one dimensional arrays of numbers, or two
  51142. * dimensional arrays with x and y values are allowed. Also, only the first
  51143. * point is tested, and the rest are assumed to be the same format. This
  51144. * saves expensive data checking and indexing in long series. Set it to `0`
  51145. * disable.
  51146. *
  51147. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  51148. * two dimensional arrays are allowed.
  51149. */
  51150. turboThreshold?: number;
  51151. /**
  51152. * (Highstock) Set the initial visibility of the series.
  51153. */
  51154. visible?: boolean;
  51155. /**
  51156. * (Highmaps) Define the z index of the series.
  51157. */
  51158. zIndex?: number;
  51159. /**
  51160. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  51161. */
  51162. zoneAxis?: string;
  51163. /**
  51164. * (Highcharts, Highstock) An array defining zones within a series. Zones
  51165. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  51166. * the `zoneAxis` option. The zone definitions have to be in ascending order
  51167. * regarding to the value.
  51168. *
  51169. * In styled mode, the color zones are styled with the
  51170. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  51171. * option (view live demo).
  51172. */
  51173. zones?: Array<SeriesZonesOptionsObject>;
  51174. }
  51175. /**
  51176. * (Highstock) Paramters used in calculation of regression series' points.
  51177. */
  51178. export interface PlotIkhParamsOptions {
  51179. index?: string;
  51180. /**
  51181. * (Highstock) The base period for indicator calculations. This is the
  51182. * number of data points which are taken into account for the indicator
  51183. * calculations.
  51184. */
  51185. period?: number;
  51186. /**
  51187. * (Highstock) The base period for Senkou Span B calculations
  51188. */
  51189. periodSenkouSpanB?: number;
  51190. /**
  51191. * (Highstock) The base period for Tenkan calculations.
  51192. */
  51193. periodTenkan?: number;
  51194. }
  51195. /**
  51196. * (Highstock) The styles for Senkou Span A line
  51197. */
  51198. export interface PlotIkhSenkouSpanAOptions {
  51199. styles?: PlotIkhSenkouSpanAStylesOptions;
  51200. }
  51201. export interface PlotIkhSenkouSpanAStylesOptions {
  51202. /**
  51203. * (Highstock) Color of the line.
  51204. */
  51205. lineColor?: ColorString;
  51206. /**
  51207. * (Highstock) Pixel width of the line.
  51208. */
  51209. lineWidth?: number;
  51210. }
  51211. /**
  51212. * (Highstock) The styles for Senkou Span B line
  51213. */
  51214. export interface PlotIkhSenkouSpanBOptions {
  51215. styles?: PlotIkhSenkouSpanBStylesOptions;
  51216. }
  51217. export interface PlotIkhSenkouSpanBStylesOptions {
  51218. /**
  51219. * (Highstock) Color of the line.
  51220. */
  51221. lineColor?: ColorString;
  51222. /**
  51223. * (Highstock) Pixel width of the line.
  51224. */
  51225. lineWidth?: number;
  51226. }
  51227. /**
  51228. * (Highstock) The styles for area between Senkou Span A and B.
  51229. */
  51230. export interface PlotIkhSenkouSpanOptions {
  51231. /**
  51232. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  51233. * Span A is above Senkou Span B. Note that if a `style.fill` is defined,
  51234. * the `color` takes precedence and the `style.fill` is ignored.
  51235. */
  51236. color?: (ColorString|GradientColorObject|PatternObject);
  51237. /**
  51238. * (Highstock) Color of the area between Senkou Span A and B, when Senkou
  51239. * Span A is under Senkou Span B.
  51240. */
  51241. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  51242. }
  51243. /**
  51244. * (Highstock) The styles for Tenkan line
  51245. */
  51246. export interface PlotIkhTenkanLineOptions {
  51247. styles?: PlotIkhTenkanLineStylesOptions;
  51248. }
  51249. export interface PlotIkhTenkanLineStylesOptions {
  51250. /**
  51251. * (Highstock) Color of the line.
  51252. */
  51253. lineColor?: ColorString;
  51254. /**
  51255. * (Highstock) Pixel width of the line.
  51256. */
  51257. lineWidth?: number;
  51258. }
  51259. /**
  51260. * (Highcharts) Enable or disable the initial animation when a series is
  51261. * displayed. The animation can also be set as a configuration object. Please
  51262. * note that this option only applies to the initial animation of the series
  51263. * itself. For other animations, see chart.animation and the animation parameter
  51264. * under the API methods. The following properties are supported:
  51265. *
  51266. * - `defer`: The animation delay time in milliseconds.
  51267. *
  51268. * - `duration`: The duration of the animation in milliseconds.
  51269. *
  51270. * - `easing`: Can be a string reference to an easing function set on the `Math`
  51271. * object or a function. See the _Custom easing function_ demo below.
  51272. *
  51273. * Due to poor performance, animation is disabled in old IE browsers for several
  51274. * chart types.
  51275. */
  51276. export interface PlotItemAnimationOptions {
  51277. defer?: number;
  51278. }
  51279. /**
  51280. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51281. * animation when a series is displayed for the `dataLabels`. The animation can
  51282. * also be set as a configuration object. Please note that this option only
  51283. * applies to the initial animation. For other animations, see chart.animation
  51284. * and the animation parameter under the API methods. The following properties
  51285. * are supported:
  51286. *
  51287. * - `defer`: The animation delay time in milliseconds.
  51288. */
  51289. export interface PlotItemDataLabelsAnimationOptions {
  51290. /**
  51291. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  51292. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  51293. * inherits defer time from the series.animation.defer.
  51294. */
  51295. defer?: number;
  51296. }
  51297. /**
  51298. * (Highcharts) An item chart is an infographic chart where a number of items
  51299. * are laid out in either a rectangular or circular pattern. It can be used to
  51300. * visualize counts within a group, or for the circular pattern, typically a
  51301. * parliament.
  51302. *
  51303. * The circular layout has much in common with a pie chart. Many of the item
  51304. * series options, like `center`, `size` and data label positioning, are
  51305. * inherited from the pie series and don't apply for rectangular layouts.
  51306. *
  51307. * In TypeScript the type option must always be set.
  51308. *
  51309. * Configuration options for the series are given in three levels:
  51310. *
  51311. * 1. Options for all series in a chart are defined in the plotOptions.series
  51312. * object.
  51313. *
  51314. * 2. Options for all `item` series are defined in plotOptions.item.
  51315. *
  51316. * 3. Options for one single series are given in the series instance array. (see
  51317. * online documentation for example)
  51318. */
  51319. export interface PlotItemOptions {
  51320. /**
  51321. * (Highcharts) Accessibility options for a series.
  51322. */
  51323. accessibility?: SeriesAccessibilityOptionsObject;
  51324. /**
  51325. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  51326. * rendered. If `true`, areas which don't correspond to a data point, are
  51327. * rendered as `null` points. If `false`, those areas are skipped.
  51328. */
  51329. allAreas?: boolean;
  51330. /**
  51331. * (Highcharts) Allow this series' points to be selected by clicking on the
  51332. * graphic (columns, point markers, pie slices, map areas etc).
  51333. *
  51334. * The selected points can be handled by point select and unselect events,
  51335. * or collectively by the getSelectedPoints function.
  51336. *
  51337. * And alternative way of selecting points is through dragging.
  51338. */
  51339. allowPointSelect?: boolean;
  51340. /**
  51341. * (Highcharts) Enable or disable the initial animation when a series is
  51342. * displayed. The animation can also be set as a configuration object.
  51343. * Please note that this option only applies to the initial animation of the
  51344. * series itself. For other animations, see chart.animation and the
  51345. * animation parameter under the API methods. The following properties are
  51346. * supported:
  51347. *
  51348. * - `defer`: The animation delay time in milliseconds.
  51349. *
  51350. * - `duration`: The duration of the animation in milliseconds.
  51351. *
  51352. * - `easing`: Can be a string reference to an easing function set on the
  51353. * `Math` object or a function. See the _Custom easing function_ demo below.
  51354. *
  51355. * Due to poor performance, animation is disabled in old IE browsers for
  51356. * several chart types.
  51357. */
  51358. animation?: (boolean|PlotItemAnimationOptions|Partial<AnimationOptionsObject>);
  51359. /**
  51360. * (Highcharts) The center of the pie chart relative to the plot area. Can
  51361. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  51362. * center the pie so that all slices and data labels are within the plot
  51363. * area. As a consequence, the pie may actually jump around in a chart with
  51364. * dynamic values, as the data labels move. In that case, the center should
  51365. * be explicitly set, for example to `["50%", "50%"]`.
  51366. */
  51367. center?: [(number|string|null), (number|string|null)];
  51368. /**
  51369. * (Highcharts) An additional class name to apply to the series' graphical
  51370. * elements. This option does not replace default class names of the
  51371. * graphical element.
  51372. */
  51373. className?: string;
  51374. /**
  51375. * (Highcharts) Disable this option to allow series rendering in the whole
  51376. * plotting area.
  51377. *
  51378. * **Note:** Clipping should be always enabled when chart.zoomType is set
  51379. */
  51380. clip?: boolean;
  51381. /**
  51382. * (Highcharts) The color of the pie series. A pie series is represented as
  51383. * an empty circle if the total sum of its values is 0. Use this property to
  51384. * define the color of its border.
  51385. *
  51386. * In styled mode, the color can be defined by the colorIndex option. Also,
  51387. * the series color can be set with the `.highcharts-series`,
  51388. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  51389. * `.highcharts-series-{n}` class, or individual classes given by the
  51390. * `className` option.
  51391. */
  51392. color?: (ColorString|GradientColorObject|PatternObject);
  51393. /**
  51394. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  51395. * this number defines which colorAxis the particular series is connected
  51396. * to. It refers to either the axis id or the index of the axis in the
  51397. * colorAxis array, with 0 being the first. Set this option to false to
  51398. * prevent a series from connecting to the default color axis.
  51399. *
  51400. * Since v7.2.0 the option can also be an axis id or an axis index instead
  51401. * of a boolean flag.
  51402. */
  51403. colorAxis?: (boolean|number|string);
  51404. /**
  51405. * (Highcharts) Styled mode only. A specific color index to use for the
  51406. * series, so its graphic representations are given the class name
  51407. * `highcharts-color-{n}`.
  51408. */
  51409. colorIndex?: number;
  51410. /**
  51411. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  51412. * used to calculate point color if `colorAxis` is used. Requires to set
  51413. * `min` and `max` if some custom point property is used or if approximation
  51414. * for data grouping is set to `'sum'`.
  51415. */
  51416. colorKey?: string;
  51417. /**
  51418. * (Highcharts) A series specific or series type specific color set to use
  51419. * instead of the global colors.
  51420. */
  51421. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  51422. /**
  51423. * (Highstock) Compare the values of the series against the first non-null,
  51424. * non- zero value in the visible range. The y axis will show percentage or
  51425. * absolute change depending on whether `compare` is set to `"percent"` or
  51426. * `"value"`. When this is applied to multiple series, it allows comparing
  51427. * the development of the series against each other. Adds a `change` field
  51428. * to every point object.
  51429. */
  51430. compare?: string;
  51431. /**
  51432. * (Highstock) When compare is `percent`, this option dictates whether to
  51433. * use 0 or 100 as the base of comparison.
  51434. */
  51435. compareBase?: (0|100);
  51436. /**
  51437. * (Highstock) Defines if comparison should start from the first point
  51438. * within the visible range or should start from the first point **before**
  51439. * the range.
  51440. *
  51441. * In other words, this flag determines if first point within the visible
  51442. * range will have 0% (`compareStart=true`) or should have been already
  51443. * calculated according to the previous point (`compareStart=false`).
  51444. */
  51445. compareStart?: boolean;
  51446. /**
  51447. * (Gantt) Override Pathfinder connector options for a series. Requires
  51448. * Highcharts Gantt to be loaded.
  51449. */
  51450. connectors?: SeriesConnectorsOptionsObject;
  51451. /**
  51452. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  51453. * rounded to its nearest pixel in order to render sharp on screen. In some
  51454. * cases, when there are a lot of densely packed columns, this leads to
  51455. * visible difference in column widths or distance between columns. In these
  51456. * cases, setting `crisp` to `false` may look better, even though each
  51457. * column is rendered blurry.
  51458. */
  51459. crisp?: boolean;
  51460. /**
  51461. * (Highcharts) You can set the cursor to "pointer" if you have click events
  51462. * attached to the series, to signal to the user that the points and lines
  51463. * can be clicked.
  51464. *
  51465. * In styled mode, the series cursor can be set with the same classes as
  51466. * listed under series.color.
  51467. */
  51468. cursor?: (string|CursorValue);
  51469. /**
  51470. * (Highcharts) A reserved subspace to store options and values for
  51471. * customized functionality. Here you can add additional data for your own
  51472. * event callbacks and formatter callbacks.
  51473. */
  51474. custom?: Dictionary<any>;
  51475. /**
  51476. * (Highstock) Data grouping is the concept of sampling the data values into
  51477. * larger blocks in order to ease readability and increase performance of
  51478. * the JavaScript charts. Highcharts Stock by default applies data grouping
  51479. * when the points become closer than a certain pixel value, determined by
  51480. * the `groupPixelWidth` option.
  51481. *
  51482. * If data grouping is applied, the grouping information of grouped points
  51483. * can be read from the Point.dataGroup. If point options other than the
  51484. * data itself are set, for example `name` or `color` or custom properties,
  51485. * the grouping logic doesn't know how to group it. In this case the options
  51486. * of the first point instance are copied over to the group point. This can
  51487. * be altered through a custom `approximation` callback function.
  51488. */
  51489. dataGrouping?: DataGroupingOptionsObject;
  51490. /**
  51491. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  51492. * labels, appearing next to each data point.
  51493. *
  51494. * Since v6.2.0, multiple data labels can be applied to each single point by
  51495. * defining them as an array of configs.
  51496. *
  51497. * In styled mode, the data labels can be styled with the
  51498. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  51499. * (see example).
  51500. */
  51501. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  51502. /**
  51503. * (Highcharts) A description of the series to add to the screen reader
  51504. * information about the series.
  51505. */
  51506. description?: string;
  51507. /**
  51508. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  51509. * This includes point tooltips and click events on graphs and points. For
  51510. * large datasets it improves performance.
  51511. */
  51512. enableMouseTracking?: boolean;
  51513. /**
  51514. * (Highcharts) In circular view, the end angle of the item layout, in
  51515. * degrees where 0 is up.
  51516. */
  51517. endAngle?: (number|undefined);
  51518. /**
  51519. * (Highcharts) General event handlers for the series items. These event
  51520. * hooks can also be attached to the series at run time using the
  51521. * `Highcharts.addEvent` function.
  51522. */
  51523. events?: SeriesEventsOptionsObject;
  51524. /**
  51525. * (Highcharts) If the total sum of the pie's values is 0, the series is
  51526. * represented as an empty circle . The `fillColor` option defines the color
  51527. * of that circle. Use pie.borderWidth to set the border thickness.
  51528. */
  51529. fillColor?: (ColorString|GradientColorObject|PatternObject);
  51530. /**
  51531. * (Highstock) Defines when to display a gap in the graph, together with the
  51532. * gapUnit option.
  51533. *
  51534. * In case when `dataGrouping` is enabled, points can be grouped into a
  51535. * larger time span. This can make the grouped points to have a greater
  51536. * distance than the absolute value of `gapSize` property, which will result
  51537. * in disappearing graph completely. To prevent this situation the mentioned
  51538. * distance between grouped points is used instead of previously defined
  51539. * `gapSize`.
  51540. *
  51541. * In practice, this option is most often used to visualize gaps in time
  51542. * series. In a stock chart, intraday data is available for daytime hours,
  51543. * while gaps will appear in nights and weekends.
  51544. */
  51545. gapSize?: number;
  51546. /**
  51547. * (Highstock) Together with gapSize, this option defines where to draw gaps
  51548. * in the graph.
  51549. *
  51550. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  51551. * if the distance between two points is greater than 5 times that of the
  51552. * two closest points, the graph will be broken.
  51553. *
  51554. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  51555. * values, which on a datetime axis is milliseconds. This also applies to
  51556. * the navigator series that inherits gap options from the base series.
  51557. */
  51558. gapUnit?: OptionsGapUnitValue;
  51559. /**
  51560. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  51561. * whether the series shall be redrawn as if the hidden point were `null`.
  51562. *
  51563. * The default value changed from `false` to `true` with Highcharts 3.0.
  51564. */
  51565. ignoreHiddenPoint?: boolean;
  51566. /**
  51567. * (Highcharts) When set to `false` will prevent the series data from being
  51568. * included in any form of data export.
  51569. *
  51570. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  51571. * `includeInCSVExport`.
  51572. */
  51573. includeInDataExport?: boolean;
  51574. /**
  51575. * (Highcharts) In circular view, the size of the inner diameter of the
  51576. * circle. Can be a percentage or pixel value. Percentages are relative to
  51577. * the outer perimeter. Pixel values are given as integers.
  51578. *
  51579. * If the `rows` option is set, it overrides the `innerSize` setting.
  51580. */
  51581. innerSize?: (number|string);
  51582. /**
  51583. * (Highcharts) The padding between the items, given in relative size where
  51584. * the size of the item is 1.
  51585. */
  51586. itemPadding?: number;
  51587. /**
  51588. * (Highmaps) What property to join the `mapData` to the value data. For
  51589. * example, if joinBy is "code", the mapData items with a specific code is
  51590. * merged into the data with the same code. For maps loaded from GeoJSON,
  51591. * the keys may be held in each point's `properties` object.
  51592. *
  51593. * The joinBy option can also be an array of two values, where the first
  51594. * points to a key in the `mapData`, and the second points to another key in
  51595. * the `data`.
  51596. *
  51597. * When joinBy is `null`, the map items are joined by their position in the
  51598. * array, which performs much better in maps with many data points. This is
  51599. * the recommended option if you are printing more than a thousand data
  51600. * points and have a backend that can preprocess the data into a parallel
  51601. * array of the mapData.
  51602. */
  51603. joinBy?: (string|Array<string>);
  51604. /**
  51605. * (Highcharts) An array specifying which option maps to which key in the
  51606. * data point array. This makes it convenient to work with unstructured data
  51607. * arrays from different sources.
  51608. */
  51609. keys?: Array<string>;
  51610. /**
  51611. * (Highstock) The line marks the last price from all points.
  51612. */
  51613. lastPrice?: SeriesLastPriceOptionsObject;
  51614. /**
  51615. * (Highstock) The line marks the last price from visible range of points.
  51616. */
  51617. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  51618. /**
  51619. * (Highcharts) The layout of the items in rectangular view. Can be either
  51620. * `horizontal` or `vertical`.
  51621. */
  51622. layout?: string;
  51623. /**
  51624. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  51625. * Additionally, the value can be ":previous" to link to the previous
  51626. * series. When two series are linked, only the first one appears in the
  51627. * legend. Toggling the visibility of this also toggles the linked series.
  51628. *
  51629. * If master series uses data sorting and linked series does not have its
  51630. * own sorting definition, the linked series will be sorted in the same
  51631. * order as the master one.
  51632. */
  51633. linkedTo?: string;
  51634. /**
  51635. * (Highcharts) Options for the point markers of line-like series.
  51636. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  51637. * visual appearance of the markers. Other series types, like column series,
  51638. * don't have markers, but have visual options on the series level instead.
  51639. *
  51640. * In styled mode, the markers can be styled with the `.highcharts-point`,
  51641. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  51642. */
  51643. marker?: PointMarkerOptionsObject;
  51644. /**
  51645. * (Highcharts) The minimum size for a pie in response to auto margins. The
  51646. * pie will try to shrink to make room for data labels in side the plot
  51647. * area, but only to this size.
  51648. */
  51649. minSize?: (number|string);
  51650. /**
  51651. * (Highstock) Options for the corresponding navigator series if
  51652. * `showInNavigator` is `true` for this series. Available options are the
  51653. * same as any series, documented at plotOptions and series.
  51654. *
  51655. * These options are merged with options in navigator.series, and will take
  51656. * precedence if the same option is defined both places.
  51657. */
  51658. navigatorOptions?: PlotSeriesOptions;
  51659. /**
  51660. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  51661. * dataLabels.
  51662. */
  51663. opacity?: number;
  51664. /**
  51665. * (Highcharts) Properties for each single point.
  51666. */
  51667. point?: PlotSeriesPointOptions;
  51668. /**
  51669. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  51670. * an individual series. Overrides the chart wide configuration.
  51671. */
  51672. pointDescriptionFormatter?: Function;
  51673. /**
  51674. * (Highstock) The width of each point on the x axis. For example in a
  51675. * column chart with one value each day, the pointRange would be 1 day (= 24
  51676. * * 3600
  51677. *
  51678. * * 1000 milliseconds). This is normally computed automatically, but this
  51679. * option can be used to override the automatic value.
  51680. */
  51681. pointRange?: number;
  51682. /**
  51683. * (Highcharts) The number of rows to display in the rectangular or circular
  51684. * view. If the `innerSize` is set, it will be overridden by the `rows`
  51685. * setting.
  51686. */
  51687. rows?: number;
  51688. /**
  51689. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  51690. * true, the checkbox next to the series name in the legend will be checked
  51691. * for a selected series.
  51692. */
  51693. selected?: boolean;
  51694. /**
  51695. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  51696. * allow selecting the series. The state of the checkbox is determined by
  51697. * the `selected` option.
  51698. */
  51699. showCheckbox?: boolean;
  51700. /**
  51701. * (Highcharts) Whether to display this particular series or series type in
  51702. * the legend. Since 2.1, pies are not shown in the legend by default.
  51703. */
  51704. showInLegend?: boolean;
  51705. /**
  51706. * (Highstock) Whether or not to show the series in the navigator. Takes
  51707. * precedence over navigator.baseSeries if defined.
  51708. */
  51709. showInNavigator?: boolean;
  51710. /**
  51711. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  51712. * percentage or pixel value. Pixel values are given as integers. The
  51713. * default behaviour (as of 3.0) is to scale to the plot area and give room
  51714. * for data labels within the plot area. slicedOffset is also included in
  51715. * the default size calculation. As a consequence, the size of the pie may
  51716. * vary when points are updated and data labels more around. In that case it
  51717. * is best to set a fixed value, for example `"75%"`.
  51718. */
  51719. size?: (number|string|null);
  51720. /**
  51721. * (Highcharts) If set to `true`, the accessibility module will skip past
  51722. * the points in this series for keyboard navigation.
  51723. */
  51724. skipKeyboardNavigation?: boolean;
  51725. /**
  51726. * (Highcharts) In circular view, the start angle of the item layout, in
  51727. * degrees where 0 is up.
  51728. */
  51729. startAngle?: (number|undefined);
  51730. states?: SeriesStatesOptionsObject;
  51731. /**
  51732. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  51733. * event on a series isn't triggered until the mouse moves over another
  51734. * series, or out of the plot area. When false, the `mouseOut` event on a
  51735. * series is triggered when the mouse leaves the area around the series'
  51736. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  51737. * false and `tooltip.shared` is false, the tooltip will be hidden when
  51738. * moving the mouse between series.
  51739. */
  51740. stickyTracking?: boolean;
  51741. /**
  51742. * (Highcharts) A configuration object for the tooltip rendering of each
  51743. * single series. Properties are inherited from tooltip, but only the
  51744. * following properties can be defined on a series level.
  51745. */
  51746. tooltip?: SeriesTooltipOptionsObject;
  51747. /**
  51748. * (Highstock) The parameter allows setting line series type and use OHLC
  51749. * indicators. Data in OHLC format is required.
  51750. */
  51751. useOhlcData?: boolean;
  51752. /**
  51753. * (Highcharts) Set the initial visibility of the series.
  51754. */
  51755. visible?: boolean;
  51756. /**
  51757. * (Highmaps) Define the z index of the series.
  51758. */
  51759. zIndex?: number;
  51760. }
  51761. /**
  51762. * (Highstock) Enable or disable the initial animation when a series is
  51763. * displayed. The animation can also be set as a configuration object. Please
  51764. * note that this option only applies to the initial animation of the series
  51765. * itself. For other animations, see chart.animation and the animation parameter
  51766. * under the API methods. The following properties are supported:
  51767. *
  51768. * - `defer`: The animation delay time in milliseconds.
  51769. *
  51770. * - `duration`: The duration of the animation in milliseconds.
  51771. *
  51772. * - `easing`: Can be a string reference to an easing function set on the `Math`
  51773. * object or a function. See the _Custom easing function_ demo below.
  51774. *
  51775. * Due to poor performance, animation is disabled in old IE browsers for several
  51776. * chart types.
  51777. */
  51778. export interface PlotKeltnerchannelsAnimationOptions {
  51779. defer?: number;
  51780. }
  51781. /**
  51782. * (Highstock) Bottom line options.
  51783. */
  51784. export interface PlotKeltnerchannelsBottomLineOptions {
  51785. /**
  51786. * (Highstock) Styles for a bottom line.
  51787. */
  51788. styles?: PlotKeltnerchannelsBottomLineStylesOptions;
  51789. }
  51790. /**
  51791. * (Highstock) Styles for a bottom line.
  51792. */
  51793. export interface PlotKeltnerchannelsBottomLineStylesOptions {
  51794. /**
  51795. * (Highstock) Color of the line. If not set, it's inherited from
  51796. * `plotOptions.keltnerchannels.color`
  51797. */
  51798. lineColor?: string;
  51799. /**
  51800. * (Highstock) Pixel width of the line.
  51801. */
  51802. lineWidth?: number;
  51803. }
  51804. /**
  51805. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51806. * animation when a series is displayed for the `dataLabels`. The animation can
  51807. * also be set as a configuration object. Please note that this option only
  51808. * applies to the initial animation. For other animations, see chart.animation
  51809. * and the animation parameter under the API methods. The following properties
  51810. * are supported:
  51811. *
  51812. * - `defer`: The animation delay time in milliseconds.
  51813. */
  51814. export interface PlotKeltnerchannelsDataLabelsAnimationOptions {
  51815. /**
  51816. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  51817. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  51818. * inherits defer time from the series.animation.defer.
  51819. */
  51820. defer?: number;
  51821. }
  51822. /**
  51823. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  51824. * appearing next to each data point.
  51825. *
  51826. * Since v6.2.0, multiple data labels can be applied to each single point by
  51827. * defining them as an array of configs.
  51828. *
  51829. * In styled mode, the data labels can be styled with the
  51830. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  51831. * example).
  51832. */
  51833. export interface PlotKeltnerchannelsDataLabelsOptions {
  51834. /**
  51835. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  51836. * compared to the point. If `right`, the right side of the label should be
  51837. * touching the point. For points with an extent, like columns, the
  51838. * alignments also dictates how to align it inside the box, as given with
  51839. * the inside option. Can be one of `left`, `center` or `right`.
  51840. */
  51841. align?: (AlignValue|null);
  51842. /**
  51843. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  51844. * overlap. To make the labels less sensitive for overlapping, the
  51845. * dataLabels.padding can be set to 0.
  51846. */
  51847. allowOverlap?: boolean;
  51848. /**
  51849. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  51850. * animation when a series is displayed for the `dataLabels`. The animation
  51851. * can also be set as a configuration object. Please note that this option
  51852. * only applies to the initial animation. For other animations, see
  51853. * chart.animation and the animation parameter under the API methods. The
  51854. * following properties are supported:
  51855. *
  51856. * - `defer`: The animation delay time in milliseconds.
  51857. */
  51858. animation?: (boolean|PlotKeltnerchannelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  51859. /**
  51860. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  51861. * for the data label.
  51862. */
  51863. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  51864. /**
  51865. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  51866. * label. Defaults to `undefined`.
  51867. */
  51868. borderColor?: (ColorString|GradientColorObject|PatternObject);
  51869. /**
  51870. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  51871. * the data label.
  51872. */
  51873. borderRadius?: number;
  51874. /**
  51875. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  51876. * the data label.
  51877. */
  51878. borderWidth?: number;
  51879. /**
  51880. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  51881. * Particularly in styled mode, this can be used to give each series' or
  51882. * point's data label unique styling. In addition to this option, a default
  51883. * color class name is added so that we can give the labels a contrast text
  51884. * shadow.
  51885. */
  51886. className?: string;
  51887. /**
  51888. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  51889. * labels. Defaults to `undefined`. For certain series types, like column or
  51890. * map, the data labels can be drawn inside the points. In this case the
  51891. * data label will be drawn with maximum contrast by default. Additionally,
  51892. * it will be given a `text-outline` style with the opposite color, to
  51893. * further increase the contrast. This can be overridden by setting the
  51894. * `text-outline` style to `none` in the `dataLabels.style` option.
  51895. */
  51896. color?: (ColorString|GradientColorObject|PatternObject);
  51897. /**
  51898. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  51899. * are outside the plot area. By default, the data label is moved inside the
  51900. * plot area according to the overflow option.
  51901. */
  51902. crop?: boolean;
  51903. /**
  51904. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  51905. * labels until the initial series animation has finished. Setting to
  51906. * `false` renders the data label immediately. If set to `true` inherits the
  51907. * defer time set in plotOptions.series.animation. If set to a number, a
  51908. * defer time is specified in milliseconds.
  51909. */
  51910. defer?: (boolean|number);
  51911. /**
  51912. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  51913. * labels.
  51914. */
  51915. enabled?: boolean;
  51916. /**
  51917. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  51918. * of which data labels to display. The declarative filter is designed for
  51919. * use when callback functions are not available, like when the chart
  51920. * options require a pure JSON structure or for use with graphical editors.
  51921. * For programmatic control, use the `formatter` instead, and return
  51922. * `undefined` to disable a single data label.
  51923. */
  51924. filter?: DataLabelsFilterOptionsObject;
  51925. /**
  51926. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  51927. * label. Available variables are the same as for `formatter`.
  51928. */
  51929. format?: string;
  51930. /**
  51931. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  51932. * format the data label. Note that if a `format` is defined, the format
  51933. * takes precedence and the formatter is ignored.
  51934. */
  51935. formatter?: DataLabelsFormatterCallbackFunction;
  51936. /**
  51937. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  51938. * columns or map areas, whether to align the data label inside the box or
  51939. * to the actual value point. Defaults to `false` in most cases, `true` in
  51940. * stacked columns.
  51941. */
  51942. inside?: boolean;
  51943. /**
  51944. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  51945. * of null. Works analogously to format. `nullFormat` can be applied only to
  51946. * series which support displaying null points.
  51947. */
  51948. nullFormat?: (boolean|string);
  51949. /**
  51950. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  51951. * that defines formatting for points with the value of null. Works
  51952. * analogously to formatter. `nullPointFormatter` can be applied only to
  51953. * series which support displaying null points.
  51954. */
  51955. nullFormatter?: DataLabelsFormatterCallbackFunction;
  51956. /**
  51957. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  51958. * flow outside the plot area. The default is `"justify"`, which aligns them
  51959. * inside the plot area. For columns and bars, this means it will be moved
  51960. * inside the bar. To display data labels outside the plot area, set `crop`
  51961. * to `false` and `overflow` to `"allow"`.
  51962. */
  51963. overflow?: DataLabelsOverflowValue;
  51964. /**
  51965. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  51966. * the `backgroundColor` is set, this is the padding within the box.
  51967. */
  51968. padding?: number;
  51969. /**
  51970. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  51971. * points. If `center` alignment is not possible, it defaults to `right`.
  51972. */
  51973. position?: AlignValue;
  51974. /**
  51975. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  51976. * that due to a more complex structure, backgrounds, borders and padding
  51977. * will be lost on a rotated data label.
  51978. */
  51979. rotation?: number;
  51980. /**
  51981. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  51982. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  51983. * an object configuration containing `color`, `offsetX`, `offsetY`,
  51984. * `opacity` and `width`.
  51985. */
  51986. shadow?: (boolean|ShadowOptionsObject);
  51987. /**
  51988. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  51989. * the border around the label. Symbols are predefined functions on the
  51990. * Renderer object.
  51991. */
  51992. shape?: string;
  51993. /**
  51994. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  51995. * default `color` setting is `"contrast"`, which is a pseudo color that
  51996. * Highcharts picks up and applies the maximum contrast to the underlying
  51997. * point item, for example the bar in a bar chart.
  51998. *
  51999. * The `textOutline` is a pseudo property that applies an outline of the
  52000. * given width with the given color, which by default is the maximum
  52001. * contrast to the text. So a bright text color will result in a black text
  52002. * outline for maximum readability on a mixed background. In some cases,
  52003. * especially with grayscale text, the text outline doesn't work well, in
  52004. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  52005. * is true, the `textOutline` will not be picked up. In this, case, the same
  52006. * effect can be acheived through the `text-shadow` CSS property.
  52007. *
  52008. * For some series types, where each point has an extent, like for example
  52009. * tree maps, the data label may overflow the point. There are two
  52010. * strategies for handling overflow. By default, the text will wrap to
  52011. * multiple lines. The other strategy is to set `style.textOverflow` to
  52012. * `ellipsis`, which will keep the text on one line plus it will break
  52013. * inside long words.
  52014. */
  52015. style?: CSSObject;
  52016. /**
  52017. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  52018. * should follow marker's shape. Border and background are disabled for a
  52019. * label that follows a path.
  52020. *
  52021. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  52022. * to true will disable this option.
  52023. */
  52024. textPath?: DataLabelsTextPathOptionsObject;
  52025. /**
  52026. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  52027. * the labels.
  52028. */
  52029. useHTML?: boolean;
  52030. /**
  52031. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  52032. * label. Can be one of `top`, `middle` or `bottom`. The default value
  52033. * depends on the data, for instance in a column chart, the label is above
  52034. * positive values and below negative values.
  52035. */
  52036. verticalAlign?: (VerticalAlignValue|null);
  52037. /**
  52038. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  52039. * label relative to the point in pixels.
  52040. */
  52041. x?: number;
  52042. /**
  52043. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  52044. * label relative to the point in pixels.
  52045. */
  52046. y?: number;
  52047. /**
  52048. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  52049. * The default Z index puts it above the series. Use a Z index of 2 to
  52050. * display it behind the series.
  52051. */
  52052. z?: number;
  52053. }
  52054. /**
  52055. * (Highcharts, Highstock) Options for the series data sorting.
  52056. */
  52057. export interface PlotKeltnerchannelsDataSortingOptions {
  52058. /**
  52059. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  52060. * Use xAxis.reversed to change the sorting order.
  52061. */
  52062. enabled?: boolean;
  52063. /**
  52064. * (Highcharts, Highstock) Whether to allow matching points by name in an
  52065. * update. If this option is disabled, points will be matched by order.
  52066. */
  52067. matchByName?: boolean;
  52068. /**
  52069. * (Highcharts, Highstock) Determines what data value should be used to sort
  52070. * by.
  52071. */
  52072. sortKey?: string;
  52073. }
  52074. /**
  52075. * (Highstock) Keltner Channels. This series requires the `linkedTo` option to
  52076. * be set and should be loaded after the `stock/indicators/indicators.js`,
  52077. * `stock/indicators/atr.js`, and `stock/ema/.js`.
  52078. *
  52079. * In TypeScript the type option must always be set.
  52080. *
  52081. * Configuration options for the series are given in three levels:
  52082. *
  52083. * 1. Options for all series in a chart are defined in the plotOptions.series
  52084. * object.
  52085. *
  52086. * 2. Options for all `keltnerchannels` series are defined in
  52087. * plotOptions.keltnerchannels.
  52088. *
  52089. * 3. Options for one single series are given in the series instance array. (see
  52090. * online documentation for example)
  52091. */
  52092. export interface PlotKeltnerchannelsOptions {
  52093. /**
  52094. * (Highstock) Accessibility options for a series.
  52095. */
  52096. accessibility?: SeriesAccessibilityOptionsObject;
  52097. /**
  52098. * (Highstock) Allow this series' points to be selected by clicking on the
  52099. * graphic (columns, point markers, pie slices, map areas etc).
  52100. *
  52101. * The selected points can be handled by point select and unselect events,
  52102. * or collectively by the getSelectedPoints function.
  52103. *
  52104. * And alternative way of selecting points is through dragging.
  52105. */
  52106. allowPointSelect?: boolean;
  52107. /**
  52108. * (Highstock) Enable or disable the initial animation when a series is
  52109. * displayed. The animation can also be set as a configuration object.
  52110. * Please note that this option only applies to the initial animation of the
  52111. * series itself. For other animations, see chart.animation and the
  52112. * animation parameter under the API methods. The following properties are
  52113. * supported:
  52114. *
  52115. * - `defer`: The animation delay time in milliseconds.
  52116. *
  52117. * - `duration`: The duration of the animation in milliseconds.
  52118. *
  52119. * - `easing`: Can be a string reference to an easing function set on the
  52120. * `Math` object or a function. See the _Custom easing function_ demo below.
  52121. *
  52122. * Due to poor performance, animation is disabled in old IE browsers for
  52123. * several chart types.
  52124. */
  52125. animation?: (boolean|PlotKeltnerchannelsAnimationOptions|Partial<AnimationOptionsObject>);
  52126. /**
  52127. * (Highstock) For some series, there is a limit that shuts down initial
  52128. * animation by default when the total number of points in the chart is too
  52129. * high. For example, for a column chart and its derivatives, animation does
  52130. * not run if there is more than 250 points totally. To disable this cap,
  52131. * set `animationLimit` to `Infinity`.
  52132. */
  52133. animationLimit?: number;
  52134. /**
  52135. * (Highstock) Sets the color blending in the boost module.
  52136. */
  52137. boostBlending?: OptionsBoostBlendingValue;
  52138. /**
  52139. * (Highstock) Set the point threshold for when a series should enter boost
  52140. * mode.
  52141. *
  52142. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  52143. * there are 2000 or more points in the series.
  52144. *
  52145. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  52146. * it to 1 will force boosting.
  52147. *
  52148. * Note that the cropThreshold also affects this setting. When zooming in on
  52149. * a series that has fewer points than the `cropThreshold`, all points are
  52150. * rendered although outside the visible plot area, and the `boostThreshold`
  52151. * won't take effect.
  52152. */
  52153. boostThreshold?: number;
  52154. /**
  52155. * (Highmaps) The border color of the map areas.
  52156. *
  52157. * In styled mode, the border stroke is given in the `.highcharts-point`
  52158. * class.
  52159. */
  52160. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52161. /**
  52162. * (Highmaps) The border width of each map area.
  52163. *
  52164. * In styled mode, the border stroke width is given in the
  52165. * `.highcharts-point` class.
  52166. */
  52167. borderWidth?: number;
  52168. /**
  52169. * (Highstock) Bottom line options.
  52170. */
  52171. bottomLine?: PlotKeltnerchannelsBottomLineOptions;
  52172. /**
  52173. * (Highstock) An additional class name to apply to the series' graphical
  52174. * elements. This option does not replace default class names of the
  52175. * graphical element.
  52176. */
  52177. className?: string;
  52178. /**
  52179. * (Highstock) Disable this option to allow series rendering in the whole
  52180. * plotting area.
  52181. *
  52182. * **Note:** Clipping should be always enabled when chart.zoomType is set
  52183. */
  52184. clip?: boolean;
  52185. /**
  52186. * (Highstock) The main color of the series. In line type series it applies
  52187. * to the line and the point markers unless otherwise specified. In bar type
  52188. * series it applies to the bars unless a color is specified per point. The
  52189. * default value is pulled from the `options.colors` array.
  52190. *
  52191. * In styled mode, the color can be defined by the colorIndex option. Also,
  52192. * the series color can be set with the `.highcharts-series`,
  52193. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  52194. * `.highcharts-series-{n}` class, or individual classes given by the
  52195. * `className` option.
  52196. */
  52197. color?: (ColorString|GradientColorObject|PatternObject);
  52198. /**
  52199. * (Highstock) Styled mode only. A specific color index to use for the
  52200. * series, so its graphic representations are given the class name
  52201. * `highcharts-color-{n}`.
  52202. */
  52203. colorIndex?: number;
  52204. /**
  52205. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  52206. * used to calculate point color if `colorAxis` is used. Requires to set
  52207. * `min` and `max` if some custom point property is used or if approximation
  52208. * for data grouping is set to `'sum'`.
  52209. */
  52210. colorKey?: string;
  52211. /**
  52212. * (Highstock) Defines if comparison should start from the first point
  52213. * within the visible range or should start from the first point **before**
  52214. * the range.
  52215. *
  52216. * In other words, this flag determines if first point within the visible
  52217. * range will have 0% (`compareStart=true`) or should have been already
  52218. * calculated according to the previous point (`compareStart=false`).
  52219. */
  52220. compareStart?: boolean;
  52221. /**
  52222. * (Highstock) Whether to compare indicator to the main series values or
  52223. * indicator values.
  52224. */
  52225. compareToMain?: boolean;
  52226. /**
  52227. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  52228. * series plot across the extremes.
  52229. */
  52230. connectEnds?: boolean;
  52231. /**
  52232. * (Highcharts, Highstock) Whether to connect a graph line across null
  52233. * points, or render a gap between the two points on either side of the
  52234. * null.
  52235. */
  52236. connectNulls?: boolean;
  52237. /**
  52238. * (Gantt) Override Pathfinder connector options for a series. Requires
  52239. * Highcharts Gantt to be loaded.
  52240. */
  52241. connectors?: SeriesConnectorsOptionsObject;
  52242. /**
  52243. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  52244. * rounded to its nearest pixel in order to render sharp on screen. In some
  52245. * cases, when there are a lot of densely packed columns, this leads to
  52246. * visible difference in column widths or distance between columns. In these
  52247. * cases, setting `crisp` to `false` may look better, even though each
  52248. * column is rendered blurry.
  52249. */
  52250. crisp?: boolean;
  52251. /**
  52252. * (Highcharts, Highstock) When the series contains less points than the
  52253. * crop threshold, all points are drawn, even if the points fall outside the
  52254. * visible plot area at the current zoom. The advantage of drawing all
  52255. * points (including markers and columns), is that animation is performed on
  52256. * updates. On the other hand, when the series contains more points than the
  52257. * crop threshold, the series data is cropped to only contain points that
  52258. * fall within the plot area. The advantage of cropping away invisible
  52259. * points is to increase performance on large series.
  52260. */
  52261. cropThreshold?: number;
  52262. /**
  52263. * (Highstock) You can set the cursor to "pointer" if you have click events
  52264. * attached to the series, to signal to the user that the points and lines
  52265. * can be clicked.
  52266. *
  52267. * In styled mode, the series cursor can be set with the same classes as
  52268. * listed under series.color.
  52269. */
  52270. cursor?: (string|CursorValue);
  52271. /**
  52272. * (Highstock) A reserved subspace to store options and values for
  52273. * customized functionality. Here you can add additional data for your own
  52274. * event callbacks and formatter callbacks.
  52275. */
  52276. custom?: Dictionary<any>;
  52277. /**
  52278. * (Highstock) Name of the dash style to use for the graph, or for some
  52279. * series types the outline of each shape.
  52280. *
  52281. * In styled mode, the stroke dash-array can be set with the same classes as
  52282. * listed under series.color.
  52283. */
  52284. dashStyle?: DashStyleValue;
  52285. /**
  52286. * (Highstock) Data grouping is the concept of sampling the data values into
  52287. * larger blocks in order to ease readability and increase performance of
  52288. * the JavaScript charts. Highcharts Stock by default applies data grouping
  52289. * when the points become closer than a certain pixel value, determined by
  52290. * the `groupPixelWidth` option.
  52291. *
  52292. * If data grouping is applied, the grouping information of grouped points
  52293. * can be read from the Point.dataGroup. If point options other than the
  52294. * data itself are set, for example `name` or `color` or custom properties,
  52295. * the grouping logic doesn't know how to group it. In this case the options
  52296. * of the first point instance are copied over to the group point. This can
  52297. * be altered through a custom `approximation` callback function.
  52298. */
  52299. dataGrouping?: DataGroupingOptionsObject;
  52300. /**
  52301. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  52302. * labels, appearing next to each data point.
  52303. *
  52304. * Since v6.2.0, multiple data labels can be applied to each single point by
  52305. * defining them as an array of configs.
  52306. *
  52307. * In styled mode, the data labels can be styled with the
  52308. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  52309. * (see example).
  52310. */
  52311. dataLabels?: (PlotKeltnerchannelsDataLabelsOptions|Array<PlotKeltnerchannelsDataLabelsOptions>);
  52312. /**
  52313. * (Highcharts, Highstock) Options for the series data sorting.
  52314. */
  52315. dataSorting?: (DataSortingOptionsObject|PlotKeltnerchannelsDataSortingOptions);
  52316. /**
  52317. * (Highstock) A description of the series to add to the screen reader
  52318. * information about the series.
  52319. */
  52320. description?: string;
  52321. /**
  52322. * (Highstock) Enable or disable the mouse tracking for a specific series.
  52323. * This includes point tooltips and click events on graphs and points. For
  52324. * large datasets it improves performance.
  52325. */
  52326. enableMouseTracking?: boolean;
  52327. /**
  52328. * (Highstock) General event handlers for the series items. These event
  52329. * hooks can also be attached to the series at run time using the
  52330. * `Highcharts.addEvent` function.
  52331. */
  52332. events?: SeriesEventsOptionsObject;
  52333. /**
  52334. * (Highstock) Determines whether the series should look for the nearest
  52335. * point in both dimensions or just the x-dimension when hovering the
  52336. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  52337. * series. If the data has duplicate x-values, it is recommended to set this
  52338. * to `'xy'` to allow hovering over all points.
  52339. *
  52340. * Applies only to series types using nearest neighbor search (not direct
  52341. * hover) for tooltip.
  52342. */
  52343. findNearestPointBy?: OptionsFindNearestPointByValue;
  52344. /**
  52345. * (Highstock) Defines when to display a gap in the graph, together with the
  52346. * gapUnit option.
  52347. *
  52348. * In case when `dataGrouping` is enabled, points can be grouped into a
  52349. * larger time span. This can make the grouped points to have a greater
  52350. * distance than the absolute value of `gapSize` property, which will result
  52351. * in disappearing graph completely. To prevent this situation the mentioned
  52352. * distance between grouped points is used instead of previously defined
  52353. * `gapSize`.
  52354. *
  52355. * In practice, this option is most often used to visualize gaps in time
  52356. * series. In a stock chart, intraday data is available for daytime hours,
  52357. * while gaps will appear in nights and weekends.
  52358. */
  52359. gapSize?: number;
  52360. /**
  52361. * (Highstock) Together with gapSize, this option defines where to draw gaps
  52362. * in the graph.
  52363. *
  52364. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  52365. * if the distance between two points is greater than 5 times that of the
  52366. * two closest points, the graph will be broken.
  52367. *
  52368. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  52369. * values, which on a datetime axis is milliseconds. This also applies to
  52370. * the navigator series that inherits gap options from the base series.
  52371. */
  52372. gapUnit?: OptionsGapUnitValue;
  52373. /**
  52374. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  52375. * chart width or only the zoomed area when zooming in on parts of the X
  52376. * axis. By default, the Y axis adjusts to the min and max of the visible
  52377. * data. Cartesian series only.
  52378. */
  52379. getExtremesFromAll?: boolean;
  52380. /**
  52381. * (Highstock) When set to `false` will prevent the series data from being
  52382. * included in any form of data export.
  52383. *
  52384. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  52385. * `includeInCSVExport`.
  52386. */
  52387. includeInDataExport?: boolean;
  52388. /**
  52389. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  52390. * series as possible in a natural way, seeking to avoid other series. The
  52391. * goal of this feature is to make the chart more easily readable, like if a
  52392. * human designer placed the labels in the optimal position.
  52393. *
  52394. * The series labels currently work with series types having a `graph` or an
  52395. * `area`.
  52396. */
  52397. label?: SeriesLabelOptionsObject;
  52398. /**
  52399. * (Highstock) The line marks the last price from all points.
  52400. */
  52401. lastPrice?: SeriesLastPriceOptionsObject;
  52402. /**
  52403. * (Highstock) The line marks the last price from visible range of points.
  52404. */
  52405. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  52406. /**
  52407. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  52408. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  52409. * the ends and bends.
  52410. */
  52411. linecap?: SeriesLinecapValue;
  52412. /**
  52413. * (Highcharts, Highstock) Pixel width of the graph line.
  52414. */
  52415. lineWidth?: number;
  52416. /**
  52417. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  52418. * based on. Required for this indicator.
  52419. */
  52420. linkedTo?: string;
  52421. /**
  52422. * (Highstock) Options for the point markers of line-like series. Properties
  52423. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  52424. * appearance of the markers. Other series types, like column series, don't
  52425. * have markers, but have visual options on the series level instead.
  52426. *
  52427. * In styled mode, the markers can be styled with the `.highcharts-point`,
  52428. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  52429. */
  52430. marker?: PointMarkerOptionsObject;
  52431. /**
  52432. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  52433. * If not set, it will be based on a technical indicator type and default
  52434. * params.
  52435. */
  52436. name?: string;
  52437. /**
  52438. * (Highstock) The color for the parts of the graph or points that are below
  52439. * the threshold. Note that `zones` takes precedence over the negative
  52440. * color. Using `negativeColor` is equivalent to applying a zone with value
  52441. * of 0.
  52442. */
  52443. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  52444. /**
  52445. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  52446. * dataLabels.
  52447. */
  52448. opacity?: number;
  52449. /**
  52450. * (Highstock) Paramters used in calculation of regression series' points.
  52451. */
  52452. params?: PlotKeltnerchannelsParamsOptions;
  52453. /**
  52454. * (Highstock) Properties for each single point.
  52455. */
  52456. point?: PlotSeriesPointOptions;
  52457. /**
  52458. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  52459. * individual series. Overrides the chart wide configuration.
  52460. */
  52461. pointDescriptionFormatter?: Function;
  52462. /**
  52463. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  52464. * true, the checkbox next to the series name in the legend will be checked
  52465. * for a selected series.
  52466. */
  52467. selected?: boolean;
  52468. /**
  52469. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  52470. * the shadow can be an object configuration containing `color`, `offsetX`,
  52471. * `offsetY`, `opacity` and `width`.
  52472. */
  52473. shadow?: (boolean|ShadowOptionsObject);
  52474. /**
  52475. * (Highstock) If true, a checkbox is displayed next to the legend item to
  52476. * allow selecting the series. The state of the checkbox is determined by
  52477. * the `selected` option.
  52478. */
  52479. showCheckbox?: boolean;
  52480. /**
  52481. * (Highstock) Whether to display this particular series or series type in
  52482. * the legend. Standalone series are shown in legend by default, and linked
  52483. * series are not. Since v7.2.0 it is possible to show series that use
  52484. * colorAxis by setting this option to `true`.
  52485. */
  52486. showInLegend?: boolean;
  52487. /**
  52488. * (Highstock) If set to `true`, the accessibility module will skip past the
  52489. * points in this series for keyboard navigation.
  52490. */
  52491. skipKeyboardNavigation?: boolean;
  52492. /**
  52493. * (Highcharts, Highstock) When this is true, the series will not cause the
  52494. * Y axis to cross the zero plane (or threshold option) unless the data
  52495. * actually crosses the plane.
  52496. *
  52497. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  52498. * make the Y axis show negative values according to the `minPadding`
  52499. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  52500. */
  52501. softThreshold?: boolean;
  52502. states?: SeriesStatesOptionsObject;
  52503. /**
  52504. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  52505. * values are `left`, `center` and `right`.
  52506. */
  52507. step?: OptionsStepValue;
  52508. /**
  52509. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  52510. * event on a series isn't triggered until the mouse moves over another
  52511. * series, or out of the plot area. When false, the `mouseOut` event on a
  52512. * series is triggered when the mouse leaves the area around the series'
  52513. * graph or markers. This also implies the tooltip when not shared. When
  52514. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  52515. * be hidden when moving the mouse between series. Defaults to true for line
  52516. * and area type series, but to false for columns, pies etc.
  52517. *
  52518. * **Note:** The boost module will force this option because of technical
  52519. * limitations.
  52520. */
  52521. stickyTracking?: boolean;
  52522. /**
  52523. * (Highcharts, Highstock) The threshold, also called zero level or base
  52524. * level. For line type series this is only used in conjunction with
  52525. * negativeColor.
  52526. */
  52527. threshold?: (number|null);
  52528. /**
  52529. * (Highstock) A configuration object for the tooltip rendering of each
  52530. * single series. Properties are inherited from tooltip, but only the
  52531. * following properties can be defined on a series level.
  52532. */
  52533. tooltip?: SeriesTooltipOptionsObject;
  52534. /**
  52535. * (Highstock) Top line options.
  52536. */
  52537. topLine?: PlotKeltnerchannelsTopLineOptions;
  52538. /**
  52539. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  52540. * is longer than this, only one dimensional arrays of numbers, or two
  52541. * dimensional arrays with x and y values are allowed. Also, only the first
  52542. * point is tested, and the rest are assumed to be the same format. This
  52543. * saves expensive data checking and indexing in long series. Set it to `0`
  52544. * disable.
  52545. *
  52546. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  52547. * two dimensional arrays are allowed.
  52548. */
  52549. turboThreshold?: number;
  52550. /**
  52551. * (Highstock) Set the initial visibility of the series.
  52552. */
  52553. visible?: boolean;
  52554. /**
  52555. * (Highmaps) Define the z index of the series.
  52556. */
  52557. zIndex?: number;
  52558. /**
  52559. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  52560. */
  52561. zoneAxis?: string;
  52562. /**
  52563. * (Highcharts, Highstock) An array defining zones within a series. Zones
  52564. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  52565. * the `zoneAxis` option. The zone definitions have to be in ascending order
  52566. * regarding to the value.
  52567. *
  52568. * In styled mode, the color zones are styled with the
  52569. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  52570. * option (view live demo).
  52571. */
  52572. zones?: Array<SeriesZonesOptionsObject>;
  52573. }
  52574. /**
  52575. * (Highstock) Paramters used in calculation of regression series' points.
  52576. */
  52577. export interface PlotKeltnerchannelsParamsOptions {
  52578. /**
  52579. * (Highstock) The point index which indicator calculations will base. For
  52580. * example using OHLC data, index=2 means the indicator will be calculated
  52581. * using Low values.
  52582. */
  52583. index?: number;
  52584. /**
  52585. * (Highstock) The ATR multiplier.
  52586. */
  52587. multiplierATR?: number;
  52588. /**
  52589. * (Highstock) The base period for indicator calculations. This is the
  52590. * number of data points which are taken into account for the indicator
  52591. * calculations.
  52592. */
  52593. period?: number;
  52594. /**
  52595. * (Highstock) The ATR period.
  52596. */
  52597. periodATR?: number;
  52598. }
  52599. /**
  52600. * (Highstock) Top line options.
  52601. */
  52602. export interface PlotKeltnerchannelsTopLineOptions {
  52603. /**
  52604. * (Highstock) Styles for a bottom line.
  52605. */
  52606. styles?: PlotKeltnerchannelsTopLineStylesOptions;
  52607. }
  52608. /**
  52609. * (Highstock) Styles for a bottom line.
  52610. */
  52611. export interface PlotKeltnerchannelsTopLineStylesOptions {
  52612. /**
  52613. * (Highstock) Color of the line. If not set, it's inherited from
  52614. * `plotOptions.keltnerchannels.color`
  52615. */
  52616. lineColor?: string;
  52617. /**
  52618. * (Highstock) Pixel width of the line.
  52619. */
  52620. lineWidth?: number;
  52621. }
  52622. /**
  52623. * (Highstock) Enable or disable the initial animation when a series is
  52624. * displayed. The animation can also be set as a configuration object. Please
  52625. * note that this option only applies to the initial animation of the series
  52626. * itself. For other animations, see chart.animation and the animation parameter
  52627. * under the API methods. The following properties are supported:
  52628. *
  52629. * - `defer`: The animation delay time in milliseconds.
  52630. *
  52631. * - `duration`: The duration of the animation in milliseconds.
  52632. *
  52633. * - `easing`: Can be a string reference to an easing function set on the `Math`
  52634. * object or a function. See the _Custom easing function_ demo below.
  52635. *
  52636. * Due to poor performance, animation is disabled in old IE browsers for several
  52637. * chart types.
  52638. */
  52639. export interface PlotKlingerAnimationOptions {
  52640. defer?: number;
  52641. }
  52642. /**
  52643. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52644. * animation when a series is displayed for the `dataLabels`. The animation can
  52645. * also be set as a configuration object. Please note that this option only
  52646. * applies to the initial animation. For other animations, see chart.animation
  52647. * and the animation parameter under the API methods. The following properties
  52648. * are supported:
  52649. *
  52650. * - `defer`: The animation delay time in milliseconds.
  52651. */
  52652. export interface PlotKlingerDataLabelsAnimationOptions {
  52653. /**
  52654. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  52655. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  52656. * inherits defer time from the series.animation.defer.
  52657. */
  52658. defer?: number;
  52659. }
  52660. /**
  52661. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  52662. * appearing next to each data point.
  52663. *
  52664. * Since v6.2.0, multiple data labels can be applied to each single point by
  52665. * defining them as an array of configs.
  52666. *
  52667. * In styled mode, the data labels can be styled with the
  52668. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  52669. * example).
  52670. */
  52671. export interface PlotKlingerDataLabelsOptions {
  52672. /**
  52673. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  52674. * compared to the point. If `right`, the right side of the label should be
  52675. * touching the point. For points with an extent, like columns, the
  52676. * alignments also dictates how to align it inside the box, as given with
  52677. * the inside option. Can be one of `left`, `center` or `right`.
  52678. */
  52679. align?: (AlignValue|null);
  52680. /**
  52681. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  52682. * overlap. To make the labels less sensitive for overlapping, the
  52683. * dataLabels.padding can be set to 0.
  52684. */
  52685. allowOverlap?: boolean;
  52686. /**
  52687. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  52688. * animation when a series is displayed for the `dataLabels`. The animation
  52689. * can also be set as a configuration object. Please note that this option
  52690. * only applies to the initial animation. For other animations, see
  52691. * chart.animation and the animation parameter under the API methods. The
  52692. * following properties are supported:
  52693. *
  52694. * - `defer`: The animation delay time in milliseconds.
  52695. */
  52696. animation?: (boolean|PlotKlingerDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  52697. /**
  52698. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  52699. * for the data label.
  52700. */
  52701. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  52702. /**
  52703. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  52704. * label. Defaults to `undefined`.
  52705. */
  52706. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52707. /**
  52708. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  52709. * the data label.
  52710. */
  52711. borderRadius?: number;
  52712. /**
  52713. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  52714. * the data label.
  52715. */
  52716. borderWidth?: number;
  52717. /**
  52718. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  52719. * Particularly in styled mode, this can be used to give each series' or
  52720. * point's data label unique styling. In addition to this option, a default
  52721. * color class name is added so that we can give the labels a contrast text
  52722. * shadow.
  52723. */
  52724. className?: string;
  52725. /**
  52726. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  52727. * labels. Defaults to `undefined`. For certain series types, like column or
  52728. * map, the data labels can be drawn inside the points. In this case the
  52729. * data label will be drawn with maximum contrast by default. Additionally,
  52730. * it will be given a `text-outline` style with the opposite color, to
  52731. * further increase the contrast. This can be overridden by setting the
  52732. * `text-outline` style to `none` in the `dataLabels.style` option.
  52733. */
  52734. color?: (ColorString|GradientColorObject|PatternObject);
  52735. /**
  52736. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  52737. * are outside the plot area. By default, the data label is moved inside the
  52738. * plot area according to the overflow option.
  52739. */
  52740. crop?: boolean;
  52741. /**
  52742. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  52743. * labels until the initial series animation has finished. Setting to
  52744. * `false` renders the data label immediately. If set to `true` inherits the
  52745. * defer time set in plotOptions.series.animation. If set to a number, a
  52746. * defer time is specified in milliseconds.
  52747. */
  52748. defer?: (boolean|number);
  52749. /**
  52750. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  52751. * labels.
  52752. */
  52753. enabled?: boolean;
  52754. /**
  52755. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  52756. * of which data labels to display. The declarative filter is designed for
  52757. * use when callback functions are not available, like when the chart
  52758. * options require a pure JSON structure or for use with graphical editors.
  52759. * For programmatic control, use the `formatter` instead, and return
  52760. * `undefined` to disable a single data label.
  52761. */
  52762. filter?: DataLabelsFilterOptionsObject;
  52763. /**
  52764. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  52765. * label. Available variables are the same as for `formatter`.
  52766. */
  52767. format?: string;
  52768. /**
  52769. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  52770. * format the data label. Note that if a `format` is defined, the format
  52771. * takes precedence and the formatter is ignored.
  52772. */
  52773. formatter?: DataLabelsFormatterCallbackFunction;
  52774. /**
  52775. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  52776. * columns or map areas, whether to align the data label inside the box or
  52777. * to the actual value point. Defaults to `false` in most cases, `true` in
  52778. * stacked columns.
  52779. */
  52780. inside?: boolean;
  52781. /**
  52782. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  52783. * of null. Works analogously to format. `nullFormat` can be applied only to
  52784. * series which support displaying null points.
  52785. */
  52786. nullFormat?: (boolean|string);
  52787. /**
  52788. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  52789. * that defines formatting for points with the value of null. Works
  52790. * analogously to formatter. `nullPointFormatter` can be applied only to
  52791. * series which support displaying null points.
  52792. */
  52793. nullFormatter?: DataLabelsFormatterCallbackFunction;
  52794. /**
  52795. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  52796. * flow outside the plot area. The default is `"justify"`, which aligns them
  52797. * inside the plot area. For columns and bars, this means it will be moved
  52798. * inside the bar. To display data labels outside the plot area, set `crop`
  52799. * to `false` and `overflow` to `"allow"`.
  52800. */
  52801. overflow?: DataLabelsOverflowValue;
  52802. /**
  52803. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  52804. * the `backgroundColor` is set, this is the padding within the box.
  52805. */
  52806. padding?: number;
  52807. /**
  52808. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  52809. * points. If `center` alignment is not possible, it defaults to `right`.
  52810. */
  52811. position?: AlignValue;
  52812. /**
  52813. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  52814. * that due to a more complex structure, backgrounds, borders and padding
  52815. * will be lost on a rotated data label.
  52816. */
  52817. rotation?: number;
  52818. /**
  52819. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  52820. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  52821. * an object configuration containing `color`, `offsetX`, `offsetY`,
  52822. * `opacity` and `width`.
  52823. */
  52824. shadow?: (boolean|ShadowOptionsObject);
  52825. /**
  52826. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  52827. * the border around the label. Symbols are predefined functions on the
  52828. * Renderer object.
  52829. */
  52830. shape?: string;
  52831. /**
  52832. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  52833. * default `color` setting is `"contrast"`, which is a pseudo color that
  52834. * Highcharts picks up and applies the maximum contrast to the underlying
  52835. * point item, for example the bar in a bar chart.
  52836. *
  52837. * The `textOutline` is a pseudo property that applies an outline of the
  52838. * given width with the given color, which by default is the maximum
  52839. * contrast to the text. So a bright text color will result in a black text
  52840. * outline for maximum readability on a mixed background. In some cases,
  52841. * especially with grayscale text, the text outline doesn't work well, in
  52842. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  52843. * is true, the `textOutline` will not be picked up. In this, case, the same
  52844. * effect can be acheived through the `text-shadow` CSS property.
  52845. *
  52846. * For some series types, where each point has an extent, like for example
  52847. * tree maps, the data label may overflow the point. There are two
  52848. * strategies for handling overflow. By default, the text will wrap to
  52849. * multiple lines. The other strategy is to set `style.textOverflow` to
  52850. * `ellipsis`, which will keep the text on one line plus it will break
  52851. * inside long words.
  52852. */
  52853. style?: CSSObject;
  52854. /**
  52855. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  52856. * should follow marker's shape. Border and background are disabled for a
  52857. * label that follows a path.
  52858. *
  52859. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  52860. * to true will disable this option.
  52861. */
  52862. textPath?: DataLabelsTextPathOptionsObject;
  52863. /**
  52864. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  52865. * the labels.
  52866. */
  52867. useHTML?: boolean;
  52868. /**
  52869. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  52870. * label. Can be one of `top`, `middle` or `bottom`. The default value
  52871. * depends on the data, for instance in a column chart, the label is above
  52872. * positive values and below negative values.
  52873. */
  52874. verticalAlign?: (VerticalAlignValue|null);
  52875. /**
  52876. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  52877. * label relative to the point in pixels.
  52878. */
  52879. x?: number;
  52880. /**
  52881. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  52882. * label relative to the point in pixels.
  52883. */
  52884. y?: number;
  52885. /**
  52886. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  52887. * The default Z index puts it above the series. Use a Z index of 2 to
  52888. * display it behind the series.
  52889. */
  52890. z?: number;
  52891. }
  52892. /**
  52893. * (Highcharts, Highstock) Options for the series data sorting.
  52894. */
  52895. export interface PlotKlingerDataSortingOptions {
  52896. /**
  52897. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  52898. * Use xAxis.reversed to change the sorting order.
  52899. */
  52900. enabled?: boolean;
  52901. /**
  52902. * (Highcharts, Highstock) Whether to allow matching points by name in an
  52903. * update. If this option is disabled, points will be matched by order.
  52904. */
  52905. matchByName?: boolean;
  52906. /**
  52907. * (Highcharts, Highstock) Determines what data value should be used to sort
  52908. * by.
  52909. */
  52910. sortKey?: string;
  52911. }
  52912. /**
  52913. * (Highstock) Klinger oscillator. This series requires the `linkedTo` option to
  52914. * be set and should be loaded after the `stock/indicators/indicators.js` file.
  52915. *
  52916. * In TypeScript the type option must always be set.
  52917. *
  52918. * Configuration options for the series are given in three levels:
  52919. *
  52920. * 1. Options for all series in a chart are defined in the plotOptions.series
  52921. * object.
  52922. *
  52923. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  52924. *
  52925. * 3. Options for one single series are given in the series instance array. (see
  52926. * online documentation for example)
  52927. */
  52928. export interface PlotKlingerOptions {
  52929. /**
  52930. * (Highstock) Accessibility options for a series.
  52931. */
  52932. accessibility?: SeriesAccessibilityOptionsObject;
  52933. /**
  52934. * (Highstock) Allow this series' points to be selected by clicking on the
  52935. * graphic (columns, point markers, pie slices, map areas etc).
  52936. *
  52937. * The selected points can be handled by point select and unselect events,
  52938. * or collectively by the getSelectedPoints function.
  52939. *
  52940. * And alternative way of selecting points is through dragging.
  52941. */
  52942. allowPointSelect?: boolean;
  52943. /**
  52944. * (Highstock) Enable or disable the initial animation when a series is
  52945. * displayed. The animation can also be set as a configuration object.
  52946. * Please note that this option only applies to the initial animation of the
  52947. * series itself. For other animations, see chart.animation and the
  52948. * animation parameter under the API methods. The following properties are
  52949. * supported:
  52950. *
  52951. * - `defer`: The animation delay time in milliseconds.
  52952. *
  52953. * - `duration`: The duration of the animation in milliseconds.
  52954. *
  52955. * - `easing`: Can be a string reference to an easing function set on the
  52956. * `Math` object or a function. See the _Custom easing function_ demo below.
  52957. *
  52958. * Due to poor performance, animation is disabled in old IE browsers for
  52959. * several chart types.
  52960. */
  52961. animation?: (boolean|PlotKlingerAnimationOptions|Partial<AnimationOptionsObject>);
  52962. /**
  52963. * (Highstock) For some series, there is a limit that shuts down initial
  52964. * animation by default when the total number of points in the chart is too
  52965. * high. For example, for a column chart and its derivatives, animation does
  52966. * not run if there is more than 250 points totally. To disable this cap,
  52967. * set `animationLimit` to `Infinity`.
  52968. */
  52969. animationLimit?: number;
  52970. /**
  52971. * (Highstock) Sets the color blending in the boost module.
  52972. */
  52973. boostBlending?: OptionsBoostBlendingValue;
  52974. /**
  52975. * (Highstock) Set the point threshold for when a series should enter boost
  52976. * mode.
  52977. *
  52978. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  52979. * there are 2000 or more points in the series.
  52980. *
  52981. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  52982. * it to 1 will force boosting.
  52983. *
  52984. * Note that the cropThreshold also affects this setting. When zooming in on
  52985. * a series that has fewer points than the `cropThreshold`, all points are
  52986. * rendered although outside the visible plot area, and the `boostThreshold`
  52987. * won't take effect.
  52988. */
  52989. boostThreshold?: number;
  52990. /**
  52991. * (Highmaps) The border color of the map areas.
  52992. *
  52993. * In styled mode, the border stroke is given in the `.highcharts-point`
  52994. * class.
  52995. */
  52996. borderColor?: (ColorString|GradientColorObject|PatternObject);
  52997. /**
  52998. * (Highmaps) The border width of each map area.
  52999. *
  53000. * In styled mode, the border stroke width is given in the
  53001. * `.highcharts-point` class.
  53002. */
  53003. borderWidth?: number;
  53004. /**
  53005. * (Highstock) An additional class name to apply to the series' graphical
  53006. * elements. This option does not replace default class names of the
  53007. * graphical element.
  53008. */
  53009. className?: string;
  53010. /**
  53011. * (Highstock) Disable this option to allow series rendering in the whole
  53012. * plotting area.
  53013. *
  53014. * **Note:** Clipping should be always enabled when chart.zoomType is set
  53015. */
  53016. clip?: boolean;
  53017. /**
  53018. * (Highstock) The main color of the series. In line type series it applies
  53019. * to the line and the point markers unless otherwise specified. In bar type
  53020. * series it applies to the bars unless a color is specified per point. The
  53021. * default value is pulled from the `options.colors` array.
  53022. *
  53023. * In styled mode, the color can be defined by the colorIndex option. Also,
  53024. * the series color can be set with the `.highcharts-series`,
  53025. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  53026. * `.highcharts-series-{n}` class, or individual classes given by the
  53027. * `className` option.
  53028. */
  53029. color?: (ColorString|GradientColorObject|PatternObject);
  53030. /**
  53031. * (Highstock) Styled mode only. A specific color index to use for the
  53032. * series, so its graphic representations are given the class name
  53033. * `highcharts-color-{n}`.
  53034. */
  53035. colorIndex?: number;
  53036. /**
  53037. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  53038. * used to calculate point color if `colorAxis` is used. Requires to set
  53039. * `min` and `max` if some custom point property is used or if approximation
  53040. * for data grouping is set to `'sum'`.
  53041. */
  53042. colorKey?: string;
  53043. /**
  53044. * (Highstock) Compare the values of the series against the first non-null,
  53045. * non- zero value in the visible range. The y axis will show percentage or
  53046. * absolute change depending on whether `compare` is set to `"percent"` or
  53047. * `"value"`. When this is applied to multiple series, it allows comparing
  53048. * the development of the series against each other. Adds a `change` field
  53049. * to every point object.
  53050. */
  53051. compare?: string;
  53052. /**
  53053. * (Highstock) When compare is `percent`, this option dictates whether to
  53054. * use 0 or 100 as the base of comparison.
  53055. */
  53056. compareBase?: (0|100);
  53057. /**
  53058. * (Highstock) Defines if comparison should start from the first point
  53059. * within the visible range or should start from the first point **before**
  53060. * the range.
  53061. *
  53062. * In other words, this flag determines if first point within the visible
  53063. * range will have 0% (`compareStart=true`) or should have been already
  53064. * calculated according to the previous point (`compareStart=false`).
  53065. */
  53066. compareStart?: boolean;
  53067. /**
  53068. * (Highstock) Whether to compare indicator to the main series values or
  53069. * indicator values.
  53070. */
  53071. compareToMain?: boolean;
  53072. /**
  53073. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  53074. * series plot across the extremes.
  53075. */
  53076. connectEnds?: boolean;
  53077. /**
  53078. * (Highcharts, Highstock) Whether to connect a graph line across null
  53079. * points, or render a gap between the two points on either side of the
  53080. * null.
  53081. */
  53082. connectNulls?: boolean;
  53083. /**
  53084. * (Gantt) Override Pathfinder connector options for a series. Requires
  53085. * Highcharts Gantt to be loaded.
  53086. */
  53087. connectors?: SeriesConnectorsOptionsObject;
  53088. /**
  53089. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  53090. * rounded to its nearest pixel in order to render sharp on screen. In some
  53091. * cases, when there are a lot of densely packed columns, this leads to
  53092. * visible difference in column widths or distance between columns. In these
  53093. * cases, setting `crisp` to `false` may look better, even though each
  53094. * column is rendered blurry.
  53095. */
  53096. crisp?: boolean;
  53097. /**
  53098. * (Highcharts, Highstock) When the series contains less points than the
  53099. * crop threshold, all points are drawn, even if the points fall outside the
  53100. * visible plot area at the current zoom. The advantage of drawing all
  53101. * points (including markers and columns), is that animation is performed on
  53102. * updates. On the other hand, when the series contains more points than the
  53103. * crop threshold, the series data is cropped to only contain points that
  53104. * fall within the plot area. The advantage of cropping away invisible
  53105. * points is to increase performance on large series.
  53106. */
  53107. cropThreshold?: number;
  53108. /**
  53109. * (Highstock) You can set the cursor to "pointer" if you have click events
  53110. * attached to the series, to signal to the user that the points and lines
  53111. * can be clicked.
  53112. *
  53113. * In styled mode, the series cursor can be set with the same classes as
  53114. * listed under series.color.
  53115. */
  53116. cursor?: (string|CursorValue);
  53117. /**
  53118. * (Highstock) A reserved subspace to store options and values for
  53119. * customized functionality. Here you can add additional data for your own
  53120. * event callbacks and formatter callbacks.
  53121. */
  53122. custom?: Dictionary<any>;
  53123. /**
  53124. * (Highstock) Name of the dash style to use for the graph, or for some
  53125. * series types the outline of each shape.
  53126. *
  53127. * In styled mode, the stroke dash-array can be set with the same classes as
  53128. * listed under series.color.
  53129. */
  53130. dashStyle?: DashStyleValue;
  53131. /**
  53132. * (Highstock) Data grouping is the concept of sampling the data values into
  53133. * larger blocks in order to ease readability and increase performance of
  53134. * the JavaScript charts. Highcharts Stock by default applies data grouping
  53135. * when the points become closer than a certain pixel value, determined by
  53136. * the `groupPixelWidth` option.
  53137. *
  53138. * If data grouping is applied, the grouping information of grouped points
  53139. * can be read from the Point.dataGroup. If point options other than the
  53140. * data itself are set, for example `name` or `color` or custom properties,
  53141. * the grouping logic doesn't know how to group it. In this case the options
  53142. * of the first point instance are copied over to the group point. This can
  53143. * be altered through a custom `approximation` callback function.
  53144. */
  53145. dataGrouping?: DataGroupingOptionsObject;
  53146. /**
  53147. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  53148. * labels, appearing next to each data point.
  53149. *
  53150. * Since v6.2.0, multiple data labels can be applied to each single point by
  53151. * defining them as an array of configs.
  53152. *
  53153. * In styled mode, the data labels can be styled with the
  53154. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  53155. * (see example).
  53156. */
  53157. dataLabels?: (PlotKlingerDataLabelsOptions|Array<PlotKlingerDataLabelsOptions>);
  53158. /**
  53159. * (Highcharts, Highstock) Options for the series data sorting.
  53160. */
  53161. dataSorting?: (DataSortingOptionsObject|PlotKlingerDataSortingOptions);
  53162. /**
  53163. * (Highstock) A description of the series to add to the screen reader
  53164. * information about the series.
  53165. */
  53166. description?: string;
  53167. /**
  53168. * (Highstock) Enable or disable the mouse tracking for a specific series.
  53169. * This includes point tooltips and click events on graphs and points. For
  53170. * large datasets it improves performance.
  53171. */
  53172. enableMouseTracking?: boolean;
  53173. /**
  53174. * (Highstock) General event handlers for the series items. These event
  53175. * hooks can also be attached to the series at run time using the
  53176. * `Highcharts.addEvent` function.
  53177. */
  53178. events?: SeriesEventsOptionsObject;
  53179. /**
  53180. * (Highstock) Determines whether the series should look for the nearest
  53181. * point in both dimensions or just the x-dimension when hovering the
  53182. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  53183. * series. If the data has duplicate x-values, it is recommended to set this
  53184. * to `'xy'` to allow hovering over all points.
  53185. *
  53186. * Applies only to series types using nearest neighbor search (not direct
  53187. * hover) for tooltip.
  53188. */
  53189. findNearestPointBy?: OptionsFindNearestPointByValue;
  53190. /**
  53191. * (Highstock) Defines when to display a gap in the graph, together with the
  53192. * gapUnit option.
  53193. *
  53194. * In case when `dataGrouping` is enabled, points can be grouped into a
  53195. * larger time span. This can make the grouped points to have a greater
  53196. * distance than the absolute value of `gapSize` property, which will result
  53197. * in disappearing graph completely. To prevent this situation the mentioned
  53198. * distance between grouped points is used instead of previously defined
  53199. * `gapSize`.
  53200. *
  53201. * In practice, this option is most often used to visualize gaps in time
  53202. * series. In a stock chart, intraday data is available for daytime hours,
  53203. * while gaps will appear in nights and weekends.
  53204. */
  53205. gapSize?: number;
  53206. /**
  53207. * (Highstock) Together with gapSize, this option defines where to draw gaps
  53208. * in the graph.
  53209. *
  53210. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  53211. * if the distance between two points is greater than 5 times that of the
  53212. * two closest points, the graph will be broken.
  53213. *
  53214. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  53215. * values, which on a datetime axis is milliseconds. This also applies to
  53216. * the navigator series that inherits gap options from the base series.
  53217. */
  53218. gapUnit?: OptionsGapUnitValue;
  53219. /**
  53220. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  53221. * chart width or only the zoomed area when zooming in on parts of the X
  53222. * axis. By default, the Y axis adjusts to the min and max of the visible
  53223. * data. Cartesian series only.
  53224. */
  53225. getExtremesFromAll?: boolean;
  53226. /**
  53227. * (Highstock) When set to `false` will prevent the series data from being
  53228. * included in any form of data export.
  53229. *
  53230. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  53231. * `includeInCSVExport`.
  53232. */
  53233. includeInDataExport?: boolean;
  53234. /**
  53235. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  53236. * series as possible in a natural way, seeking to avoid other series. The
  53237. * goal of this feature is to make the chart more easily readable, like if a
  53238. * human designer placed the labels in the optimal position.
  53239. *
  53240. * The series labels currently work with series types having a `graph` or an
  53241. * `area`.
  53242. */
  53243. label?: SeriesLabelOptionsObject;
  53244. /**
  53245. * (Highstock) The line marks the last price from all points.
  53246. */
  53247. lastPrice?: SeriesLastPriceOptionsObject;
  53248. /**
  53249. * (Highstock) The line marks the last price from visible range of points.
  53250. */
  53251. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  53252. /**
  53253. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  53254. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  53255. * the ends and bends.
  53256. */
  53257. linecap?: SeriesLinecapValue;
  53258. /**
  53259. * (Highcharts, Highstock) Pixel width of the graph line.
  53260. */
  53261. lineWidth?: number;
  53262. /**
  53263. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  53264. * based on. Required for this indicator.
  53265. */
  53266. linkedTo?: string;
  53267. /**
  53268. * (Highstock) Options for the point markers of line-like series. Properties
  53269. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  53270. * appearance of the markers. Other series types, like column series, don't
  53271. * have markers, but have visual options on the series level instead.
  53272. *
  53273. * In styled mode, the markers can be styled with the `.highcharts-point`,
  53274. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  53275. */
  53276. marker?: PointMarkerOptionsObject;
  53277. /**
  53278. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  53279. * If not set, it will be based on a technical indicator type and default
  53280. * params.
  53281. */
  53282. name?: string;
  53283. /**
  53284. * (Highstock) The color for the parts of the graph or points that are below
  53285. * the threshold. Note that `zones` takes precedence over the negative
  53286. * color. Using `negativeColor` is equivalent to applying a zone with value
  53287. * of 0.
  53288. */
  53289. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  53290. /**
  53291. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  53292. * dataLabels.
  53293. */
  53294. opacity?: number;
  53295. /**
  53296. * (Highstock) Paramters used in calculation of Klinger Oscillator.
  53297. */
  53298. params?: PlotKlingerParamsOptions;
  53299. /**
  53300. * (Highstock) Properties for each single point.
  53301. */
  53302. point?: PlotSeriesPointOptions;
  53303. /**
  53304. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  53305. * individual series. Overrides the chart wide configuration.
  53306. */
  53307. pointDescriptionFormatter?: Function;
  53308. /**
  53309. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  53310. * true, the checkbox next to the series name in the legend will be checked
  53311. * for a selected series.
  53312. */
  53313. selected?: boolean;
  53314. /**
  53315. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  53316. * the shadow can be an object configuration containing `color`, `offsetX`,
  53317. * `offsetY`, `opacity` and `width`.
  53318. */
  53319. shadow?: (boolean|ShadowOptionsObject);
  53320. /**
  53321. * (Highstock) If true, a checkbox is displayed next to the legend item to
  53322. * allow selecting the series. The state of the checkbox is determined by
  53323. * the `selected` option.
  53324. */
  53325. showCheckbox?: boolean;
  53326. /**
  53327. * (Highstock) Whether to display this particular series or series type in
  53328. * the legend. Standalone series are shown in legend by default, and linked
  53329. * series are not. Since v7.2.0 it is possible to show series that use
  53330. * colorAxis by setting this option to `true`.
  53331. */
  53332. showInLegend?: boolean;
  53333. signalLine?: PlotKlingerSignalLineOptions;
  53334. /**
  53335. * (Highstock) If set to `true`, the accessibility module will skip past the
  53336. * points in this series for keyboard navigation.
  53337. */
  53338. skipKeyboardNavigation?: boolean;
  53339. /**
  53340. * (Highcharts, Highstock) When this is true, the series will not cause the
  53341. * Y axis to cross the zero plane (or threshold option) unless the data
  53342. * actually crosses the plane.
  53343. *
  53344. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  53345. * make the Y axis show negative values according to the `minPadding`
  53346. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  53347. */
  53348. softThreshold?: boolean;
  53349. states?: SeriesStatesOptionsObject;
  53350. /**
  53351. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  53352. * values are `left`, `center` and `right`.
  53353. */
  53354. step?: OptionsStepValue;
  53355. /**
  53356. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  53357. * event on a series isn't triggered until the mouse moves over another
  53358. * series, or out of the plot area. When false, the `mouseOut` event on a
  53359. * series is triggered when the mouse leaves the area around the series'
  53360. * graph or markers. This also implies the tooltip when not shared. When
  53361. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  53362. * be hidden when moving the mouse between series. Defaults to true for line
  53363. * and area type series, but to false for columns, pies etc.
  53364. *
  53365. * **Note:** The boost module will force this option because of technical
  53366. * limitations.
  53367. */
  53368. stickyTracking?: boolean;
  53369. /**
  53370. * (Highcharts, Highstock) The threshold, also called zero level or base
  53371. * level. For line type series this is only used in conjunction with
  53372. * negativeColor.
  53373. */
  53374. threshold?: (number|null);
  53375. /**
  53376. * (Highstock) A configuration object for the tooltip rendering of each
  53377. * single series. Properties are inherited from tooltip, but only the
  53378. * following properties can be defined on a series level.
  53379. */
  53380. tooltip?: SeriesTooltipOptionsObject;
  53381. /**
  53382. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  53383. * is longer than this, only one dimensional arrays of numbers, or two
  53384. * dimensional arrays with x and y values are allowed. Also, only the first
  53385. * point is tested, and the rest are assumed to be the same format. This
  53386. * saves expensive data checking and indexing in long series. Set it to `0`
  53387. * disable.
  53388. *
  53389. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  53390. * two dimensional arrays are allowed.
  53391. */
  53392. turboThreshold?: number;
  53393. /**
  53394. * (Highstock) Set the initial visibility of the series.
  53395. */
  53396. visible?: boolean;
  53397. /**
  53398. * (Highmaps) Define the z index of the series.
  53399. */
  53400. zIndex?: number;
  53401. /**
  53402. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  53403. */
  53404. zoneAxis?: string;
  53405. /**
  53406. * (Highcharts, Highstock) An array defining zones within a series. Zones
  53407. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  53408. * the `zoneAxis` option. The zone definitions have to be in ascending order
  53409. * regarding to the value.
  53410. *
  53411. * In styled mode, the color zones are styled with the
  53412. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  53413. * option (view live demo).
  53414. */
  53415. zones?: Array<SeriesZonesOptionsObject>;
  53416. }
  53417. /**
  53418. * (Highstock) Paramters used in calculation of Klinger Oscillator.
  53419. */
  53420. export interface PlotKlingerParamsOptions {
  53421. /**
  53422. * (Highstock) The fast period for indicator calculations.
  53423. */
  53424. fastAvgPeriod?: number;
  53425. /**
  53426. * (Highstock) The base period for signal calculations.
  53427. */
  53428. signalPeriod?: number;
  53429. /**
  53430. * (Highstock) The slow period for indicator calculations.
  53431. */
  53432. slowAvgPeriod?: number;
  53433. /**
  53434. * (Highstock) The id of another series to use its data as volume data for
  53435. * the indiator calculation.
  53436. */
  53437. volumeSeriesID?: string;
  53438. }
  53439. export interface PlotKlingerSignalLineOptions {
  53440. /**
  53441. * (Highstock) Styles for a signal line.
  53442. */
  53443. styles?: PlotKlingerSignalLineStylesOptions;
  53444. }
  53445. /**
  53446. * (Highstock) Styles for a signal line.
  53447. */
  53448. export interface PlotKlingerSignalLineStylesOptions {
  53449. /**
  53450. * (Highstock) Color of the line. If not set, it's inherited from
  53451. * plotOptions.klinger.color.
  53452. */
  53453. lineColor?: ColorString;
  53454. /**
  53455. * (Highstock) Pixel width of the line.
  53456. */
  53457. lineWidth?: number;
  53458. }
  53459. /**
  53460. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  53461. * is displayed. The animation can also be set as a configuration object. Please
  53462. * note that this option only applies to the initial animation of the series
  53463. * itself. For other animations, see chart.animation and the animation parameter
  53464. * under the API methods. The following properties are supported:
  53465. *
  53466. * - `defer`: The animation delay time in milliseconds.
  53467. *
  53468. * - `duration`: The duration of the animation in milliseconds.
  53469. *
  53470. * - `easing`: Can be a string reference to an easing function set on the `Math`
  53471. * object or a function. See the _Custom easing function_ demo below.
  53472. *
  53473. * Due to poor performance, animation is disabled in old IE browsers for several
  53474. * chart types.
  53475. */
  53476. export interface PlotLineAnimationOptions {
  53477. defer?: number;
  53478. }
  53479. /**
  53480. * (Highstock) Enable or disable the initial animation when a series is
  53481. * displayed. The animation can also be set as a configuration object. Please
  53482. * note that this option only applies to the initial animation of the series
  53483. * itself. For other animations, see chart.animation and the animation parameter
  53484. * under the API methods. The following properties are supported:
  53485. *
  53486. * - `defer`: The animation delay time in milliseconds.
  53487. *
  53488. * - `duration`: The duration of the animation in milliseconds.
  53489. *
  53490. * - `easing`: Can be a string reference to an easing function set on the `Math`
  53491. * object or a function. See the _Custom easing function_ demo below.
  53492. *
  53493. * Due to poor performance, animation is disabled in old IE browsers for several
  53494. * chart types.
  53495. */
  53496. export interface PlotLinearregressionangleAnimationOptions {
  53497. defer?: number;
  53498. }
  53499. /**
  53500. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53501. * animation when a series is displayed for the `dataLabels`. The animation can
  53502. * also be set as a configuration object. Please note that this option only
  53503. * applies to the initial animation. For other animations, see chart.animation
  53504. * and the animation parameter under the API methods. The following properties
  53505. * are supported:
  53506. *
  53507. * - `defer`: The animation delay time in milliseconds.
  53508. */
  53509. export interface PlotLinearregressionangleDataLabelsAnimationOptions {
  53510. /**
  53511. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  53512. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  53513. * inherits defer time from the series.animation.defer.
  53514. */
  53515. defer?: number;
  53516. }
  53517. /**
  53518. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  53519. * appearing next to each data point.
  53520. *
  53521. * Since v6.2.0, multiple data labels can be applied to each single point by
  53522. * defining them as an array of configs.
  53523. *
  53524. * In styled mode, the data labels can be styled with the
  53525. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  53526. * example).
  53527. */
  53528. export interface PlotLinearregressionangleDataLabelsOptions {
  53529. /**
  53530. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  53531. * compared to the point. If `right`, the right side of the label should be
  53532. * touching the point. For points with an extent, like columns, the
  53533. * alignments also dictates how to align it inside the box, as given with
  53534. * the inside option. Can be one of `left`, `center` or `right`.
  53535. */
  53536. align?: (AlignValue|null);
  53537. /**
  53538. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  53539. * overlap. To make the labels less sensitive for overlapping, the
  53540. * dataLabels.padding can be set to 0.
  53541. */
  53542. allowOverlap?: boolean;
  53543. /**
  53544. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  53545. * animation when a series is displayed for the `dataLabels`. The animation
  53546. * can also be set as a configuration object. Please note that this option
  53547. * only applies to the initial animation. For other animations, see
  53548. * chart.animation and the animation parameter under the API methods. The
  53549. * following properties are supported:
  53550. *
  53551. * - `defer`: The animation delay time in milliseconds.
  53552. */
  53553. animation?: (boolean|PlotLinearregressionangleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  53554. /**
  53555. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  53556. * for the data label.
  53557. */
  53558. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  53559. /**
  53560. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  53561. * label. Defaults to `undefined`.
  53562. */
  53563. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53564. /**
  53565. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  53566. * the data label.
  53567. */
  53568. borderRadius?: number;
  53569. /**
  53570. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  53571. * the data label.
  53572. */
  53573. borderWidth?: number;
  53574. /**
  53575. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  53576. * Particularly in styled mode, this can be used to give each series' or
  53577. * point's data label unique styling. In addition to this option, a default
  53578. * color class name is added so that we can give the labels a contrast text
  53579. * shadow.
  53580. */
  53581. className?: string;
  53582. /**
  53583. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  53584. * labels. Defaults to `undefined`. For certain series types, like column or
  53585. * map, the data labels can be drawn inside the points. In this case the
  53586. * data label will be drawn with maximum contrast by default. Additionally,
  53587. * it will be given a `text-outline` style with the opposite color, to
  53588. * further increase the contrast. This can be overridden by setting the
  53589. * `text-outline` style to `none` in the `dataLabels.style` option.
  53590. */
  53591. color?: (ColorString|GradientColorObject|PatternObject);
  53592. /**
  53593. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  53594. * are outside the plot area. By default, the data label is moved inside the
  53595. * plot area according to the overflow option.
  53596. */
  53597. crop?: boolean;
  53598. /**
  53599. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  53600. * labels until the initial series animation has finished. Setting to
  53601. * `false` renders the data label immediately. If set to `true` inherits the
  53602. * defer time set in plotOptions.series.animation. If set to a number, a
  53603. * defer time is specified in milliseconds.
  53604. */
  53605. defer?: (boolean|number);
  53606. /**
  53607. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  53608. * labels.
  53609. */
  53610. enabled?: boolean;
  53611. /**
  53612. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  53613. * of which data labels to display. The declarative filter is designed for
  53614. * use when callback functions are not available, like when the chart
  53615. * options require a pure JSON structure or for use with graphical editors.
  53616. * For programmatic control, use the `formatter` instead, and return
  53617. * `undefined` to disable a single data label.
  53618. */
  53619. filter?: DataLabelsFilterOptionsObject;
  53620. /**
  53621. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  53622. * label. Available variables are the same as for `formatter`.
  53623. */
  53624. format?: string;
  53625. /**
  53626. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  53627. * format the data label. Note that if a `format` is defined, the format
  53628. * takes precedence and the formatter is ignored.
  53629. */
  53630. formatter?: DataLabelsFormatterCallbackFunction;
  53631. /**
  53632. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  53633. * columns or map areas, whether to align the data label inside the box or
  53634. * to the actual value point. Defaults to `false` in most cases, `true` in
  53635. * stacked columns.
  53636. */
  53637. inside?: boolean;
  53638. /**
  53639. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  53640. * of null. Works analogously to format. `nullFormat` can be applied only to
  53641. * series which support displaying null points.
  53642. */
  53643. nullFormat?: (boolean|string);
  53644. /**
  53645. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  53646. * that defines formatting for points with the value of null. Works
  53647. * analogously to formatter. `nullPointFormatter` can be applied only to
  53648. * series which support displaying null points.
  53649. */
  53650. nullFormatter?: DataLabelsFormatterCallbackFunction;
  53651. /**
  53652. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  53653. * flow outside the plot area. The default is `"justify"`, which aligns them
  53654. * inside the plot area. For columns and bars, this means it will be moved
  53655. * inside the bar. To display data labels outside the plot area, set `crop`
  53656. * to `false` and `overflow` to `"allow"`.
  53657. */
  53658. overflow?: DataLabelsOverflowValue;
  53659. /**
  53660. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  53661. * the `backgroundColor` is set, this is the padding within the box.
  53662. */
  53663. padding?: number;
  53664. /**
  53665. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  53666. * points. If `center` alignment is not possible, it defaults to `right`.
  53667. */
  53668. position?: AlignValue;
  53669. /**
  53670. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  53671. * that due to a more complex structure, backgrounds, borders and padding
  53672. * will be lost on a rotated data label.
  53673. */
  53674. rotation?: number;
  53675. /**
  53676. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  53677. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  53678. * an object configuration containing `color`, `offsetX`, `offsetY`,
  53679. * `opacity` and `width`.
  53680. */
  53681. shadow?: (boolean|ShadowOptionsObject);
  53682. /**
  53683. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  53684. * the border around the label. Symbols are predefined functions on the
  53685. * Renderer object.
  53686. */
  53687. shape?: string;
  53688. /**
  53689. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  53690. * default `color` setting is `"contrast"`, which is a pseudo color that
  53691. * Highcharts picks up and applies the maximum contrast to the underlying
  53692. * point item, for example the bar in a bar chart.
  53693. *
  53694. * The `textOutline` is a pseudo property that applies an outline of the
  53695. * given width with the given color, which by default is the maximum
  53696. * contrast to the text. So a bright text color will result in a black text
  53697. * outline for maximum readability on a mixed background. In some cases,
  53698. * especially with grayscale text, the text outline doesn't work well, in
  53699. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  53700. * is true, the `textOutline` will not be picked up. In this, case, the same
  53701. * effect can be acheived through the `text-shadow` CSS property.
  53702. *
  53703. * For some series types, where each point has an extent, like for example
  53704. * tree maps, the data label may overflow the point. There are two
  53705. * strategies for handling overflow. By default, the text will wrap to
  53706. * multiple lines. The other strategy is to set `style.textOverflow` to
  53707. * `ellipsis`, which will keep the text on one line plus it will break
  53708. * inside long words.
  53709. */
  53710. style?: CSSObject;
  53711. /**
  53712. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  53713. * should follow marker's shape. Border and background are disabled for a
  53714. * label that follows a path.
  53715. *
  53716. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  53717. * to true will disable this option.
  53718. */
  53719. textPath?: DataLabelsTextPathOptionsObject;
  53720. /**
  53721. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  53722. * the labels.
  53723. */
  53724. useHTML?: boolean;
  53725. /**
  53726. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  53727. * label. Can be one of `top`, `middle` or `bottom`. The default value
  53728. * depends on the data, for instance in a column chart, the label is above
  53729. * positive values and below negative values.
  53730. */
  53731. verticalAlign?: (VerticalAlignValue|null);
  53732. /**
  53733. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  53734. * label relative to the point in pixels.
  53735. */
  53736. x?: number;
  53737. /**
  53738. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  53739. * label relative to the point in pixels.
  53740. */
  53741. y?: number;
  53742. /**
  53743. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  53744. * The default Z index puts it above the series. Use a Z index of 2 to
  53745. * display it behind the series.
  53746. */
  53747. z?: number;
  53748. }
  53749. /**
  53750. * (Highcharts, Highstock) Options for the series data sorting.
  53751. */
  53752. export interface PlotLinearregressionangleDataSortingOptions {
  53753. /**
  53754. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  53755. * Use xAxis.reversed to change the sorting order.
  53756. */
  53757. enabled?: boolean;
  53758. /**
  53759. * (Highcharts, Highstock) Whether to allow matching points by name in an
  53760. * update. If this option is disabled, points will be matched by order.
  53761. */
  53762. matchByName?: boolean;
  53763. /**
  53764. * (Highcharts, Highstock) Determines what data value should be used to sort
  53765. * by.
  53766. */
  53767. sortKey?: string;
  53768. }
  53769. /**
  53770. * (Highstock) Linear regression angle indicator. This series requires
  53771. * `linkedTo` option to be set.
  53772. *
  53773. * In TypeScript the type option must always be set.
  53774. *
  53775. * Configuration options for the series are given in three levels:
  53776. *
  53777. * 1. Options for all series in a chart are defined in the plotOptions.series
  53778. * object.
  53779. *
  53780. * 2. Options for all `linearregressionangle` series are defined in
  53781. * plotOptions.linearregressionangle.
  53782. *
  53783. * 3. Options for one single series are given in the series instance array. (see
  53784. * online documentation for example)
  53785. */
  53786. export interface PlotLinearregressionangleOptions {
  53787. /**
  53788. * (Highstock) Accessibility options for a series.
  53789. */
  53790. accessibility?: SeriesAccessibilityOptionsObject;
  53791. /**
  53792. * (Highstock) Allow this series' points to be selected by clicking on the
  53793. * graphic (columns, point markers, pie slices, map areas etc).
  53794. *
  53795. * The selected points can be handled by point select and unselect events,
  53796. * or collectively by the getSelectedPoints function.
  53797. *
  53798. * And alternative way of selecting points is through dragging.
  53799. */
  53800. allowPointSelect?: boolean;
  53801. /**
  53802. * (Highstock) Enable or disable the initial animation when a series is
  53803. * displayed. The animation can also be set as a configuration object.
  53804. * Please note that this option only applies to the initial animation of the
  53805. * series itself. For other animations, see chart.animation and the
  53806. * animation parameter under the API methods. The following properties are
  53807. * supported:
  53808. *
  53809. * - `defer`: The animation delay time in milliseconds.
  53810. *
  53811. * - `duration`: The duration of the animation in milliseconds.
  53812. *
  53813. * - `easing`: Can be a string reference to an easing function set on the
  53814. * `Math` object or a function. See the _Custom easing function_ demo below.
  53815. *
  53816. * Due to poor performance, animation is disabled in old IE browsers for
  53817. * several chart types.
  53818. */
  53819. animation?: (boolean|PlotLinearregressionangleAnimationOptions|Partial<AnimationOptionsObject>);
  53820. /**
  53821. * (Highstock) For some series, there is a limit that shuts down initial
  53822. * animation by default when the total number of points in the chart is too
  53823. * high. For example, for a column chart and its derivatives, animation does
  53824. * not run if there is more than 250 points totally. To disable this cap,
  53825. * set `animationLimit` to `Infinity`.
  53826. */
  53827. animationLimit?: number;
  53828. /**
  53829. * (Highstock) Sets the color blending in the boost module.
  53830. */
  53831. boostBlending?: OptionsBoostBlendingValue;
  53832. /**
  53833. * (Highstock) Set the point threshold for when a series should enter boost
  53834. * mode.
  53835. *
  53836. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  53837. * there are 2000 or more points in the series.
  53838. *
  53839. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  53840. * it to 1 will force boosting.
  53841. *
  53842. * Note that the cropThreshold also affects this setting. When zooming in on
  53843. * a series that has fewer points than the `cropThreshold`, all points are
  53844. * rendered although outside the visible plot area, and the `boostThreshold`
  53845. * won't take effect.
  53846. */
  53847. boostThreshold?: number;
  53848. /**
  53849. * (Highmaps) The border color of the map areas.
  53850. *
  53851. * In styled mode, the border stroke is given in the `.highcharts-point`
  53852. * class.
  53853. */
  53854. borderColor?: (ColorString|GradientColorObject|PatternObject);
  53855. /**
  53856. * (Highmaps) The border width of each map area.
  53857. *
  53858. * In styled mode, the border stroke width is given in the
  53859. * `.highcharts-point` class.
  53860. */
  53861. borderWidth?: number;
  53862. /**
  53863. * (Highstock) An additional class name to apply to the series' graphical
  53864. * elements. This option does not replace default class names of the
  53865. * graphical element.
  53866. */
  53867. className?: string;
  53868. /**
  53869. * (Highstock) Disable this option to allow series rendering in the whole
  53870. * plotting area.
  53871. *
  53872. * **Note:** Clipping should be always enabled when chart.zoomType is set
  53873. */
  53874. clip?: boolean;
  53875. /**
  53876. * (Highstock) The main color of the series. In line type series it applies
  53877. * to the line and the point markers unless otherwise specified. In bar type
  53878. * series it applies to the bars unless a color is specified per point. The
  53879. * default value is pulled from the `options.colors` array.
  53880. *
  53881. * In styled mode, the color can be defined by the colorIndex option. Also,
  53882. * the series color can be set with the `.highcharts-series`,
  53883. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  53884. * `.highcharts-series-{n}` class, or individual classes given by the
  53885. * `className` option.
  53886. */
  53887. color?: (ColorString|GradientColorObject|PatternObject);
  53888. /**
  53889. * (Highstock) Styled mode only. A specific color index to use for the
  53890. * series, so its graphic representations are given the class name
  53891. * `highcharts-color-{n}`.
  53892. */
  53893. colorIndex?: number;
  53894. /**
  53895. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  53896. * used to calculate point color if `colorAxis` is used. Requires to set
  53897. * `min` and `max` if some custom point property is used or if approximation
  53898. * for data grouping is set to `'sum'`.
  53899. */
  53900. colorKey?: string;
  53901. /**
  53902. * (Highstock) Compare the values of the series against the first non-null,
  53903. * non- zero value in the visible range. The y axis will show percentage or
  53904. * absolute change depending on whether `compare` is set to `"percent"` or
  53905. * `"value"`. When this is applied to multiple series, it allows comparing
  53906. * the development of the series against each other. Adds a `change` field
  53907. * to every point object.
  53908. */
  53909. compare?: string;
  53910. /**
  53911. * (Highstock) When compare is `percent`, this option dictates whether to
  53912. * use 0 or 100 as the base of comparison.
  53913. */
  53914. compareBase?: (0|100);
  53915. /**
  53916. * (Highstock) Defines if comparison should start from the first point
  53917. * within the visible range or should start from the first point **before**
  53918. * the range.
  53919. *
  53920. * In other words, this flag determines if first point within the visible
  53921. * range will have 0% (`compareStart=true`) or should have been already
  53922. * calculated according to the previous point (`compareStart=false`).
  53923. */
  53924. compareStart?: boolean;
  53925. /**
  53926. * (Highstock) Whether to compare indicator to the main series values or
  53927. * indicator values.
  53928. */
  53929. compareToMain?: boolean;
  53930. /**
  53931. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  53932. * series plot across the extremes.
  53933. */
  53934. connectEnds?: boolean;
  53935. /**
  53936. * (Highcharts, Highstock) Whether to connect a graph line across null
  53937. * points, or render a gap between the two points on either side of the
  53938. * null.
  53939. */
  53940. connectNulls?: boolean;
  53941. /**
  53942. * (Gantt) Override Pathfinder connector options for a series. Requires
  53943. * Highcharts Gantt to be loaded.
  53944. */
  53945. connectors?: SeriesConnectorsOptionsObject;
  53946. /**
  53947. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  53948. * rounded to its nearest pixel in order to render sharp on screen. In some
  53949. * cases, when there are a lot of densely packed columns, this leads to
  53950. * visible difference in column widths or distance between columns. In these
  53951. * cases, setting `crisp` to `false` may look better, even though each
  53952. * column is rendered blurry.
  53953. */
  53954. crisp?: boolean;
  53955. /**
  53956. * (Highcharts, Highstock) When the series contains less points than the
  53957. * crop threshold, all points are drawn, even if the points fall outside the
  53958. * visible plot area at the current zoom. The advantage of drawing all
  53959. * points (including markers and columns), is that animation is performed on
  53960. * updates. On the other hand, when the series contains more points than the
  53961. * crop threshold, the series data is cropped to only contain points that
  53962. * fall within the plot area. The advantage of cropping away invisible
  53963. * points is to increase performance on large series.
  53964. */
  53965. cropThreshold?: number;
  53966. /**
  53967. * (Highstock) You can set the cursor to "pointer" if you have click events
  53968. * attached to the series, to signal to the user that the points and lines
  53969. * can be clicked.
  53970. *
  53971. * In styled mode, the series cursor can be set with the same classes as
  53972. * listed under series.color.
  53973. */
  53974. cursor?: (string|CursorValue);
  53975. /**
  53976. * (Highstock) A reserved subspace to store options and values for
  53977. * customized functionality. Here you can add additional data for your own
  53978. * event callbacks and formatter callbacks.
  53979. */
  53980. custom?: Dictionary<any>;
  53981. /**
  53982. * (Highstock) Name of the dash style to use for the graph, or for some
  53983. * series types the outline of each shape.
  53984. *
  53985. * In styled mode, the stroke dash-array can be set with the same classes as
  53986. * listed under series.color.
  53987. */
  53988. dashStyle?: DashStyleValue;
  53989. /**
  53990. * (Highstock) Data grouping is the concept of sampling the data values into
  53991. * larger blocks in order to ease readability and increase performance of
  53992. * the JavaScript charts. Highcharts Stock by default applies data grouping
  53993. * when the points become closer than a certain pixel value, determined by
  53994. * the `groupPixelWidth` option.
  53995. *
  53996. * If data grouping is applied, the grouping information of grouped points
  53997. * can be read from the Point.dataGroup. If point options other than the
  53998. * data itself are set, for example `name` or `color` or custom properties,
  53999. * the grouping logic doesn't know how to group it. In this case the options
  54000. * of the first point instance are copied over to the group point. This can
  54001. * be altered through a custom `approximation` callback function.
  54002. */
  54003. dataGrouping?: DataGroupingOptionsObject;
  54004. /**
  54005. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  54006. * labels, appearing next to each data point.
  54007. *
  54008. * Since v6.2.0, multiple data labels can be applied to each single point by
  54009. * defining them as an array of configs.
  54010. *
  54011. * In styled mode, the data labels can be styled with the
  54012. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  54013. * (see example).
  54014. */
  54015. dataLabels?: (PlotLinearregressionangleDataLabelsOptions|Array<PlotLinearregressionangleDataLabelsOptions>);
  54016. /**
  54017. * (Highcharts, Highstock) Options for the series data sorting.
  54018. */
  54019. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionangleDataSortingOptions);
  54020. /**
  54021. * (Highstock) A description of the series to add to the screen reader
  54022. * information about the series.
  54023. */
  54024. description?: string;
  54025. /**
  54026. * (Highstock) Enable or disable the mouse tracking for a specific series.
  54027. * This includes point tooltips and click events on graphs and points. For
  54028. * large datasets it improves performance.
  54029. */
  54030. enableMouseTracking?: boolean;
  54031. /**
  54032. * (Highstock) General event handlers for the series items. These event
  54033. * hooks can also be attached to the series at run time using the
  54034. * `Highcharts.addEvent` function.
  54035. */
  54036. events?: SeriesEventsOptionsObject;
  54037. /**
  54038. * (Highstock) Determines whether the series should look for the nearest
  54039. * point in both dimensions or just the x-dimension when hovering the
  54040. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  54041. * series. If the data has duplicate x-values, it is recommended to set this
  54042. * to `'xy'` to allow hovering over all points.
  54043. *
  54044. * Applies only to series types using nearest neighbor search (not direct
  54045. * hover) for tooltip.
  54046. */
  54047. findNearestPointBy?: OptionsFindNearestPointByValue;
  54048. /**
  54049. * (Highstock) Defines when to display a gap in the graph, together with the
  54050. * gapUnit option.
  54051. *
  54052. * In case when `dataGrouping` is enabled, points can be grouped into a
  54053. * larger time span. This can make the grouped points to have a greater
  54054. * distance than the absolute value of `gapSize` property, which will result
  54055. * in disappearing graph completely. To prevent this situation the mentioned
  54056. * distance between grouped points is used instead of previously defined
  54057. * `gapSize`.
  54058. *
  54059. * In practice, this option is most often used to visualize gaps in time
  54060. * series. In a stock chart, intraday data is available for daytime hours,
  54061. * while gaps will appear in nights and weekends.
  54062. */
  54063. gapSize?: number;
  54064. /**
  54065. * (Highstock) Together with gapSize, this option defines where to draw gaps
  54066. * in the graph.
  54067. *
  54068. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  54069. * if the distance between two points is greater than 5 times that of the
  54070. * two closest points, the graph will be broken.
  54071. *
  54072. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  54073. * values, which on a datetime axis is milliseconds. This also applies to
  54074. * the navigator series that inherits gap options from the base series.
  54075. */
  54076. gapUnit?: OptionsGapUnitValue;
  54077. /**
  54078. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  54079. * chart width or only the zoomed area when zooming in on parts of the X
  54080. * axis. By default, the Y axis adjusts to the min and max of the visible
  54081. * data. Cartesian series only.
  54082. */
  54083. getExtremesFromAll?: boolean;
  54084. /**
  54085. * (Highstock) When set to `false` will prevent the series data from being
  54086. * included in any form of data export.
  54087. *
  54088. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  54089. * `includeInCSVExport`.
  54090. */
  54091. includeInDataExport?: boolean;
  54092. /**
  54093. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  54094. * series as possible in a natural way, seeking to avoid other series. The
  54095. * goal of this feature is to make the chart more easily readable, like if a
  54096. * human designer placed the labels in the optimal position.
  54097. *
  54098. * The series labels currently work with series types having a `graph` or an
  54099. * `area`.
  54100. */
  54101. label?: SeriesLabelOptionsObject;
  54102. /**
  54103. * (Highstock) The line marks the last price from all points.
  54104. */
  54105. lastPrice?: SeriesLastPriceOptionsObject;
  54106. /**
  54107. * (Highstock) The line marks the last price from visible range of points.
  54108. */
  54109. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  54110. /**
  54111. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  54112. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  54113. * the ends and bends.
  54114. */
  54115. linecap?: SeriesLinecapValue;
  54116. /**
  54117. * (Highcharts, Highstock) Pixel width of the graph line.
  54118. */
  54119. lineWidth?: number;
  54120. /**
  54121. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  54122. * based on. Required for this indicator.
  54123. */
  54124. linkedTo?: string;
  54125. /**
  54126. * (Highstock) Options for the point markers of line-like series. Properties
  54127. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  54128. * appearance of the markers. Other series types, like column series, don't
  54129. * have markers, but have visual options on the series level instead.
  54130. *
  54131. * In styled mode, the markers can be styled with the `.highcharts-point`,
  54132. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  54133. */
  54134. marker?: PointMarkerOptionsObject;
  54135. /**
  54136. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  54137. * If not set, it will be based on a technical indicator type and default
  54138. * params.
  54139. */
  54140. name?: string;
  54141. /**
  54142. * (Highstock) The color for the parts of the graph or points that are below
  54143. * the threshold. Note that `zones` takes precedence over the negative
  54144. * color. Using `negativeColor` is equivalent to applying a zone with value
  54145. * of 0.
  54146. */
  54147. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  54148. /**
  54149. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  54150. * dataLabels.
  54151. */
  54152. opacity?: number;
  54153. /**
  54154. * (Highstock) Paramters used in calculation of regression series' points.
  54155. */
  54156. params?: PlotLinearregressionangleParamsOptions;
  54157. /**
  54158. * (Highstock) Properties for each single point.
  54159. */
  54160. point?: PlotSeriesPointOptions;
  54161. /**
  54162. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  54163. * individual series. Overrides the chart wide configuration.
  54164. */
  54165. pointDescriptionFormatter?: Function;
  54166. /**
  54167. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  54168. * true, the checkbox next to the series name in the legend will be checked
  54169. * for a selected series.
  54170. */
  54171. selected?: boolean;
  54172. /**
  54173. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  54174. * the shadow can be an object configuration containing `color`, `offsetX`,
  54175. * `offsetY`, `opacity` and `width`.
  54176. */
  54177. shadow?: (boolean|ShadowOptionsObject);
  54178. /**
  54179. * (Highstock) If true, a checkbox is displayed next to the legend item to
  54180. * allow selecting the series. The state of the checkbox is determined by
  54181. * the `selected` option.
  54182. */
  54183. showCheckbox?: boolean;
  54184. /**
  54185. * (Highstock) Whether to display this particular series or series type in
  54186. * the legend. Standalone series are shown in legend by default, and linked
  54187. * series are not. Since v7.2.0 it is possible to show series that use
  54188. * colorAxis by setting this option to `true`.
  54189. */
  54190. showInLegend?: boolean;
  54191. /**
  54192. * (Highstock) If set to `true`, the accessibility module will skip past the
  54193. * points in this series for keyboard navigation.
  54194. */
  54195. skipKeyboardNavigation?: boolean;
  54196. /**
  54197. * (Highcharts, Highstock) When this is true, the series will not cause the
  54198. * Y axis to cross the zero plane (or threshold option) unless the data
  54199. * actually crosses the plane.
  54200. *
  54201. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  54202. * make the Y axis show negative values according to the `minPadding`
  54203. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  54204. */
  54205. softThreshold?: boolean;
  54206. states?: SeriesStatesOptionsObject;
  54207. /**
  54208. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  54209. * values are `left`, `center` and `right`.
  54210. */
  54211. step?: OptionsStepValue;
  54212. /**
  54213. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  54214. * event on a series isn't triggered until the mouse moves over another
  54215. * series, or out of the plot area. When false, the `mouseOut` event on a
  54216. * series is triggered when the mouse leaves the area around the series'
  54217. * graph or markers. This also implies the tooltip when not shared. When
  54218. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  54219. * be hidden when moving the mouse between series. Defaults to true for line
  54220. * and area type series, but to false for columns, pies etc.
  54221. *
  54222. * **Note:** The boost module will force this option because of technical
  54223. * limitations.
  54224. */
  54225. stickyTracking?: boolean;
  54226. /**
  54227. * (Highcharts, Highstock) The threshold, also called zero level or base
  54228. * level. For line type series this is only used in conjunction with
  54229. * negativeColor.
  54230. */
  54231. threshold?: (number|null);
  54232. /**
  54233. * (Highstock) A configuration object for the tooltip rendering of each
  54234. * single series. Properties are inherited from tooltip, but only the
  54235. * following properties can be defined on a series level.
  54236. */
  54237. tooltip?: SeriesTooltipOptionsObject;
  54238. /**
  54239. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  54240. * is longer than this, only one dimensional arrays of numbers, or two
  54241. * dimensional arrays with x and y values are allowed. Also, only the first
  54242. * point is tested, and the rest are assumed to be the same format. This
  54243. * saves expensive data checking and indexing in long series. Set it to `0`
  54244. * disable.
  54245. *
  54246. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  54247. * two dimensional arrays are allowed.
  54248. */
  54249. turboThreshold?: number;
  54250. /**
  54251. * (Highstock) Set the initial visibility of the series.
  54252. */
  54253. visible?: boolean;
  54254. /**
  54255. * (Highmaps) Define the z index of the series.
  54256. */
  54257. zIndex?: number;
  54258. /**
  54259. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  54260. */
  54261. zoneAxis?: string;
  54262. /**
  54263. * (Highcharts, Highstock) An array defining zones within a series. Zones
  54264. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  54265. * the `zoneAxis` option. The zone definitions have to be in ascending order
  54266. * regarding to the value.
  54267. *
  54268. * In styled mode, the color zones are styled with the
  54269. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  54270. * option (view live demo).
  54271. */
  54272. zones?: Array<SeriesZonesOptionsObject>;
  54273. }
  54274. /**
  54275. * (Highstock) Paramters used in calculation of regression series' points.
  54276. */
  54277. export interface PlotLinearregressionangleParamsOptions {
  54278. /**
  54279. * (Highstock) The point index which indicator calculations will base. For
  54280. * example using OHLC data, index=2 means the indicator will be calculated
  54281. * using Low values.
  54282. */
  54283. index?: number;
  54284. /**
  54285. * (Highstock) The base period for indicator calculations. This is the
  54286. * number of data points which are taken into account for the indicator
  54287. * calculations.
  54288. */
  54289. period?: number;
  54290. /**
  54291. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  54292. * compute the regression line paramters (slope & intercept) for every
  54293. * range. In Highcharts Stock the x axis values are always represented in
  54294. * milliseconds which may cause that distances between points are "big"
  54295. * integer numbers.
  54296. *
  54297. * Highcharts Stock's linear regression algorithm (least squares method)
  54298. * will utilize these "big" integers for finding the slope and the intercept
  54299. * of the regression line for each period. In consequence, this value may be
  54300. * a very "small" decimal number that's hard to interpret by a human.
  54301. *
  54302. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  54303. * algorithm to treat `86400000` as `1` while computing the slope and the
  54304. * intercept. This may enchance the legiblitity of the indicator's values.
  54305. *
  54306. * Default value is the closest distance between two data points.
  54307. *
  54308. * In `v9.0.2`, the default value has been changed from `undefined` to
  54309. * `null`.
  54310. */
  54311. xAxisUnit?: (number|null);
  54312. }
  54313. /**
  54314. * (Highstock) Enable or disable the initial animation when a series is
  54315. * displayed. The animation can also be set as a configuration object. Please
  54316. * note that this option only applies to the initial animation of the series
  54317. * itself. For other animations, see chart.animation and the animation parameter
  54318. * under the API methods. The following properties are supported:
  54319. *
  54320. * - `defer`: The animation delay time in milliseconds.
  54321. *
  54322. * - `duration`: The duration of the animation in milliseconds.
  54323. *
  54324. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54325. * object or a function. See the _Custom easing function_ demo below.
  54326. *
  54327. * Due to poor performance, animation is disabled in old IE browsers for several
  54328. * chart types.
  54329. */
  54330. export interface PlotLinearregressionAnimationOptions {
  54331. defer?: number;
  54332. }
  54333. /**
  54334. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54335. * animation when a series is displayed for the `dataLabels`. The animation can
  54336. * also be set as a configuration object. Please note that this option only
  54337. * applies to the initial animation. For other animations, see chart.animation
  54338. * and the animation parameter under the API methods. The following properties
  54339. * are supported:
  54340. *
  54341. * - `defer`: The animation delay time in milliseconds.
  54342. */
  54343. export interface PlotLinearregressionDataLabelsAnimationOptions {
  54344. /**
  54345. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  54346. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  54347. * inherits defer time from the series.animation.defer.
  54348. */
  54349. defer?: number;
  54350. }
  54351. /**
  54352. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  54353. * appearing next to each data point.
  54354. *
  54355. * Since v6.2.0, multiple data labels can be applied to each single point by
  54356. * defining them as an array of configs.
  54357. *
  54358. * In styled mode, the data labels can be styled with the
  54359. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  54360. * example).
  54361. */
  54362. export interface PlotLinearregressionDataLabelsOptions {
  54363. /**
  54364. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  54365. * compared to the point. If `right`, the right side of the label should be
  54366. * touching the point. For points with an extent, like columns, the
  54367. * alignments also dictates how to align it inside the box, as given with
  54368. * the inside option. Can be one of `left`, `center` or `right`.
  54369. */
  54370. align?: (AlignValue|null);
  54371. /**
  54372. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  54373. * overlap. To make the labels less sensitive for overlapping, the
  54374. * dataLabels.padding can be set to 0.
  54375. */
  54376. allowOverlap?: boolean;
  54377. /**
  54378. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54379. * animation when a series is displayed for the `dataLabels`. The animation
  54380. * can also be set as a configuration object. Please note that this option
  54381. * only applies to the initial animation. For other animations, see
  54382. * chart.animation and the animation parameter under the API methods. The
  54383. * following properties are supported:
  54384. *
  54385. * - `defer`: The animation delay time in milliseconds.
  54386. */
  54387. animation?: (boolean|PlotLinearregressionDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  54388. /**
  54389. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  54390. * for the data label.
  54391. */
  54392. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  54393. /**
  54394. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  54395. * label. Defaults to `undefined`.
  54396. */
  54397. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54398. /**
  54399. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  54400. * the data label.
  54401. */
  54402. borderRadius?: number;
  54403. /**
  54404. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  54405. * the data label.
  54406. */
  54407. borderWidth?: number;
  54408. /**
  54409. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  54410. * Particularly in styled mode, this can be used to give each series' or
  54411. * point's data label unique styling. In addition to this option, a default
  54412. * color class name is added so that we can give the labels a contrast text
  54413. * shadow.
  54414. */
  54415. className?: string;
  54416. /**
  54417. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  54418. * labels. Defaults to `undefined`. For certain series types, like column or
  54419. * map, the data labels can be drawn inside the points. In this case the
  54420. * data label will be drawn with maximum contrast by default. Additionally,
  54421. * it will be given a `text-outline` style with the opposite color, to
  54422. * further increase the contrast. This can be overridden by setting the
  54423. * `text-outline` style to `none` in the `dataLabels.style` option.
  54424. */
  54425. color?: (ColorString|GradientColorObject|PatternObject);
  54426. /**
  54427. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  54428. * are outside the plot area. By default, the data label is moved inside the
  54429. * plot area according to the overflow option.
  54430. */
  54431. crop?: boolean;
  54432. /**
  54433. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  54434. * labels until the initial series animation has finished. Setting to
  54435. * `false` renders the data label immediately. If set to `true` inherits the
  54436. * defer time set in plotOptions.series.animation. If set to a number, a
  54437. * defer time is specified in milliseconds.
  54438. */
  54439. defer?: (boolean|number);
  54440. /**
  54441. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  54442. * labels.
  54443. */
  54444. enabled?: boolean;
  54445. /**
  54446. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  54447. * of which data labels to display. The declarative filter is designed for
  54448. * use when callback functions are not available, like when the chart
  54449. * options require a pure JSON structure or for use with graphical editors.
  54450. * For programmatic control, use the `formatter` instead, and return
  54451. * `undefined` to disable a single data label.
  54452. */
  54453. filter?: DataLabelsFilterOptionsObject;
  54454. /**
  54455. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  54456. * label. Available variables are the same as for `formatter`.
  54457. */
  54458. format?: string;
  54459. /**
  54460. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  54461. * format the data label. Note that if a `format` is defined, the format
  54462. * takes precedence and the formatter is ignored.
  54463. */
  54464. formatter?: DataLabelsFormatterCallbackFunction;
  54465. /**
  54466. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  54467. * columns or map areas, whether to align the data label inside the box or
  54468. * to the actual value point. Defaults to `false` in most cases, `true` in
  54469. * stacked columns.
  54470. */
  54471. inside?: boolean;
  54472. /**
  54473. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  54474. * of null. Works analogously to format. `nullFormat` can be applied only to
  54475. * series which support displaying null points.
  54476. */
  54477. nullFormat?: (boolean|string);
  54478. /**
  54479. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  54480. * that defines formatting for points with the value of null. Works
  54481. * analogously to formatter. `nullPointFormatter` can be applied only to
  54482. * series which support displaying null points.
  54483. */
  54484. nullFormatter?: DataLabelsFormatterCallbackFunction;
  54485. /**
  54486. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  54487. * flow outside the plot area. The default is `"justify"`, which aligns them
  54488. * inside the plot area. For columns and bars, this means it will be moved
  54489. * inside the bar. To display data labels outside the plot area, set `crop`
  54490. * to `false` and `overflow` to `"allow"`.
  54491. */
  54492. overflow?: DataLabelsOverflowValue;
  54493. /**
  54494. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  54495. * the `backgroundColor` is set, this is the padding within the box.
  54496. */
  54497. padding?: number;
  54498. /**
  54499. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  54500. * points. If `center` alignment is not possible, it defaults to `right`.
  54501. */
  54502. position?: AlignValue;
  54503. /**
  54504. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  54505. * that due to a more complex structure, backgrounds, borders and padding
  54506. * will be lost on a rotated data label.
  54507. */
  54508. rotation?: number;
  54509. /**
  54510. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  54511. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  54512. * an object configuration containing `color`, `offsetX`, `offsetY`,
  54513. * `opacity` and `width`.
  54514. */
  54515. shadow?: (boolean|ShadowOptionsObject);
  54516. /**
  54517. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  54518. * the border around the label. Symbols are predefined functions on the
  54519. * Renderer object.
  54520. */
  54521. shape?: string;
  54522. /**
  54523. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  54524. * default `color` setting is `"contrast"`, which is a pseudo color that
  54525. * Highcharts picks up and applies the maximum contrast to the underlying
  54526. * point item, for example the bar in a bar chart.
  54527. *
  54528. * The `textOutline` is a pseudo property that applies an outline of the
  54529. * given width with the given color, which by default is the maximum
  54530. * contrast to the text. So a bright text color will result in a black text
  54531. * outline for maximum readability on a mixed background. In some cases,
  54532. * especially with grayscale text, the text outline doesn't work well, in
  54533. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  54534. * is true, the `textOutline` will not be picked up. In this, case, the same
  54535. * effect can be acheived through the `text-shadow` CSS property.
  54536. *
  54537. * For some series types, where each point has an extent, like for example
  54538. * tree maps, the data label may overflow the point. There are two
  54539. * strategies for handling overflow. By default, the text will wrap to
  54540. * multiple lines. The other strategy is to set `style.textOverflow` to
  54541. * `ellipsis`, which will keep the text on one line plus it will break
  54542. * inside long words.
  54543. */
  54544. style?: CSSObject;
  54545. /**
  54546. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  54547. * should follow marker's shape. Border and background are disabled for a
  54548. * label that follows a path.
  54549. *
  54550. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  54551. * to true will disable this option.
  54552. */
  54553. textPath?: DataLabelsTextPathOptionsObject;
  54554. /**
  54555. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  54556. * the labels.
  54557. */
  54558. useHTML?: boolean;
  54559. /**
  54560. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  54561. * label. Can be one of `top`, `middle` or `bottom`. The default value
  54562. * depends on the data, for instance in a column chart, the label is above
  54563. * positive values and below negative values.
  54564. */
  54565. verticalAlign?: (VerticalAlignValue|null);
  54566. /**
  54567. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  54568. * label relative to the point in pixels.
  54569. */
  54570. x?: number;
  54571. /**
  54572. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  54573. * label relative to the point in pixels.
  54574. */
  54575. y?: number;
  54576. /**
  54577. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  54578. * The default Z index puts it above the series. Use a Z index of 2 to
  54579. * display it behind the series.
  54580. */
  54581. z?: number;
  54582. }
  54583. /**
  54584. * (Highcharts, Highstock) Options for the series data sorting.
  54585. */
  54586. export interface PlotLinearregressionDataSortingOptions {
  54587. /**
  54588. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54589. * Use xAxis.reversed to change the sorting order.
  54590. */
  54591. enabled?: boolean;
  54592. /**
  54593. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54594. * update. If this option is disabled, points will be matched by order.
  54595. */
  54596. matchByName?: boolean;
  54597. /**
  54598. * (Highcharts, Highstock) Determines what data value should be used to sort
  54599. * by.
  54600. */
  54601. sortKey?: string;
  54602. }
  54603. /**
  54604. * (Highstock) Enable or disable the initial animation when a series is
  54605. * displayed. The animation can also be set as a configuration object. Please
  54606. * note that this option only applies to the initial animation of the series
  54607. * itself. For other animations, see chart.animation and the animation parameter
  54608. * under the API methods. The following properties are supported:
  54609. *
  54610. * - `defer`: The animation delay time in milliseconds.
  54611. *
  54612. * - `duration`: The duration of the animation in milliseconds.
  54613. *
  54614. * - `easing`: Can be a string reference to an easing function set on the `Math`
  54615. * object or a function. See the _Custom easing function_ demo below.
  54616. *
  54617. * Due to poor performance, animation is disabled in old IE browsers for several
  54618. * chart types.
  54619. */
  54620. export interface PlotLinearregressioninterceptAnimationOptions {
  54621. defer?: number;
  54622. }
  54623. /**
  54624. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54625. * animation when a series is displayed for the `dataLabels`. The animation can
  54626. * also be set as a configuration object. Please note that this option only
  54627. * applies to the initial animation. For other animations, see chart.animation
  54628. * and the animation parameter under the API methods. The following properties
  54629. * are supported:
  54630. *
  54631. * - `defer`: The animation delay time in milliseconds.
  54632. */
  54633. export interface PlotLinearregressioninterceptDataLabelsAnimationOptions {
  54634. /**
  54635. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  54636. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  54637. * inherits defer time from the series.animation.defer.
  54638. */
  54639. defer?: number;
  54640. }
  54641. /**
  54642. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  54643. * appearing next to each data point.
  54644. *
  54645. * Since v6.2.0, multiple data labels can be applied to each single point by
  54646. * defining them as an array of configs.
  54647. *
  54648. * In styled mode, the data labels can be styled with the
  54649. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  54650. * example).
  54651. */
  54652. export interface PlotLinearregressioninterceptDataLabelsOptions {
  54653. /**
  54654. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  54655. * compared to the point. If `right`, the right side of the label should be
  54656. * touching the point. For points with an extent, like columns, the
  54657. * alignments also dictates how to align it inside the box, as given with
  54658. * the inside option. Can be one of `left`, `center` or `right`.
  54659. */
  54660. align?: (AlignValue|null);
  54661. /**
  54662. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  54663. * overlap. To make the labels less sensitive for overlapping, the
  54664. * dataLabels.padding can be set to 0.
  54665. */
  54666. allowOverlap?: boolean;
  54667. /**
  54668. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  54669. * animation when a series is displayed for the `dataLabels`. The animation
  54670. * can also be set as a configuration object. Please note that this option
  54671. * only applies to the initial animation. For other animations, see
  54672. * chart.animation and the animation parameter under the API methods. The
  54673. * following properties are supported:
  54674. *
  54675. * - `defer`: The animation delay time in milliseconds.
  54676. */
  54677. animation?: (boolean|PlotLinearregressioninterceptDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  54678. /**
  54679. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  54680. * for the data label.
  54681. */
  54682. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  54683. /**
  54684. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  54685. * label. Defaults to `undefined`.
  54686. */
  54687. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54688. /**
  54689. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  54690. * the data label.
  54691. */
  54692. borderRadius?: number;
  54693. /**
  54694. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  54695. * the data label.
  54696. */
  54697. borderWidth?: number;
  54698. /**
  54699. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  54700. * Particularly in styled mode, this can be used to give each series' or
  54701. * point's data label unique styling. In addition to this option, a default
  54702. * color class name is added so that we can give the labels a contrast text
  54703. * shadow.
  54704. */
  54705. className?: string;
  54706. /**
  54707. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  54708. * labels. Defaults to `undefined`. For certain series types, like column or
  54709. * map, the data labels can be drawn inside the points. In this case the
  54710. * data label will be drawn with maximum contrast by default. Additionally,
  54711. * it will be given a `text-outline` style with the opposite color, to
  54712. * further increase the contrast. This can be overridden by setting the
  54713. * `text-outline` style to `none` in the `dataLabels.style` option.
  54714. */
  54715. color?: (ColorString|GradientColorObject|PatternObject);
  54716. /**
  54717. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  54718. * are outside the plot area. By default, the data label is moved inside the
  54719. * plot area according to the overflow option.
  54720. */
  54721. crop?: boolean;
  54722. /**
  54723. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  54724. * labels until the initial series animation has finished. Setting to
  54725. * `false` renders the data label immediately. If set to `true` inherits the
  54726. * defer time set in plotOptions.series.animation. If set to a number, a
  54727. * defer time is specified in milliseconds.
  54728. */
  54729. defer?: (boolean|number);
  54730. /**
  54731. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  54732. * labels.
  54733. */
  54734. enabled?: boolean;
  54735. /**
  54736. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  54737. * of which data labels to display. The declarative filter is designed for
  54738. * use when callback functions are not available, like when the chart
  54739. * options require a pure JSON structure or for use with graphical editors.
  54740. * For programmatic control, use the `formatter` instead, and return
  54741. * `undefined` to disable a single data label.
  54742. */
  54743. filter?: DataLabelsFilterOptionsObject;
  54744. /**
  54745. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  54746. * label. Available variables are the same as for `formatter`.
  54747. */
  54748. format?: string;
  54749. /**
  54750. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  54751. * format the data label. Note that if a `format` is defined, the format
  54752. * takes precedence and the formatter is ignored.
  54753. */
  54754. formatter?: DataLabelsFormatterCallbackFunction;
  54755. /**
  54756. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  54757. * columns or map areas, whether to align the data label inside the box or
  54758. * to the actual value point. Defaults to `false` in most cases, `true` in
  54759. * stacked columns.
  54760. */
  54761. inside?: boolean;
  54762. /**
  54763. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  54764. * of null. Works analogously to format. `nullFormat` can be applied only to
  54765. * series which support displaying null points.
  54766. */
  54767. nullFormat?: (boolean|string);
  54768. /**
  54769. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  54770. * that defines formatting for points with the value of null. Works
  54771. * analogously to formatter. `nullPointFormatter` can be applied only to
  54772. * series which support displaying null points.
  54773. */
  54774. nullFormatter?: DataLabelsFormatterCallbackFunction;
  54775. /**
  54776. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  54777. * flow outside the plot area. The default is `"justify"`, which aligns them
  54778. * inside the plot area. For columns and bars, this means it will be moved
  54779. * inside the bar. To display data labels outside the plot area, set `crop`
  54780. * to `false` and `overflow` to `"allow"`.
  54781. */
  54782. overflow?: DataLabelsOverflowValue;
  54783. /**
  54784. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  54785. * the `backgroundColor` is set, this is the padding within the box.
  54786. */
  54787. padding?: number;
  54788. /**
  54789. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  54790. * points. If `center` alignment is not possible, it defaults to `right`.
  54791. */
  54792. position?: AlignValue;
  54793. /**
  54794. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  54795. * that due to a more complex structure, backgrounds, borders and padding
  54796. * will be lost on a rotated data label.
  54797. */
  54798. rotation?: number;
  54799. /**
  54800. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  54801. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  54802. * an object configuration containing `color`, `offsetX`, `offsetY`,
  54803. * `opacity` and `width`.
  54804. */
  54805. shadow?: (boolean|ShadowOptionsObject);
  54806. /**
  54807. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  54808. * the border around the label. Symbols are predefined functions on the
  54809. * Renderer object.
  54810. */
  54811. shape?: string;
  54812. /**
  54813. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  54814. * default `color` setting is `"contrast"`, which is a pseudo color that
  54815. * Highcharts picks up and applies the maximum contrast to the underlying
  54816. * point item, for example the bar in a bar chart.
  54817. *
  54818. * The `textOutline` is a pseudo property that applies an outline of the
  54819. * given width with the given color, which by default is the maximum
  54820. * contrast to the text. So a bright text color will result in a black text
  54821. * outline for maximum readability on a mixed background. In some cases,
  54822. * especially with grayscale text, the text outline doesn't work well, in
  54823. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  54824. * is true, the `textOutline` will not be picked up. In this, case, the same
  54825. * effect can be acheived through the `text-shadow` CSS property.
  54826. *
  54827. * For some series types, where each point has an extent, like for example
  54828. * tree maps, the data label may overflow the point. There are two
  54829. * strategies for handling overflow. By default, the text will wrap to
  54830. * multiple lines. The other strategy is to set `style.textOverflow` to
  54831. * `ellipsis`, which will keep the text on one line plus it will break
  54832. * inside long words.
  54833. */
  54834. style?: CSSObject;
  54835. /**
  54836. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  54837. * should follow marker's shape. Border and background are disabled for a
  54838. * label that follows a path.
  54839. *
  54840. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  54841. * to true will disable this option.
  54842. */
  54843. textPath?: DataLabelsTextPathOptionsObject;
  54844. /**
  54845. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  54846. * the labels.
  54847. */
  54848. useHTML?: boolean;
  54849. /**
  54850. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  54851. * label. Can be one of `top`, `middle` or `bottom`. The default value
  54852. * depends on the data, for instance in a column chart, the label is above
  54853. * positive values and below negative values.
  54854. */
  54855. verticalAlign?: (VerticalAlignValue|null);
  54856. /**
  54857. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  54858. * label relative to the point in pixels.
  54859. */
  54860. x?: number;
  54861. /**
  54862. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  54863. * label relative to the point in pixels.
  54864. */
  54865. y?: number;
  54866. /**
  54867. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  54868. * The default Z index puts it above the series. Use a Z index of 2 to
  54869. * display it behind the series.
  54870. */
  54871. z?: number;
  54872. }
  54873. /**
  54874. * (Highcharts, Highstock) Options for the series data sorting.
  54875. */
  54876. export interface PlotLinearregressioninterceptDataSortingOptions {
  54877. /**
  54878. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  54879. * Use xAxis.reversed to change the sorting order.
  54880. */
  54881. enabled?: boolean;
  54882. /**
  54883. * (Highcharts, Highstock) Whether to allow matching points by name in an
  54884. * update. If this option is disabled, points will be matched by order.
  54885. */
  54886. matchByName?: boolean;
  54887. /**
  54888. * (Highcharts, Highstock) Determines what data value should be used to sort
  54889. * by.
  54890. */
  54891. sortKey?: string;
  54892. }
  54893. /**
  54894. * (Highstock) Linear regression intercept indicator. This series requires
  54895. * `linkedTo` option to be set.
  54896. *
  54897. * In TypeScript the type option must always be set.
  54898. *
  54899. * Configuration options for the series are given in three levels:
  54900. *
  54901. * 1. Options for all series in a chart are defined in the plotOptions.series
  54902. * object.
  54903. *
  54904. * 2. Options for all `linearregressionintercept` series are defined in
  54905. * plotOptions.linearregressionintercept.
  54906. *
  54907. * 3. Options for one single series are given in the series instance array. (see
  54908. * online documentation for example)
  54909. */
  54910. export interface PlotLinearregressioninterceptOptions {
  54911. /**
  54912. * (Highstock) Accessibility options for a series.
  54913. */
  54914. accessibility?: SeriesAccessibilityOptionsObject;
  54915. /**
  54916. * (Highstock) Allow this series' points to be selected by clicking on the
  54917. * graphic (columns, point markers, pie slices, map areas etc).
  54918. *
  54919. * The selected points can be handled by point select and unselect events,
  54920. * or collectively by the getSelectedPoints function.
  54921. *
  54922. * And alternative way of selecting points is through dragging.
  54923. */
  54924. allowPointSelect?: boolean;
  54925. /**
  54926. * (Highstock) Enable or disable the initial animation when a series is
  54927. * displayed. The animation can also be set as a configuration object.
  54928. * Please note that this option only applies to the initial animation of the
  54929. * series itself. For other animations, see chart.animation and the
  54930. * animation parameter under the API methods. The following properties are
  54931. * supported:
  54932. *
  54933. * - `defer`: The animation delay time in milliseconds.
  54934. *
  54935. * - `duration`: The duration of the animation in milliseconds.
  54936. *
  54937. * - `easing`: Can be a string reference to an easing function set on the
  54938. * `Math` object or a function. See the _Custom easing function_ demo below.
  54939. *
  54940. * Due to poor performance, animation is disabled in old IE browsers for
  54941. * several chart types.
  54942. */
  54943. animation?: (boolean|PlotLinearregressioninterceptAnimationOptions|Partial<AnimationOptionsObject>);
  54944. /**
  54945. * (Highstock) For some series, there is a limit that shuts down initial
  54946. * animation by default when the total number of points in the chart is too
  54947. * high. For example, for a column chart and its derivatives, animation does
  54948. * not run if there is more than 250 points totally. To disable this cap,
  54949. * set `animationLimit` to `Infinity`.
  54950. */
  54951. animationLimit?: number;
  54952. /**
  54953. * (Highstock) Sets the color blending in the boost module.
  54954. */
  54955. boostBlending?: OptionsBoostBlendingValue;
  54956. /**
  54957. * (Highstock) Set the point threshold for when a series should enter boost
  54958. * mode.
  54959. *
  54960. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  54961. * there are 2000 or more points in the series.
  54962. *
  54963. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  54964. * it to 1 will force boosting.
  54965. *
  54966. * Note that the cropThreshold also affects this setting. When zooming in on
  54967. * a series that has fewer points than the `cropThreshold`, all points are
  54968. * rendered although outside the visible plot area, and the `boostThreshold`
  54969. * won't take effect.
  54970. */
  54971. boostThreshold?: number;
  54972. /**
  54973. * (Highmaps) The border color of the map areas.
  54974. *
  54975. * In styled mode, the border stroke is given in the `.highcharts-point`
  54976. * class.
  54977. */
  54978. borderColor?: (ColorString|GradientColorObject|PatternObject);
  54979. /**
  54980. * (Highmaps) The border width of each map area.
  54981. *
  54982. * In styled mode, the border stroke width is given in the
  54983. * `.highcharts-point` class.
  54984. */
  54985. borderWidth?: number;
  54986. /**
  54987. * (Highstock) An additional class name to apply to the series' graphical
  54988. * elements. This option does not replace default class names of the
  54989. * graphical element.
  54990. */
  54991. className?: string;
  54992. /**
  54993. * (Highstock) Disable this option to allow series rendering in the whole
  54994. * plotting area.
  54995. *
  54996. * **Note:** Clipping should be always enabled when chart.zoomType is set
  54997. */
  54998. clip?: boolean;
  54999. /**
  55000. * (Highstock) The main color of the series. In line type series it applies
  55001. * to the line and the point markers unless otherwise specified. In bar type
  55002. * series it applies to the bars unless a color is specified per point. The
  55003. * default value is pulled from the `options.colors` array.
  55004. *
  55005. * In styled mode, the color can be defined by the colorIndex option. Also,
  55006. * the series color can be set with the `.highcharts-series`,
  55007. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  55008. * `.highcharts-series-{n}` class, or individual classes given by the
  55009. * `className` option.
  55010. */
  55011. color?: (ColorString|GradientColorObject|PatternObject);
  55012. /**
  55013. * (Highstock) Styled mode only. A specific color index to use for the
  55014. * series, so its graphic representations are given the class name
  55015. * `highcharts-color-{n}`.
  55016. */
  55017. colorIndex?: number;
  55018. /**
  55019. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  55020. * used to calculate point color if `colorAxis` is used. Requires to set
  55021. * `min` and `max` if some custom point property is used or if approximation
  55022. * for data grouping is set to `'sum'`.
  55023. */
  55024. colorKey?: string;
  55025. /**
  55026. * (Highstock) Compare the values of the series against the first non-null,
  55027. * non- zero value in the visible range. The y axis will show percentage or
  55028. * absolute change depending on whether `compare` is set to `"percent"` or
  55029. * `"value"`. When this is applied to multiple series, it allows comparing
  55030. * the development of the series against each other. Adds a `change` field
  55031. * to every point object.
  55032. */
  55033. compare?: string;
  55034. /**
  55035. * (Highstock) When compare is `percent`, this option dictates whether to
  55036. * use 0 or 100 as the base of comparison.
  55037. */
  55038. compareBase?: (0|100);
  55039. /**
  55040. * (Highstock) Defines if comparison should start from the first point
  55041. * within the visible range or should start from the first point **before**
  55042. * the range.
  55043. *
  55044. * In other words, this flag determines if first point within the visible
  55045. * range will have 0% (`compareStart=true`) or should have been already
  55046. * calculated according to the previous point (`compareStart=false`).
  55047. */
  55048. compareStart?: boolean;
  55049. /**
  55050. * (Highstock) Whether to compare indicator to the main series values or
  55051. * indicator values.
  55052. */
  55053. compareToMain?: boolean;
  55054. /**
  55055. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  55056. * series plot across the extremes.
  55057. */
  55058. connectEnds?: boolean;
  55059. /**
  55060. * (Highcharts, Highstock) Whether to connect a graph line across null
  55061. * points, or render a gap between the two points on either side of the
  55062. * null.
  55063. */
  55064. connectNulls?: boolean;
  55065. /**
  55066. * (Gantt) Override Pathfinder connector options for a series. Requires
  55067. * Highcharts Gantt to be loaded.
  55068. */
  55069. connectors?: SeriesConnectorsOptionsObject;
  55070. /**
  55071. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  55072. * rounded to its nearest pixel in order to render sharp on screen. In some
  55073. * cases, when there are a lot of densely packed columns, this leads to
  55074. * visible difference in column widths or distance between columns. In these
  55075. * cases, setting `crisp` to `false` may look better, even though each
  55076. * column is rendered blurry.
  55077. */
  55078. crisp?: boolean;
  55079. /**
  55080. * (Highcharts, Highstock) When the series contains less points than the
  55081. * crop threshold, all points are drawn, even if the points fall outside the
  55082. * visible plot area at the current zoom. The advantage of drawing all
  55083. * points (including markers and columns), is that animation is performed on
  55084. * updates. On the other hand, when the series contains more points than the
  55085. * crop threshold, the series data is cropped to only contain points that
  55086. * fall within the plot area. The advantage of cropping away invisible
  55087. * points is to increase performance on large series.
  55088. */
  55089. cropThreshold?: number;
  55090. /**
  55091. * (Highstock) You can set the cursor to "pointer" if you have click events
  55092. * attached to the series, to signal to the user that the points and lines
  55093. * can be clicked.
  55094. *
  55095. * In styled mode, the series cursor can be set with the same classes as
  55096. * listed under series.color.
  55097. */
  55098. cursor?: (string|CursorValue);
  55099. /**
  55100. * (Highstock) A reserved subspace to store options and values for
  55101. * customized functionality. Here you can add additional data for your own
  55102. * event callbacks and formatter callbacks.
  55103. */
  55104. custom?: Dictionary<any>;
  55105. /**
  55106. * (Highstock) Name of the dash style to use for the graph, or for some
  55107. * series types the outline of each shape.
  55108. *
  55109. * In styled mode, the stroke dash-array can be set with the same classes as
  55110. * listed under series.color.
  55111. */
  55112. dashStyle?: DashStyleValue;
  55113. /**
  55114. * (Highstock) Data grouping is the concept of sampling the data values into
  55115. * larger blocks in order to ease readability and increase performance of
  55116. * the JavaScript charts. Highcharts Stock by default applies data grouping
  55117. * when the points become closer than a certain pixel value, determined by
  55118. * the `groupPixelWidth` option.
  55119. *
  55120. * If data grouping is applied, the grouping information of grouped points
  55121. * can be read from the Point.dataGroup. If point options other than the
  55122. * data itself are set, for example `name` or `color` or custom properties,
  55123. * the grouping logic doesn't know how to group it. In this case the options
  55124. * of the first point instance are copied over to the group point. This can
  55125. * be altered through a custom `approximation` callback function.
  55126. */
  55127. dataGrouping?: DataGroupingOptionsObject;
  55128. /**
  55129. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  55130. * labels, appearing next to each data point.
  55131. *
  55132. * Since v6.2.0, multiple data labels can be applied to each single point by
  55133. * defining them as an array of configs.
  55134. *
  55135. * In styled mode, the data labels can be styled with the
  55136. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  55137. * (see example).
  55138. */
  55139. dataLabels?: (PlotLinearregressioninterceptDataLabelsOptions|Array<PlotLinearregressioninterceptDataLabelsOptions>);
  55140. /**
  55141. * (Highcharts, Highstock) Options for the series data sorting.
  55142. */
  55143. dataSorting?: (DataSortingOptionsObject|PlotLinearregressioninterceptDataSortingOptions);
  55144. /**
  55145. * (Highstock) A description of the series to add to the screen reader
  55146. * information about the series.
  55147. */
  55148. description?: string;
  55149. /**
  55150. * (Highstock) Enable or disable the mouse tracking for a specific series.
  55151. * This includes point tooltips and click events on graphs and points. For
  55152. * large datasets it improves performance.
  55153. */
  55154. enableMouseTracking?: boolean;
  55155. /**
  55156. * (Highstock) General event handlers for the series items. These event
  55157. * hooks can also be attached to the series at run time using the
  55158. * `Highcharts.addEvent` function.
  55159. */
  55160. events?: SeriesEventsOptionsObject;
  55161. /**
  55162. * (Highstock) Determines whether the series should look for the nearest
  55163. * point in both dimensions or just the x-dimension when hovering the
  55164. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  55165. * series. If the data has duplicate x-values, it is recommended to set this
  55166. * to `'xy'` to allow hovering over all points.
  55167. *
  55168. * Applies only to series types using nearest neighbor search (not direct
  55169. * hover) for tooltip.
  55170. */
  55171. findNearestPointBy?: OptionsFindNearestPointByValue;
  55172. /**
  55173. * (Highstock) Defines when to display a gap in the graph, together with the
  55174. * gapUnit option.
  55175. *
  55176. * In case when `dataGrouping` is enabled, points can be grouped into a
  55177. * larger time span. This can make the grouped points to have a greater
  55178. * distance than the absolute value of `gapSize` property, which will result
  55179. * in disappearing graph completely. To prevent this situation the mentioned
  55180. * distance between grouped points is used instead of previously defined
  55181. * `gapSize`.
  55182. *
  55183. * In practice, this option is most often used to visualize gaps in time
  55184. * series. In a stock chart, intraday data is available for daytime hours,
  55185. * while gaps will appear in nights and weekends.
  55186. */
  55187. gapSize?: number;
  55188. /**
  55189. * (Highstock) Together with gapSize, this option defines where to draw gaps
  55190. * in the graph.
  55191. *
  55192. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  55193. * if the distance between two points is greater than 5 times that of the
  55194. * two closest points, the graph will be broken.
  55195. *
  55196. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  55197. * values, which on a datetime axis is milliseconds. This also applies to
  55198. * the navigator series that inherits gap options from the base series.
  55199. */
  55200. gapUnit?: OptionsGapUnitValue;
  55201. /**
  55202. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  55203. * chart width or only the zoomed area when zooming in on parts of the X
  55204. * axis. By default, the Y axis adjusts to the min and max of the visible
  55205. * data. Cartesian series only.
  55206. */
  55207. getExtremesFromAll?: boolean;
  55208. /**
  55209. * (Highstock) When set to `false` will prevent the series data from being
  55210. * included in any form of data export.
  55211. *
  55212. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  55213. * `includeInCSVExport`.
  55214. */
  55215. includeInDataExport?: boolean;
  55216. /**
  55217. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  55218. * series as possible in a natural way, seeking to avoid other series. The
  55219. * goal of this feature is to make the chart more easily readable, like if a
  55220. * human designer placed the labels in the optimal position.
  55221. *
  55222. * The series labels currently work with series types having a `graph` or an
  55223. * `area`.
  55224. */
  55225. label?: SeriesLabelOptionsObject;
  55226. /**
  55227. * (Highstock) The line marks the last price from all points.
  55228. */
  55229. lastPrice?: SeriesLastPriceOptionsObject;
  55230. /**
  55231. * (Highstock) The line marks the last price from visible range of points.
  55232. */
  55233. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  55234. /**
  55235. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  55236. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  55237. * the ends and bends.
  55238. */
  55239. linecap?: SeriesLinecapValue;
  55240. /**
  55241. * (Highcharts, Highstock) Pixel width of the graph line.
  55242. */
  55243. lineWidth?: number;
  55244. /**
  55245. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  55246. * based on. Required for this indicator.
  55247. */
  55248. linkedTo?: string;
  55249. /**
  55250. * (Highstock) Options for the point markers of line-like series. Properties
  55251. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  55252. * appearance of the markers. Other series types, like column series, don't
  55253. * have markers, but have visual options on the series level instead.
  55254. *
  55255. * In styled mode, the markers can be styled with the `.highcharts-point`,
  55256. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  55257. */
  55258. marker?: PointMarkerOptionsObject;
  55259. /**
  55260. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  55261. * If not set, it will be based on a technical indicator type and default
  55262. * params.
  55263. */
  55264. name?: string;
  55265. /**
  55266. * (Highstock) The color for the parts of the graph or points that are below
  55267. * the threshold. Note that `zones` takes precedence over the negative
  55268. * color. Using `negativeColor` is equivalent to applying a zone with value
  55269. * of 0.
  55270. */
  55271. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  55272. /**
  55273. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  55274. * dataLabels.
  55275. */
  55276. opacity?: number;
  55277. /**
  55278. * (Highstock) Paramters used in calculation of regression series' points.
  55279. */
  55280. params?: PlotLinearregressioninterceptParamsOptions;
  55281. /**
  55282. * (Highstock) Properties for each single point.
  55283. */
  55284. point?: PlotSeriesPointOptions;
  55285. /**
  55286. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  55287. * individual series. Overrides the chart wide configuration.
  55288. */
  55289. pointDescriptionFormatter?: Function;
  55290. /**
  55291. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  55292. * true, the checkbox next to the series name in the legend will be checked
  55293. * for a selected series.
  55294. */
  55295. selected?: boolean;
  55296. /**
  55297. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  55298. * the shadow can be an object configuration containing `color`, `offsetX`,
  55299. * `offsetY`, `opacity` and `width`.
  55300. */
  55301. shadow?: (boolean|ShadowOptionsObject);
  55302. /**
  55303. * (Highstock) If true, a checkbox is displayed next to the legend item to
  55304. * allow selecting the series. The state of the checkbox is determined by
  55305. * the `selected` option.
  55306. */
  55307. showCheckbox?: boolean;
  55308. /**
  55309. * (Highstock) Whether to display this particular series or series type in
  55310. * the legend. Standalone series are shown in legend by default, and linked
  55311. * series are not. Since v7.2.0 it is possible to show series that use
  55312. * colorAxis by setting this option to `true`.
  55313. */
  55314. showInLegend?: boolean;
  55315. /**
  55316. * (Highstock) If set to `true`, the accessibility module will skip past the
  55317. * points in this series for keyboard navigation.
  55318. */
  55319. skipKeyboardNavigation?: boolean;
  55320. /**
  55321. * (Highcharts, Highstock) When this is true, the series will not cause the
  55322. * Y axis to cross the zero plane (or threshold option) unless the data
  55323. * actually crosses the plane.
  55324. *
  55325. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  55326. * make the Y axis show negative values according to the `minPadding`
  55327. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  55328. */
  55329. softThreshold?: boolean;
  55330. states?: SeriesStatesOptionsObject;
  55331. /**
  55332. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  55333. * values are `left`, `center` and `right`.
  55334. */
  55335. step?: OptionsStepValue;
  55336. /**
  55337. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  55338. * event on a series isn't triggered until the mouse moves over another
  55339. * series, or out of the plot area. When false, the `mouseOut` event on a
  55340. * series is triggered when the mouse leaves the area around the series'
  55341. * graph or markers. This also implies the tooltip when not shared. When
  55342. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  55343. * be hidden when moving the mouse between series. Defaults to true for line
  55344. * and area type series, but to false for columns, pies etc.
  55345. *
  55346. * **Note:** The boost module will force this option because of technical
  55347. * limitations.
  55348. */
  55349. stickyTracking?: boolean;
  55350. /**
  55351. * (Highcharts, Highstock) The threshold, also called zero level or base
  55352. * level. For line type series this is only used in conjunction with
  55353. * negativeColor.
  55354. */
  55355. threshold?: (number|null);
  55356. /**
  55357. * (Highstock) A configuration object for the tooltip rendering of each
  55358. * single series. Properties are inherited from tooltip, but only the
  55359. * following properties can be defined on a series level.
  55360. */
  55361. tooltip?: SeriesTooltipOptionsObject;
  55362. /**
  55363. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  55364. * is longer than this, only one dimensional arrays of numbers, or two
  55365. * dimensional arrays with x and y values are allowed. Also, only the first
  55366. * point is tested, and the rest are assumed to be the same format. This
  55367. * saves expensive data checking and indexing in long series. Set it to `0`
  55368. * disable.
  55369. *
  55370. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  55371. * two dimensional arrays are allowed.
  55372. */
  55373. turboThreshold?: number;
  55374. /**
  55375. * (Highstock) Set the initial visibility of the series.
  55376. */
  55377. visible?: boolean;
  55378. /**
  55379. * (Highmaps) Define the z index of the series.
  55380. */
  55381. zIndex?: number;
  55382. /**
  55383. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  55384. */
  55385. zoneAxis?: string;
  55386. /**
  55387. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55388. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55389. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55390. * regarding to the value.
  55391. *
  55392. * In styled mode, the color zones are styled with the
  55393. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55394. * option (view live demo).
  55395. */
  55396. zones?: Array<SeriesZonesOptionsObject>;
  55397. }
  55398. /**
  55399. * (Highstock) Paramters used in calculation of regression series' points.
  55400. */
  55401. export interface PlotLinearregressioninterceptParamsOptions {
  55402. /**
  55403. * (Highstock) The point index which indicator calculations will base. For
  55404. * example using OHLC data, index=2 means the indicator will be calculated
  55405. * using Low values.
  55406. */
  55407. index?: number;
  55408. /**
  55409. * (Highstock) The base period for indicator calculations. This is the
  55410. * number of data points which are taken into account for the indicator
  55411. * calculations.
  55412. */
  55413. period?: number;
  55414. /**
  55415. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  55416. * compute the regression line paramters (slope & intercept) for every
  55417. * range. In Highcharts Stock the x axis values are always represented in
  55418. * milliseconds which may cause that distances between points are "big"
  55419. * integer numbers.
  55420. *
  55421. * Highcharts Stock's linear regression algorithm (least squares method)
  55422. * will utilize these "big" integers for finding the slope and the intercept
  55423. * of the regression line for each period. In consequence, this value may be
  55424. * a very "small" decimal number that's hard to interpret by a human.
  55425. *
  55426. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  55427. * algorithm to treat `86400000` as `1` while computing the slope and the
  55428. * intercept. This may enchance the legiblitity of the indicator's values.
  55429. *
  55430. * Default value is the closest distance between two data points.
  55431. *
  55432. * In `v9.0.2`, the default value has been changed from `undefined` to
  55433. * `null`.
  55434. */
  55435. xAxisUnit?: (number|null);
  55436. }
  55437. /**
  55438. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  55439. * option to be set.
  55440. *
  55441. * In TypeScript the type option must always be set.
  55442. *
  55443. * Configuration options for the series are given in three levels:
  55444. *
  55445. * 1. Options for all series in a chart are defined in the plotOptions.series
  55446. * object.
  55447. *
  55448. * 2. Options for all `linearregression` series are defined in
  55449. * plotOptions.linearregression.
  55450. *
  55451. * 3. Options for one single series are given in the series instance array. (see
  55452. * online documentation for example)
  55453. */
  55454. export interface PlotLinearregressionOptions {
  55455. /**
  55456. * (Highstock) Accessibility options for a series.
  55457. */
  55458. accessibility?: SeriesAccessibilityOptionsObject;
  55459. /**
  55460. * (Highstock) Allow this series' points to be selected by clicking on the
  55461. * graphic (columns, point markers, pie slices, map areas etc).
  55462. *
  55463. * The selected points can be handled by point select and unselect events,
  55464. * or collectively by the getSelectedPoints function.
  55465. *
  55466. * And alternative way of selecting points is through dragging.
  55467. */
  55468. allowPointSelect?: boolean;
  55469. /**
  55470. * (Highstock) Enable or disable the initial animation when a series is
  55471. * displayed. The animation can also be set as a configuration object.
  55472. * Please note that this option only applies to the initial animation of the
  55473. * series itself. For other animations, see chart.animation and the
  55474. * animation parameter under the API methods. The following properties are
  55475. * supported:
  55476. *
  55477. * - `defer`: The animation delay time in milliseconds.
  55478. *
  55479. * - `duration`: The duration of the animation in milliseconds.
  55480. *
  55481. * - `easing`: Can be a string reference to an easing function set on the
  55482. * `Math` object or a function. See the _Custom easing function_ demo below.
  55483. *
  55484. * Due to poor performance, animation is disabled in old IE browsers for
  55485. * several chart types.
  55486. */
  55487. animation?: (boolean|PlotLinearregressionAnimationOptions|Partial<AnimationOptionsObject>);
  55488. /**
  55489. * (Highstock) For some series, there is a limit that shuts down initial
  55490. * animation by default when the total number of points in the chart is too
  55491. * high. For example, for a column chart and its derivatives, animation does
  55492. * not run if there is more than 250 points totally. To disable this cap,
  55493. * set `animationLimit` to `Infinity`.
  55494. */
  55495. animationLimit?: number;
  55496. /**
  55497. * (Highstock) Sets the color blending in the boost module.
  55498. */
  55499. boostBlending?: OptionsBoostBlendingValue;
  55500. /**
  55501. * (Highstock) Set the point threshold for when a series should enter boost
  55502. * mode.
  55503. *
  55504. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  55505. * there are 2000 or more points in the series.
  55506. *
  55507. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  55508. * it to 1 will force boosting.
  55509. *
  55510. * Note that the cropThreshold also affects this setting. When zooming in on
  55511. * a series that has fewer points than the `cropThreshold`, all points are
  55512. * rendered although outside the visible plot area, and the `boostThreshold`
  55513. * won't take effect.
  55514. */
  55515. boostThreshold?: number;
  55516. /**
  55517. * (Highmaps) The border color of the map areas.
  55518. *
  55519. * In styled mode, the border stroke is given in the `.highcharts-point`
  55520. * class.
  55521. */
  55522. borderColor?: (ColorString|GradientColorObject|PatternObject);
  55523. /**
  55524. * (Highmaps) The border width of each map area.
  55525. *
  55526. * In styled mode, the border stroke width is given in the
  55527. * `.highcharts-point` class.
  55528. */
  55529. borderWidth?: number;
  55530. /**
  55531. * (Highstock) An additional class name to apply to the series' graphical
  55532. * elements. This option does not replace default class names of the
  55533. * graphical element.
  55534. */
  55535. className?: string;
  55536. /**
  55537. * (Highstock) Disable this option to allow series rendering in the whole
  55538. * plotting area.
  55539. *
  55540. * **Note:** Clipping should be always enabled when chart.zoomType is set
  55541. */
  55542. clip?: boolean;
  55543. /**
  55544. * (Highstock) The main color of the series. In line type series it applies
  55545. * to the line and the point markers unless otherwise specified. In bar type
  55546. * series it applies to the bars unless a color is specified per point. The
  55547. * default value is pulled from the `options.colors` array.
  55548. *
  55549. * In styled mode, the color can be defined by the colorIndex option. Also,
  55550. * the series color can be set with the `.highcharts-series`,
  55551. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  55552. * `.highcharts-series-{n}` class, or individual classes given by the
  55553. * `className` option.
  55554. */
  55555. color?: (ColorString|GradientColorObject|PatternObject);
  55556. /**
  55557. * (Highstock) Styled mode only. A specific color index to use for the
  55558. * series, so its graphic representations are given the class name
  55559. * `highcharts-color-{n}`.
  55560. */
  55561. colorIndex?: number;
  55562. /**
  55563. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  55564. * used to calculate point color if `colorAxis` is used. Requires to set
  55565. * `min` and `max` if some custom point property is used or if approximation
  55566. * for data grouping is set to `'sum'`.
  55567. */
  55568. colorKey?: string;
  55569. /**
  55570. * (Highstock) Compare the values of the series against the first non-null,
  55571. * non- zero value in the visible range. The y axis will show percentage or
  55572. * absolute change depending on whether `compare` is set to `"percent"` or
  55573. * `"value"`. When this is applied to multiple series, it allows comparing
  55574. * the development of the series against each other. Adds a `change` field
  55575. * to every point object.
  55576. */
  55577. compare?: string;
  55578. /**
  55579. * (Highstock) When compare is `percent`, this option dictates whether to
  55580. * use 0 or 100 as the base of comparison.
  55581. */
  55582. compareBase?: (0|100);
  55583. /**
  55584. * (Highstock) Defines if comparison should start from the first point
  55585. * within the visible range or should start from the first point **before**
  55586. * the range.
  55587. *
  55588. * In other words, this flag determines if first point within the visible
  55589. * range will have 0% (`compareStart=true`) or should have been already
  55590. * calculated according to the previous point (`compareStart=false`).
  55591. */
  55592. compareStart?: boolean;
  55593. /**
  55594. * (Highstock) Whether to compare indicator to the main series values or
  55595. * indicator values.
  55596. */
  55597. compareToMain?: boolean;
  55598. /**
  55599. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  55600. * series plot across the extremes.
  55601. */
  55602. connectEnds?: boolean;
  55603. /**
  55604. * (Highcharts, Highstock) Whether to connect a graph line across null
  55605. * points, or render a gap between the two points on either side of the
  55606. * null.
  55607. */
  55608. connectNulls?: boolean;
  55609. /**
  55610. * (Gantt) Override Pathfinder connector options for a series. Requires
  55611. * Highcharts Gantt to be loaded.
  55612. */
  55613. connectors?: SeriesConnectorsOptionsObject;
  55614. /**
  55615. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  55616. * rounded to its nearest pixel in order to render sharp on screen. In some
  55617. * cases, when there are a lot of densely packed columns, this leads to
  55618. * visible difference in column widths or distance between columns. In these
  55619. * cases, setting `crisp` to `false` may look better, even though each
  55620. * column is rendered blurry.
  55621. */
  55622. crisp?: boolean;
  55623. /**
  55624. * (Highcharts, Highstock) When the series contains less points than the
  55625. * crop threshold, all points are drawn, even if the points fall outside the
  55626. * visible plot area at the current zoom. The advantage of drawing all
  55627. * points (including markers and columns), is that animation is performed on
  55628. * updates. On the other hand, when the series contains more points than the
  55629. * crop threshold, the series data is cropped to only contain points that
  55630. * fall within the plot area. The advantage of cropping away invisible
  55631. * points is to increase performance on large series.
  55632. */
  55633. cropThreshold?: number;
  55634. /**
  55635. * (Highstock) You can set the cursor to "pointer" if you have click events
  55636. * attached to the series, to signal to the user that the points and lines
  55637. * can be clicked.
  55638. *
  55639. * In styled mode, the series cursor can be set with the same classes as
  55640. * listed under series.color.
  55641. */
  55642. cursor?: (string|CursorValue);
  55643. /**
  55644. * (Highstock) A reserved subspace to store options and values for
  55645. * customized functionality. Here you can add additional data for your own
  55646. * event callbacks and formatter callbacks.
  55647. */
  55648. custom?: Dictionary<any>;
  55649. /**
  55650. * (Highstock) Name of the dash style to use for the graph, or for some
  55651. * series types the outline of each shape.
  55652. *
  55653. * In styled mode, the stroke dash-array can be set with the same classes as
  55654. * listed under series.color.
  55655. */
  55656. dashStyle?: DashStyleValue;
  55657. /**
  55658. * (Highstock) Data grouping is the concept of sampling the data values into
  55659. * larger blocks in order to ease readability and increase performance of
  55660. * the JavaScript charts. Highcharts Stock by default applies data grouping
  55661. * when the points become closer than a certain pixel value, determined by
  55662. * the `groupPixelWidth` option.
  55663. *
  55664. * If data grouping is applied, the grouping information of grouped points
  55665. * can be read from the Point.dataGroup. If point options other than the
  55666. * data itself are set, for example `name` or `color` or custom properties,
  55667. * the grouping logic doesn't know how to group it. In this case the options
  55668. * of the first point instance are copied over to the group point. This can
  55669. * be altered through a custom `approximation` callback function.
  55670. */
  55671. dataGrouping?: DataGroupingOptionsObject;
  55672. /**
  55673. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  55674. * labels, appearing next to each data point.
  55675. *
  55676. * Since v6.2.0, multiple data labels can be applied to each single point by
  55677. * defining them as an array of configs.
  55678. *
  55679. * In styled mode, the data labels can be styled with the
  55680. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  55681. * (see example).
  55682. */
  55683. dataLabels?: (PlotLinearregressionDataLabelsOptions|Array<PlotLinearregressionDataLabelsOptions>);
  55684. /**
  55685. * (Highcharts, Highstock) Options for the series data sorting.
  55686. */
  55687. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionDataSortingOptions);
  55688. /**
  55689. * (Highstock) A description of the series to add to the screen reader
  55690. * information about the series.
  55691. */
  55692. description?: string;
  55693. /**
  55694. * (Highstock) Enable or disable the mouse tracking for a specific series.
  55695. * This includes point tooltips and click events on graphs and points. For
  55696. * large datasets it improves performance.
  55697. */
  55698. enableMouseTracking?: boolean;
  55699. /**
  55700. * (Highstock) General event handlers for the series items. These event
  55701. * hooks can also be attached to the series at run time using the
  55702. * `Highcharts.addEvent` function.
  55703. */
  55704. events?: SeriesEventsOptionsObject;
  55705. /**
  55706. * (Highstock) Determines whether the series should look for the nearest
  55707. * point in both dimensions or just the x-dimension when hovering the
  55708. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  55709. * series. If the data has duplicate x-values, it is recommended to set this
  55710. * to `'xy'` to allow hovering over all points.
  55711. *
  55712. * Applies only to series types using nearest neighbor search (not direct
  55713. * hover) for tooltip.
  55714. */
  55715. findNearestPointBy?: OptionsFindNearestPointByValue;
  55716. /**
  55717. * (Highstock) Defines when to display a gap in the graph, together with the
  55718. * gapUnit option.
  55719. *
  55720. * In case when `dataGrouping` is enabled, points can be grouped into a
  55721. * larger time span. This can make the grouped points to have a greater
  55722. * distance than the absolute value of `gapSize` property, which will result
  55723. * in disappearing graph completely. To prevent this situation the mentioned
  55724. * distance between grouped points is used instead of previously defined
  55725. * `gapSize`.
  55726. *
  55727. * In practice, this option is most often used to visualize gaps in time
  55728. * series. In a stock chart, intraday data is available for daytime hours,
  55729. * while gaps will appear in nights and weekends.
  55730. */
  55731. gapSize?: number;
  55732. /**
  55733. * (Highstock) Together with gapSize, this option defines where to draw gaps
  55734. * in the graph.
  55735. *
  55736. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  55737. * if the distance between two points is greater than 5 times that of the
  55738. * two closest points, the graph will be broken.
  55739. *
  55740. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  55741. * values, which on a datetime axis is milliseconds. This also applies to
  55742. * the navigator series that inherits gap options from the base series.
  55743. */
  55744. gapUnit?: OptionsGapUnitValue;
  55745. /**
  55746. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  55747. * chart width or only the zoomed area when zooming in on parts of the X
  55748. * axis. By default, the Y axis adjusts to the min and max of the visible
  55749. * data. Cartesian series only.
  55750. */
  55751. getExtremesFromAll?: boolean;
  55752. /**
  55753. * (Highstock) When set to `false` will prevent the series data from being
  55754. * included in any form of data export.
  55755. *
  55756. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  55757. * `includeInCSVExport`.
  55758. */
  55759. includeInDataExport?: boolean;
  55760. /**
  55761. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  55762. * series as possible in a natural way, seeking to avoid other series. The
  55763. * goal of this feature is to make the chart more easily readable, like if a
  55764. * human designer placed the labels in the optimal position.
  55765. *
  55766. * The series labels currently work with series types having a `graph` or an
  55767. * `area`.
  55768. */
  55769. label?: SeriesLabelOptionsObject;
  55770. /**
  55771. * (Highstock) The line marks the last price from all points.
  55772. */
  55773. lastPrice?: SeriesLastPriceOptionsObject;
  55774. /**
  55775. * (Highstock) The line marks the last price from visible range of points.
  55776. */
  55777. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  55778. /**
  55779. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  55780. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  55781. * the ends and bends.
  55782. */
  55783. linecap?: SeriesLinecapValue;
  55784. /**
  55785. * (Highcharts, Highstock) Pixel width of the graph line.
  55786. */
  55787. lineWidth?: number;
  55788. /**
  55789. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  55790. * based on. Required for this indicator.
  55791. */
  55792. linkedTo?: string;
  55793. /**
  55794. * (Highstock) Options for the point markers of line-like series. Properties
  55795. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  55796. * appearance of the markers. Other series types, like column series, don't
  55797. * have markers, but have visual options on the series level instead.
  55798. *
  55799. * In styled mode, the markers can be styled with the `.highcharts-point`,
  55800. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  55801. */
  55802. marker?: PointMarkerOptionsObject;
  55803. /**
  55804. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  55805. * If not set, it will be based on a technical indicator type and default
  55806. * params.
  55807. */
  55808. name?: string;
  55809. /**
  55810. * (Highstock) The color for the parts of the graph or points that are below
  55811. * the threshold. Note that `zones` takes precedence over the negative
  55812. * color. Using `negativeColor` is equivalent to applying a zone with value
  55813. * of 0.
  55814. */
  55815. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  55816. /**
  55817. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  55818. * dataLabels.
  55819. */
  55820. opacity?: number;
  55821. /**
  55822. * (Highstock) Paramters used in calculation of regression series' points.
  55823. */
  55824. params?: PlotLinearregressionParamsOptions;
  55825. /**
  55826. * (Highstock) Properties for each single point.
  55827. */
  55828. point?: PlotSeriesPointOptions;
  55829. /**
  55830. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  55831. * individual series. Overrides the chart wide configuration.
  55832. */
  55833. pointDescriptionFormatter?: Function;
  55834. /**
  55835. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  55836. * true, the checkbox next to the series name in the legend will be checked
  55837. * for a selected series.
  55838. */
  55839. selected?: boolean;
  55840. /**
  55841. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  55842. * the shadow can be an object configuration containing `color`, `offsetX`,
  55843. * `offsetY`, `opacity` and `width`.
  55844. */
  55845. shadow?: (boolean|ShadowOptionsObject);
  55846. /**
  55847. * (Highstock) If true, a checkbox is displayed next to the legend item to
  55848. * allow selecting the series. The state of the checkbox is determined by
  55849. * the `selected` option.
  55850. */
  55851. showCheckbox?: boolean;
  55852. /**
  55853. * (Highstock) Whether to display this particular series or series type in
  55854. * the legend. Standalone series are shown in legend by default, and linked
  55855. * series are not. Since v7.2.0 it is possible to show series that use
  55856. * colorAxis by setting this option to `true`.
  55857. */
  55858. showInLegend?: boolean;
  55859. /**
  55860. * (Highstock) If set to `true`, the accessibility module will skip past the
  55861. * points in this series for keyboard navigation.
  55862. */
  55863. skipKeyboardNavigation?: boolean;
  55864. /**
  55865. * (Highcharts, Highstock) When this is true, the series will not cause the
  55866. * Y axis to cross the zero plane (or threshold option) unless the data
  55867. * actually crosses the plane.
  55868. *
  55869. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  55870. * make the Y axis show negative values according to the `minPadding`
  55871. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  55872. */
  55873. softThreshold?: boolean;
  55874. states?: SeriesStatesOptionsObject;
  55875. /**
  55876. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  55877. * values are `left`, `center` and `right`.
  55878. */
  55879. step?: OptionsStepValue;
  55880. /**
  55881. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  55882. * event on a series isn't triggered until the mouse moves over another
  55883. * series, or out of the plot area. When false, the `mouseOut` event on a
  55884. * series is triggered when the mouse leaves the area around the series'
  55885. * graph or markers. This also implies the tooltip when not shared. When
  55886. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  55887. * be hidden when moving the mouse between series. Defaults to true for line
  55888. * and area type series, but to false for columns, pies etc.
  55889. *
  55890. * **Note:** The boost module will force this option because of technical
  55891. * limitations.
  55892. */
  55893. stickyTracking?: boolean;
  55894. /**
  55895. * (Highcharts, Highstock) The threshold, also called zero level or base
  55896. * level. For line type series this is only used in conjunction with
  55897. * negativeColor.
  55898. */
  55899. threshold?: (number|null);
  55900. /**
  55901. * (Highstock) A configuration object for the tooltip rendering of each
  55902. * single series. Properties are inherited from tooltip, but only the
  55903. * following properties can be defined on a series level.
  55904. */
  55905. tooltip?: SeriesTooltipOptionsObject;
  55906. /**
  55907. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  55908. * is longer than this, only one dimensional arrays of numbers, or two
  55909. * dimensional arrays with x and y values are allowed. Also, only the first
  55910. * point is tested, and the rest are assumed to be the same format. This
  55911. * saves expensive data checking and indexing in long series. Set it to `0`
  55912. * disable.
  55913. *
  55914. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  55915. * two dimensional arrays are allowed.
  55916. */
  55917. turboThreshold?: number;
  55918. /**
  55919. * (Highstock) Set the initial visibility of the series.
  55920. */
  55921. visible?: boolean;
  55922. /**
  55923. * (Highmaps) Define the z index of the series.
  55924. */
  55925. zIndex?: number;
  55926. /**
  55927. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  55928. */
  55929. zoneAxis?: string;
  55930. /**
  55931. * (Highcharts, Highstock) An array defining zones within a series. Zones
  55932. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  55933. * the `zoneAxis` option. The zone definitions have to be in ascending order
  55934. * regarding to the value.
  55935. *
  55936. * In styled mode, the color zones are styled with the
  55937. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  55938. * option (view live demo).
  55939. */
  55940. zones?: Array<SeriesZonesOptionsObject>;
  55941. }
  55942. /**
  55943. * (Highstock) Paramters used in calculation of regression series' points.
  55944. */
  55945. export interface PlotLinearregressionParamsOptions {
  55946. /**
  55947. * (Highstock) The point index which indicator calculations will base. For
  55948. * example using OHLC data, index=2 means the indicator will be calculated
  55949. * using Low values.
  55950. */
  55951. index?: number;
  55952. /**
  55953. * (Highstock) The base period for indicator calculations. This is the
  55954. * number of data points which are taken into account for the indicator
  55955. * calculations.
  55956. */
  55957. period?: number;
  55958. /**
  55959. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  55960. * compute the regression line paramters (slope & intercept) for every
  55961. * range. In Highcharts Stock the x axis values are always represented in
  55962. * milliseconds which may cause that distances between points are "big"
  55963. * integer numbers.
  55964. *
  55965. * Highcharts Stock's linear regression algorithm (least squares method)
  55966. * will utilize these "big" integers for finding the slope and the intercept
  55967. * of the regression line for each period. In consequence, this value may be
  55968. * a very "small" decimal number that's hard to interpret by a human.
  55969. *
  55970. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  55971. * algorithm to treat `86400000` as `1` while computing the slope and the
  55972. * intercept. This may enchance the legiblitity of the indicator's values.
  55973. *
  55974. * Default value is the closest distance between two data points.
  55975. *
  55976. * In `v9.0.2`, the default value has been changed from `undefined` to
  55977. * `null`.
  55978. */
  55979. xAxisUnit?: (number|null);
  55980. }
  55981. /**
  55982. * (Highstock) Enable or disable the initial animation when a series is
  55983. * displayed. The animation can also be set as a configuration object. Please
  55984. * note that this option only applies to the initial animation of the series
  55985. * itself. For other animations, see chart.animation and the animation parameter
  55986. * under the API methods. The following properties are supported:
  55987. *
  55988. * - `defer`: The animation delay time in milliseconds.
  55989. *
  55990. * - `duration`: The duration of the animation in milliseconds.
  55991. *
  55992. * - `easing`: Can be a string reference to an easing function set on the `Math`
  55993. * object or a function. See the _Custom easing function_ demo below.
  55994. *
  55995. * Due to poor performance, animation is disabled in old IE browsers for several
  55996. * chart types.
  55997. */
  55998. export interface PlotLinearregressionslopeAnimationOptions {
  55999. defer?: number;
  56000. }
  56001. /**
  56002. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56003. * animation when a series is displayed for the `dataLabels`. The animation can
  56004. * also be set as a configuration object. Please note that this option only
  56005. * applies to the initial animation. For other animations, see chart.animation
  56006. * and the animation parameter under the API methods. The following properties
  56007. * are supported:
  56008. *
  56009. * - `defer`: The animation delay time in milliseconds.
  56010. */
  56011. export interface PlotLinearregressionslopeDataLabelsAnimationOptions {
  56012. /**
  56013. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  56014. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  56015. * inherits defer time from the series.animation.defer.
  56016. */
  56017. defer?: number;
  56018. }
  56019. /**
  56020. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  56021. * appearing next to each data point.
  56022. *
  56023. * Since v6.2.0, multiple data labels can be applied to each single point by
  56024. * defining them as an array of configs.
  56025. *
  56026. * In styled mode, the data labels can be styled with the
  56027. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  56028. * example).
  56029. */
  56030. export interface PlotLinearregressionslopeDataLabelsOptions {
  56031. /**
  56032. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  56033. * compared to the point. If `right`, the right side of the label should be
  56034. * touching the point. For points with an extent, like columns, the
  56035. * alignments also dictates how to align it inside the box, as given with
  56036. * the inside option. Can be one of `left`, `center` or `right`.
  56037. */
  56038. align?: (AlignValue|null);
  56039. /**
  56040. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  56041. * overlap. To make the labels less sensitive for overlapping, the
  56042. * dataLabels.padding can be set to 0.
  56043. */
  56044. allowOverlap?: boolean;
  56045. /**
  56046. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56047. * animation when a series is displayed for the `dataLabels`. The animation
  56048. * can also be set as a configuration object. Please note that this option
  56049. * only applies to the initial animation. For other animations, see
  56050. * chart.animation and the animation parameter under the API methods. The
  56051. * following properties are supported:
  56052. *
  56053. * - `defer`: The animation delay time in milliseconds.
  56054. */
  56055. animation?: (boolean|PlotLinearregressionslopeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56056. /**
  56057. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56058. * for the data label.
  56059. */
  56060. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56061. /**
  56062. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56063. * label. Defaults to `undefined`.
  56064. */
  56065. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56066. /**
  56067. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56068. * the data label.
  56069. */
  56070. borderRadius?: number;
  56071. /**
  56072. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56073. * the data label.
  56074. */
  56075. borderWidth?: number;
  56076. /**
  56077. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56078. * Particularly in styled mode, this can be used to give each series' or
  56079. * point's data label unique styling. In addition to this option, a default
  56080. * color class name is added so that we can give the labels a contrast text
  56081. * shadow.
  56082. */
  56083. className?: string;
  56084. /**
  56085. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56086. * labels. Defaults to `undefined`. For certain series types, like column or
  56087. * map, the data labels can be drawn inside the points. In this case the
  56088. * data label will be drawn with maximum contrast by default. Additionally,
  56089. * it will be given a `text-outline` style with the opposite color, to
  56090. * further increase the contrast. This can be overridden by setting the
  56091. * `text-outline` style to `none` in the `dataLabels.style` option.
  56092. */
  56093. color?: (ColorString|GradientColorObject|PatternObject);
  56094. /**
  56095. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56096. * are outside the plot area. By default, the data label is moved inside the
  56097. * plot area according to the overflow option.
  56098. */
  56099. crop?: boolean;
  56100. /**
  56101. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  56102. * labels until the initial series animation has finished. Setting to
  56103. * `false` renders the data label immediately. If set to `true` inherits the
  56104. * defer time set in plotOptions.series.animation. If set to a number, a
  56105. * defer time is specified in milliseconds.
  56106. */
  56107. defer?: (boolean|number);
  56108. /**
  56109. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  56110. * labels.
  56111. */
  56112. enabled?: boolean;
  56113. /**
  56114. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  56115. * of which data labels to display. The declarative filter is designed for
  56116. * use when callback functions are not available, like when the chart
  56117. * options require a pure JSON structure or for use with graphical editors.
  56118. * For programmatic control, use the `formatter` instead, and return
  56119. * `undefined` to disable a single data label.
  56120. */
  56121. filter?: DataLabelsFilterOptionsObject;
  56122. /**
  56123. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  56124. * label. Available variables are the same as for `formatter`.
  56125. */
  56126. format?: string;
  56127. /**
  56128. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  56129. * format the data label. Note that if a `format` is defined, the format
  56130. * takes precedence and the formatter is ignored.
  56131. */
  56132. formatter?: DataLabelsFormatterCallbackFunction;
  56133. /**
  56134. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  56135. * columns or map areas, whether to align the data label inside the box or
  56136. * to the actual value point. Defaults to `false` in most cases, `true` in
  56137. * stacked columns.
  56138. */
  56139. inside?: boolean;
  56140. /**
  56141. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  56142. * of null. Works analogously to format. `nullFormat` can be applied only to
  56143. * series which support displaying null points.
  56144. */
  56145. nullFormat?: (boolean|string);
  56146. /**
  56147. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  56148. * that defines formatting for points with the value of null. Works
  56149. * analogously to formatter. `nullPointFormatter` can be applied only to
  56150. * series which support displaying null points.
  56151. */
  56152. nullFormatter?: DataLabelsFormatterCallbackFunction;
  56153. /**
  56154. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  56155. * flow outside the plot area. The default is `"justify"`, which aligns them
  56156. * inside the plot area. For columns and bars, this means it will be moved
  56157. * inside the bar. To display data labels outside the plot area, set `crop`
  56158. * to `false` and `overflow` to `"allow"`.
  56159. */
  56160. overflow?: DataLabelsOverflowValue;
  56161. /**
  56162. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  56163. * the `backgroundColor` is set, this is the padding within the box.
  56164. */
  56165. padding?: number;
  56166. /**
  56167. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  56168. * points. If `center` alignment is not possible, it defaults to `right`.
  56169. */
  56170. position?: AlignValue;
  56171. /**
  56172. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  56173. * that due to a more complex structure, backgrounds, borders and padding
  56174. * will be lost on a rotated data label.
  56175. */
  56176. rotation?: number;
  56177. /**
  56178. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  56179. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  56180. * an object configuration containing `color`, `offsetX`, `offsetY`,
  56181. * `opacity` and `width`.
  56182. */
  56183. shadow?: (boolean|ShadowOptionsObject);
  56184. /**
  56185. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  56186. * the border around the label. Symbols are predefined functions on the
  56187. * Renderer object.
  56188. */
  56189. shape?: string;
  56190. /**
  56191. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  56192. * default `color` setting is `"contrast"`, which is a pseudo color that
  56193. * Highcharts picks up and applies the maximum contrast to the underlying
  56194. * point item, for example the bar in a bar chart.
  56195. *
  56196. * The `textOutline` is a pseudo property that applies an outline of the
  56197. * given width with the given color, which by default is the maximum
  56198. * contrast to the text. So a bright text color will result in a black text
  56199. * outline for maximum readability on a mixed background. In some cases,
  56200. * especially with grayscale text, the text outline doesn't work well, in
  56201. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  56202. * is true, the `textOutline` will not be picked up. In this, case, the same
  56203. * effect can be acheived through the `text-shadow` CSS property.
  56204. *
  56205. * For some series types, where each point has an extent, like for example
  56206. * tree maps, the data label may overflow the point. There are two
  56207. * strategies for handling overflow. By default, the text will wrap to
  56208. * multiple lines. The other strategy is to set `style.textOverflow` to
  56209. * `ellipsis`, which will keep the text on one line plus it will break
  56210. * inside long words.
  56211. */
  56212. style?: CSSObject;
  56213. /**
  56214. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  56215. * should follow marker's shape. Border and background are disabled for a
  56216. * label that follows a path.
  56217. *
  56218. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  56219. * to true will disable this option.
  56220. */
  56221. textPath?: DataLabelsTextPathOptionsObject;
  56222. /**
  56223. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  56224. * the labels.
  56225. */
  56226. useHTML?: boolean;
  56227. /**
  56228. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  56229. * label. Can be one of `top`, `middle` or `bottom`. The default value
  56230. * depends on the data, for instance in a column chart, the label is above
  56231. * positive values and below negative values.
  56232. */
  56233. verticalAlign?: (VerticalAlignValue|null);
  56234. /**
  56235. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  56236. * label relative to the point in pixels.
  56237. */
  56238. x?: number;
  56239. /**
  56240. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  56241. * label relative to the point in pixels.
  56242. */
  56243. y?: number;
  56244. /**
  56245. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  56246. * The default Z index puts it above the series. Use a Z index of 2 to
  56247. * display it behind the series.
  56248. */
  56249. z?: number;
  56250. }
  56251. /**
  56252. * (Highcharts, Highstock) Options for the series data sorting.
  56253. */
  56254. export interface PlotLinearregressionslopeDataSortingOptions {
  56255. /**
  56256. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  56257. * Use xAxis.reversed to change the sorting order.
  56258. */
  56259. enabled?: boolean;
  56260. /**
  56261. * (Highcharts, Highstock) Whether to allow matching points by name in an
  56262. * update. If this option is disabled, points will be matched by order.
  56263. */
  56264. matchByName?: boolean;
  56265. /**
  56266. * (Highcharts, Highstock) Determines what data value should be used to sort
  56267. * by.
  56268. */
  56269. sortKey?: string;
  56270. }
  56271. /**
  56272. * (Highstock) Linear regression slope indicator. This series requires
  56273. * `linkedTo` option to be set.
  56274. *
  56275. * In TypeScript the type option must always be set.
  56276. *
  56277. * Configuration options for the series are given in three levels:
  56278. *
  56279. * 1. Options for all series in a chart are defined in the plotOptions.series
  56280. * object.
  56281. *
  56282. * 2. Options for all `linearregressionslope` series are defined in
  56283. * plotOptions.linearregressionslope.
  56284. *
  56285. * 3. Options for one single series are given in the series instance array. (see
  56286. * online documentation for example)
  56287. */
  56288. export interface PlotLinearregressionslopeOptions {
  56289. /**
  56290. * (Highstock) Accessibility options for a series.
  56291. */
  56292. accessibility?: SeriesAccessibilityOptionsObject;
  56293. /**
  56294. * (Highstock) Allow this series' points to be selected by clicking on the
  56295. * graphic (columns, point markers, pie slices, map areas etc).
  56296. *
  56297. * The selected points can be handled by point select and unselect events,
  56298. * or collectively by the getSelectedPoints function.
  56299. *
  56300. * And alternative way of selecting points is through dragging.
  56301. */
  56302. allowPointSelect?: boolean;
  56303. /**
  56304. * (Highstock) Enable or disable the initial animation when a series is
  56305. * displayed. The animation can also be set as a configuration object.
  56306. * Please note that this option only applies to the initial animation of the
  56307. * series itself. For other animations, see chart.animation and the
  56308. * animation parameter under the API methods. The following properties are
  56309. * supported:
  56310. *
  56311. * - `defer`: The animation delay time in milliseconds.
  56312. *
  56313. * - `duration`: The duration of the animation in milliseconds.
  56314. *
  56315. * - `easing`: Can be a string reference to an easing function set on the
  56316. * `Math` object or a function. See the _Custom easing function_ demo below.
  56317. *
  56318. * Due to poor performance, animation is disabled in old IE browsers for
  56319. * several chart types.
  56320. */
  56321. animation?: (boolean|PlotLinearregressionslopeAnimationOptions|Partial<AnimationOptionsObject>);
  56322. /**
  56323. * (Highstock) For some series, there is a limit that shuts down initial
  56324. * animation by default when the total number of points in the chart is too
  56325. * high. For example, for a column chart and its derivatives, animation does
  56326. * not run if there is more than 250 points totally. To disable this cap,
  56327. * set `animationLimit` to `Infinity`.
  56328. */
  56329. animationLimit?: number;
  56330. /**
  56331. * (Highstock) Sets the color blending in the boost module.
  56332. */
  56333. boostBlending?: OptionsBoostBlendingValue;
  56334. /**
  56335. * (Highstock) Set the point threshold for when a series should enter boost
  56336. * mode.
  56337. *
  56338. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  56339. * there are 2000 or more points in the series.
  56340. *
  56341. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  56342. * it to 1 will force boosting.
  56343. *
  56344. * Note that the cropThreshold also affects this setting. When zooming in on
  56345. * a series that has fewer points than the `cropThreshold`, all points are
  56346. * rendered although outside the visible plot area, and the `boostThreshold`
  56347. * won't take effect.
  56348. */
  56349. boostThreshold?: number;
  56350. /**
  56351. * (Highmaps) The border color of the map areas.
  56352. *
  56353. * In styled mode, the border stroke is given in the `.highcharts-point`
  56354. * class.
  56355. */
  56356. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56357. /**
  56358. * (Highmaps) The border width of each map area.
  56359. *
  56360. * In styled mode, the border stroke width is given in the
  56361. * `.highcharts-point` class.
  56362. */
  56363. borderWidth?: number;
  56364. /**
  56365. * (Highstock) An additional class name to apply to the series' graphical
  56366. * elements. This option does not replace default class names of the
  56367. * graphical element.
  56368. */
  56369. className?: string;
  56370. /**
  56371. * (Highstock) Disable this option to allow series rendering in the whole
  56372. * plotting area.
  56373. *
  56374. * **Note:** Clipping should be always enabled when chart.zoomType is set
  56375. */
  56376. clip?: boolean;
  56377. /**
  56378. * (Highstock) The main color of the series. In line type series it applies
  56379. * to the line and the point markers unless otherwise specified. In bar type
  56380. * series it applies to the bars unless a color is specified per point. The
  56381. * default value is pulled from the `options.colors` array.
  56382. *
  56383. * In styled mode, the color can be defined by the colorIndex option. Also,
  56384. * the series color can be set with the `.highcharts-series`,
  56385. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  56386. * `.highcharts-series-{n}` class, or individual classes given by the
  56387. * `className` option.
  56388. */
  56389. color?: (ColorString|GradientColorObject|PatternObject);
  56390. /**
  56391. * (Highstock) Styled mode only. A specific color index to use for the
  56392. * series, so its graphic representations are given the class name
  56393. * `highcharts-color-{n}`.
  56394. */
  56395. colorIndex?: number;
  56396. /**
  56397. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  56398. * used to calculate point color if `colorAxis` is used. Requires to set
  56399. * `min` and `max` if some custom point property is used or if approximation
  56400. * for data grouping is set to `'sum'`.
  56401. */
  56402. colorKey?: string;
  56403. /**
  56404. * (Highstock) Compare the values of the series against the first non-null,
  56405. * non- zero value in the visible range. The y axis will show percentage or
  56406. * absolute change depending on whether `compare` is set to `"percent"` or
  56407. * `"value"`. When this is applied to multiple series, it allows comparing
  56408. * the development of the series against each other. Adds a `change` field
  56409. * to every point object.
  56410. */
  56411. compare?: string;
  56412. /**
  56413. * (Highstock) When compare is `percent`, this option dictates whether to
  56414. * use 0 or 100 as the base of comparison.
  56415. */
  56416. compareBase?: (0|100);
  56417. /**
  56418. * (Highstock) Defines if comparison should start from the first point
  56419. * within the visible range or should start from the first point **before**
  56420. * the range.
  56421. *
  56422. * In other words, this flag determines if first point within the visible
  56423. * range will have 0% (`compareStart=true`) or should have been already
  56424. * calculated according to the previous point (`compareStart=false`).
  56425. */
  56426. compareStart?: boolean;
  56427. /**
  56428. * (Highstock) Whether to compare indicator to the main series values or
  56429. * indicator values.
  56430. */
  56431. compareToMain?: boolean;
  56432. /**
  56433. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  56434. * series plot across the extremes.
  56435. */
  56436. connectEnds?: boolean;
  56437. /**
  56438. * (Highcharts, Highstock) Whether to connect a graph line across null
  56439. * points, or render a gap between the two points on either side of the
  56440. * null.
  56441. */
  56442. connectNulls?: boolean;
  56443. /**
  56444. * (Gantt) Override Pathfinder connector options for a series. Requires
  56445. * Highcharts Gantt to be loaded.
  56446. */
  56447. connectors?: SeriesConnectorsOptionsObject;
  56448. /**
  56449. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  56450. * rounded to its nearest pixel in order to render sharp on screen. In some
  56451. * cases, when there are a lot of densely packed columns, this leads to
  56452. * visible difference in column widths or distance between columns. In these
  56453. * cases, setting `crisp` to `false` may look better, even though each
  56454. * column is rendered blurry.
  56455. */
  56456. crisp?: boolean;
  56457. /**
  56458. * (Highcharts, Highstock) When the series contains less points than the
  56459. * crop threshold, all points are drawn, even if the points fall outside the
  56460. * visible plot area at the current zoom. The advantage of drawing all
  56461. * points (including markers and columns), is that animation is performed on
  56462. * updates. On the other hand, when the series contains more points than the
  56463. * crop threshold, the series data is cropped to only contain points that
  56464. * fall within the plot area. The advantage of cropping away invisible
  56465. * points is to increase performance on large series.
  56466. */
  56467. cropThreshold?: number;
  56468. /**
  56469. * (Highstock) You can set the cursor to "pointer" if you have click events
  56470. * attached to the series, to signal to the user that the points and lines
  56471. * can be clicked.
  56472. *
  56473. * In styled mode, the series cursor can be set with the same classes as
  56474. * listed under series.color.
  56475. */
  56476. cursor?: (string|CursorValue);
  56477. /**
  56478. * (Highstock) A reserved subspace to store options and values for
  56479. * customized functionality. Here you can add additional data for your own
  56480. * event callbacks and formatter callbacks.
  56481. */
  56482. custom?: Dictionary<any>;
  56483. /**
  56484. * (Highstock) Name of the dash style to use for the graph, or for some
  56485. * series types the outline of each shape.
  56486. *
  56487. * In styled mode, the stroke dash-array can be set with the same classes as
  56488. * listed under series.color.
  56489. */
  56490. dashStyle?: DashStyleValue;
  56491. /**
  56492. * (Highstock) Data grouping is the concept of sampling the data values into
  56493. * larger blocks in order to ease readability and increase performance of
  56494. * the JavaScript charts. Highcharts Stock by default applies data grouping
  56495. * when the points become closer than a certain pixel value, determined by
  56496. * the `groupPixelWidth` option.
  56497. *
  56498. * If data grouping is applied, the grouping information of grouped points
  56499. * can be read from the Point.dataGroup. If point options other than the
  56500. * data itself are set, for example `name` or `color` or custom properties,
  56501. * the grouping logic doesn't know how to group it. In this case the options
  56502. * of the first point instance are copied over to the group point. This can
  56503. * be altered through a custom `approximation` callback function.
  56504. */
  56505. dataGrouping?: DataGroupingOptionsObject;
  56506. /**
  56507. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  56508. * labels, appearing next to each data point.
  56509. *
  56510. * Since v6.2.0, multiple data labels can be applied to each single point by
  56511. * defining them as an array of configs.
  56512. *
  56513. * In styled mode, the data labels can be styled with the
  56514. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  56515. * (see example).
  56516. */
  56517. dataLabels?: (PlotLinearregressionslopeDataLabelsOptions|Array<PlotLinearregressionslopeDataLabelsOptions>);
  56518. /**
  56519. * (Highcharts, Highstock) Options for the series data sorting.
  56520. */
  56521. dataSorting?: (DataSortingOptionsObject|PlotLinearregressionslopeDataSortingOptions);
  56522. /**
  56523. * (Highstock) A description of the series to add to the screen reader
  56524. * information about the series.
  56525. */
  56526. description?: string;
  56527. /**
  56528. * (Highstock) Enable or disable the mouse tracking for a specific series.
  56529. * This includes point tooltips and click events on graphs and points. For
  56530. * large datasets it improves performance.
  56531. */
  56532. enableMouseTracking?: boolean;
  56533. /**
  56534. * (Highstock) General event handlers for the series items. These event
  56535. * hooks can also be attached to the series at run time using the
  56536. * `Highcharts.addEvent` function.
  56537. */
  56538. events?: SeriesEventsOptionsObject;
  56539. /**
  56540. * (Highstock) Determines whether the series should look for the nearest
  56541. * point in both dimensions or just the x-dimension when hovering the
  56542. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  56543. * series. If the data has duplicate x-values, it is recommended to set this
  56544. * to `'xy'` to allow hovering over all points.
  56545. *
  56546. * Applies only to series types using nearest neighbor search (not direct
  56547. * hover) for tooltip.
  56548. */
  56549. findNearestPointBy?: OptionsFindNearestPointByValue;
  56550. /**
  56551. * (Highstock) Defines when to display a gap in the graph, together with the
  56552. * gapUnit option.
  56553. *
  56554. * In case when `dataGrouping` is enabled, points can be grouped into a
  56555. * larger time span. This can make the grouped points to have a greater
  56556. * distance than the absolute value of `gapSize` property, which will result
  56557. * in disappearing graph completely. To prevent this situation the mentioned
  56558. * distance between grouped points is used instead of previously defined
  56559. * `gapSize`.
  56560. *
  56561. * In practice, this option is most often used to visualize gaps in time
  56562. * series. In a stock chart, intraday data is available for daytime hours,
  56563. * while gaps will appear in nights and weekends.
  56564. */
  56565. gapSize?: number;
  56566. /**
  56567. * (Highstock) Together with gapSize, this option defines where to draw gaps
  56568. * in the graph.
  56569. *
  56570. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  56571. * if the distance between two points is greater than 5 times that of the
  56572. * two closest points, the graph will be broken.
  56573. *
  56574. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  56575. * values, which on a datetime axis is milliseconds. This also applies to
  56576. * the navigator series that inherits gap options from the base series.
  56577. */
  56578. gapUnit?: OptionsGapUnitValue;
  56579. /**
  56580. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  56581. * chart width or only the zoomed area when zooming in on parts of the X
  56582. * axis. By default, the Y axis adjusts to the min and max of the visible
  56583. * data. Cartesian series only.
  56584. */
  56585. getExtremesFromAll?: boolean;
  56586. /**
  56587. * (Highstock) When set to `false` will prevent the series data from being
  56588. * included in any form of data export.
  56589. *
  56590. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  56591. * `includeInCSVExport`.
  56592. */
  56593. includeInDataExport?: boolean;
  56594. /**
  56595. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  56596. * series as possible in a natural way, seeking to avoid other series. The
  56597. * goal of this feature is to make the chart more easily readable, like if a
  56598. * human designer placed the labels in the optimal position.
  56599. *
  56600. * The series labels currently work with series types having a `graph` or an
  56601. * `area`.
  56602. */
  56603. label?: SeriesLabelOptionsObject;
  56604. /**
  56605. * (Highstock) The line marks the last price from all points.
  56606. */
  56607. lastPrice?: SeriesLastPriceOptionsObject;
  56608. /**
  56609. * (Highstock) The line marks the last price from visible range of points.
  56610. */
  56611. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  56612. /**
  56613. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  56614. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  56615. * the ends and bends.
  56616. */
  56617. linecap?: SeriesLinecapValue;
  56618. /**
  56619. * (Highcharts, Highstock) Pixel width of the graph line.
  56620. */
  56621. lineWidth?: number;
  56622. /**
  56623. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  56624. * based on. Required for this indicator.
  56625. */
  56626. linkedTo?: string;
  56627. /**
  56628. * (Highstock) Options for the point markers of line-like series. Properties
  56629. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  56630. * appearance of the markers. Other series types, like column series, don't
  56631. * have markers, but have visual options on the series level instead.
  56632. *
  56633. * In styled mode, the markers can be styled with the `.highcharts-point`,
  56634. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  56635. */
  56636. marker?: PointMarkerOptionsObject;
  56637. /**
  56638. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  56639. * If not set, it will be based on a technical indicator type and default
  56640. * params.
  56641. */
  56642. name?: string;
  56643. /**
  56644. * (Highstock) The color for the parts of the graph or points that are below
  56645. * the threshold. Note that `zones` takes precedence over the negative
  56646. * color. Using `negativeColor` is equivalent to applying a zone with value
  56647. * of 0.
  56648. */
  56649. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  56650. /**
  56651. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  56652. * dataLabels.
  56653. */
  56654. opacity?: number;
  56655. /**
  56656. * (Highstock) Paramters used in calculation of regression series' points.
  56657. */
  56658. params?: PlotLinearregressionslopeParamsOptions;
  56659. /**
  56660. * (Highstock) Properties for each single point.
  56661. */
  56662. point?: PlotSeriesPointOptions;
  56663. /**
  56664. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  56665. * individual series. Overrides the chart wide configuration.
  56666. */
  56667. pointDescriptionFormatter?: Function;
  56668. /**
  56669. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  56670. * true, the checkbox next to the series name in the legend will be checked
  56671. * for a selected series.
  56672. */
  56673. selected?: boolean;
  56674. /**
  56675. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  56676. * the shadow can be an object configuration containing `color`, `offsetX`,
  56677. * `offsetY`, `opacity` and `width`.
  56678. */
  56679. shadow?: (boolean|ShadowOptionsObject);
  56680. /**
  56681. * (Highstock) If true, a checkbox is displayed next to the legend item to
  56682. * allow selecting the series. The state of the checkbox is determined by
  56683. * the `selected` option.
  56684. */
  56685. showCheckbox?: boolean;
  56686. /**
  56687. * (Highstock) Whether to display this particular series or series type in
  56688. * the legend. Standalone series are shown in legend by default, and linked
  56689. * series are not. Since v7.2.0 it is possible to show series that use
  56690. * colorAxis by setting this option to `true`.
  56691. */
  56692. showInLegend?: boolean;
  56693. /**
  56694. * (Highstock) If set to `true`, the accessibility module will skip past the
  56695. * points in this series for keyboard navigation.
  56696. */
  56697. skipKeyboardNavigation?: boolean;
  56698. /**
  56699. * (Highcharts, Highstock) When this is true, the series will not cause the
  56700. * Y axis to cross the zero plane (or threshold option) unless the data
  56701. * actually crosses the plane.
  56702. *
  56703. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  56704. * make the Y axis show negative values according to the `minPadding`
  56705. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  56706. */
  56707. softThreshold?: boolean;
  56708. states?: SeriesStatesOptionsObject;
  56709. /**
  56710. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  56711. * values are `left`, `center` and `right`.
  56712. */
  56713. step?: OptionsStepValue;
  56714. /**
  56715. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  56716. * event on a series isn't triggered until the mouse moves over another
  56717. * series, or out of the plot area. When false, the `mouseOut` event on a
  56718. * series is triggered when the mouse leaves the area around the series'
  56719. * graph or markers. This also implies the tooltip when not shared. When
  56720. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  56721. * be hidden when moving the mouse between series. Defaults to true for line
  56722. * and area type series, but to false for columns, pies etc.
  56723. *
  56724. * **Note:** The boost module will force this option because of technical
  56725. * limitations.
  56726. */
  56727. stickyTracking?: boolean;
  56728. /**
  56729. * (Highcharts, Highstock) The threshold, also called zero level or base
  56730. * level. For line type series this is only used in conjunction with
  56731. * negativeColor.
  56732. */
  56733. threshold?: (number|null);
  56734. /**
  56735. * (Highstock) A configuration object for the tooltip rendering of each
  56736. * single series. Properties are inherited from tooltip, but only the
  56737. * following properties can be defined on a series level.
  56738. */
  56739. tooltip?: SeriesTooltipOptionsObject;
  56740. /**
  56741. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  56742. * is longer than this, only one dimensional arrays of numbers, or two
  56743. * dimensional arrays with x and y values are allowed. Also, only the first
  56744. * point is tested, and the rest are assumed to be the same format. This
  56745. * saves expensive data checking and indexing in long series. Set it to `0`
  56746. * disable.
  56747. *
  56748. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  56749. * two dimensional arrays are allowed.
  56750. */
  56751. turboThreshold?: number;
  56752. /**
  56753. * (Highstock) Set the initial visibility of the series.
  56754. */
  56755. visible?: boolean;
  56756. /**
  56757. * (Highmaps) Define the z index of the series.
  56758. */
  56759. zIndex?: number;
  56760. /**
  56761. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  56762. */
  56763. zoneAxis?: string;
  56764. /**
  56765. * (Highcharts, Highstock) An array defining zones within a series. Zones
  56766. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  56767. * the `zoneAxis` option. The zone definitions have to be in ascending order
  56768. * regarding to the value.
  56769. *
  56770. * In styled mode, the color zones are styled with the
  56771. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  56772. * option (view live demo).
  56773. */
  56774. zones?: Array<SeriesZonesOptionsObject>;
  56775. }
  56776. /**
  56777. * (Highstock) Paramters used in calculation of regression series' points.
  56778. */
  56779. export interface PlotLinearregressionslopeParamsOptions {
  56780. /**
  56781. * (Highstock) The point index which indicator calculations will base. For
  56782. * example using OHLC data, index=2 means the indicator will be calculated
  56783. * using Low values.
  56784. */
  56785. index?: number;
  56786. /**
  56787. * (Highstock) The base period for indicator calculations. This is the
  56788. * number of data points which are taken into account for the indicator
  56789. * calculations.
  56790. */
  56791. period?: number;
  56792. /**
  56793. * (Highstock) Unit (in milliseconds) for the x axis distances used to
  56794. * compute the regression line paramters (slope & intercept) for every
  56795. * range. In Highcharts Stock the x axis values are always represented in
  56796. * milliseconds which may cause that distances between points are "big"
  56797. * integer numbers.
  56798. *
  56799. * Highcharts Stock's linear regression algorithm (least squares method)
  56800. * will utilize these "big" integers for finding the slope and the intercept
  56801. * of the regression line for each period. In consequence, this value may be
  56802. * a very "small" decimal number that's hard to interpret by a human.
  56803. *
  56804. * For instance: `xAxisUnit` equealed to `86400000` ms (1 day) forces the
  56805. * algorithm to treat `86400000` as `1` while computing the slope and the
  56806. * intercept. This may enchance the legiblitity of the indicator's values.
  56807. *
  56808. * Default value is the closest distance between two data points.
  56809. *
  56810. * In `v9.0.2`, the default value has been changed from `undefined` to
  56811. * `null`.
  56812. */
  56813. xAxisUnit?: (number|null);
  56814. }
  56815. /**
  56816. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56817. * animation when a series is displayed for the `dataLabels`. The animation can
  56818. * also be set as a configuration object. Please note that this option only
  56819. * applies to the initial animation. For other animations, see chart.animation
  56820. * and the animation parameter under the API methods. The following properties
  56821. * are supported:
  56822. *
  56823. * - `defer`: The animation delay time in milliseconds.
  56824. */
  56825. export interface PlotLineDataLabelsAnimationOptions {
  56826. /**
  56827. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  56828. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  56829. * inherits defer time from the series.animation.defer.
  56830. */
  56831. defer?: number;
  56832. }
  56833. /**
  56834. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  56835. * appearing next to each data point.
  56836. *
  56837. * Since v6.2.0, multiple data labels can be applied to each single point by
  56838. * defining them as an array of configs.
  56839. *
  56840. * In styled mode, the data labels can be styled with the
  56841. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  56842. * example).
  56843. */
  56844. export interface PlotLineDataLabelsOptions {
  56845. /**
  56846. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  56847. * compared to the point. If `right`, the right side of the label should be
  56848. * touching the point. For points with an extent, like columns, the
  56849. * alignments also dictates how to align it inside the box, as given with
  56850. * the inside option. Can be one of `left`, `center` or `right`.
  56851. */
  56852. align?: (AlignValue|null);
  56853. /**
  56854. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  56855. * overlap. To make the labels less sensitive for overlapping, the
  56856. * dataLabels.padding can be set to 0.
  56857. */
  56858. allowOverlap?: boolean;
  56859. /**
  56860. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  56861. * animation when a series is displayed for the `dataLabels`. The animation
  56862. * can also be set as a configuration object. Please note that this option
  56863. * only applies to the initial animation. For other animations, see
  56864. * chart.animation and the animation parameter under the API methods. The
  56865. * following properties are supported:
  56866. *
  56867. * - `defer`: The animation delay time in milliseconds.
  56868. */
  56869. animation?: (boolean|PlotLineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  56870. /**
  56871. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  56872. * for the data label.
  56873. */
  56874. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  56875. /**
  56876. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  56877. * label. Defaults to `undefined`.
  56878. */
  56879. borderColor?: (ColorString|GradientColorObject|PatternObject);
  56880. /**
  56881. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  56882. * the data label.
  56883. */
  56884. borderRadius?: number;
  56885. /**
  56886. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  56887. * the data label.
  56888. */
  56889. borderWidth?: number;
  56890. /**
  56891. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  56892. * Particularly in styled mode, this can be used to give each series' or
  56893. * point's data label unique styling. In addition to this option, a default
  56894. * color class name is added so that we can give the labels a contrast text
  56895. * shadow.
  56896. */
  56897. className?: string;
  56898. /**
  56899. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  56900. * labels. Defaults to `undefined`. For certain series types, like column or
  56901. * map, the data labels can be drawn inside the points. In this case the
  56902. * data label will be drawn with maximum contrast by default. Additionally,
  56903. * it will be given a `text-outline` style with the opposite color, to
  56904. * further increase the contrast. This can be overridden by setting the
  56905. * `text-outline` style to `none` in the `dataLabels.style` option.
  56906. */
  56907. color?: (ColorString|GradientColorObject|PatternObject);
  56908. /**
  56909. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  56910. * are outside the plot area. By default, the data label is moved inside the
  56911. * plot area according to the overflow option.
  56912. */
  56913. crop?: boolean;
  56914. /**
  56915. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  56916. * labels until the initial series animation has finished. Setting to
  56917. * `false` renders the data label immediately. If set to `true` inherits the
  56918. * defer time set in plotOptions.series.animation. If set to a number, a
  56919. * defer time is specified in milliseconds.
  56920. */
  56921. defer?: (boolean|number);
  56922. /**
  56923. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  56924. * labels.
  56925. */
  56926. enabled?: boolean;
  56927. /**
  56928. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  56929. * of which data labels to display. The declarative filter is designed for
  56930. * use when callback functions are not available, like when the chart
  56931. * options require a pure JSON structure or for use with graphical editors.
  56932. * For programmatic control, use the `formatter` instead, and return
  56933. * `undefined` to disable a single data label.
  56934. */
  56935. filter?: DataLabelsFilterOptionsObject;
  56936. /**
  56937. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  56938. * label. Available variables are the same as for `formatter`.
  56939. */
  56940. format?: string;
  56941. /**
  56942. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  56943. * format the data label. Note that if a `format` is defined, the format
  56944. * takes precedence and the formatter is ignored.
  56945. */
  56946. formatter?: DataLabelsFormatterCallbackFunction;
  56947. /**
  56948. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  56949. * columns or map areas, whether to align the data label inside the box or
  56950. * to the actual value point. Defaults to `false` in most cases, `true` in
  56951. * stacked columns.
  56952. */
  56953. inside?: boolean;
  56954. /**
  56955. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  56956. * of null. Works analogously to format. `nullFormat` can be applied only to
  56957. * series which support displaying null points.
  56958. */
  56959. nullFormat?: (boolean|string);
  56960. /**
  56961. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  56962. * that defines formatting for points with the value of null. Works
  56963. * analogously to formatter. `nullPointFormatter` can be applied only to
  56964. * series which support displaying null points.
  56965. */
  56966. nullFormatter?: DataLabelsFormatterCallbackFunction;
  56967. /**
  56968. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  56969. * flow outside the plot area. The default is `"justify"`, which aligns them
  56970. * inside the plot area. For columns and bars, this means it will be moved
  56971. * inside the bar. To display data labels outside the plot area, set `crop`
  56972. * to `false` and `overflow` to `"allow"`.
  56973. */
  56974. overflow?: DataLabelsOverflowValue;
  56975. /**
  56976. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  56977. * the `backgroundColor` is set, this is the padding within the box.
  56978. */
  56979. padding?: number;
  56980. /**
  56981. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  56982. * points. If `center` alignment is not possible, it defaults to `right`.
  56983. */
  56984. position?: AlignValue;
  56985. /**
  56986. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  56987. * that due to a more complex structure, backgrounds, borders and padding
  56988. * will be lost on a rotated data label.
  56989. */
  56990. rotation?: number;
  56991. /**
  56992. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  56993. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  56994. * an object configuration containing `color`, `offsetX`, `offsetY`,
  56995. * `opacity` and `width`.
  56996. */
  56997. shadow?: (boolean|ShadowOptionsObject);
  56998. /**
  56999. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  57000. * the border around the label. Symbols are predefined functions on the
  57001. * Renderer object.
  57002. */
  57003. shape?: string;
  57004. /**
  57005. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  57006. * default `color` setting is `"contrast"`, which is a pseudo color that
  57007. * Highcharts picks up and applies the maximum contrast to the underlying
  57008. * point item, for example the bar in a bar chart.
  57009. *
  57010. * The `textOutline` is a pseudo property that applies an outline of the
  57011. * given width with the given color, which by default is the maximum
  57012. * contrast to the text. So a bright text color will result in a black text
  57013. * outline for maximum readability on a mixed background. In some cases,
  57014. * especially with grayscale text, the text outline doesn't work well, in
  57015. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  57016. * is true, the `textOutline` will not be picked up. In this, case, the same
  57017. * effect can be acheived through the `text-shadow` CSS property.
  57018. *
  57019. * For some series types, where each point has an extent, like for example
  57020. * tree maps, the data label may overflow the point. There are two
  57021. * strategies for handling overflow. By default, the text will wrap to
  57022. * multiple lines. The other strategy is to set `style.textOverflow` to
  57023. * `ellipsis`, which will keep the text on one line plus it will break
  57024. * inside long words.
  57025. */
  57026. style?: CSSObject;
  57027. /**
  57028. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  57029. * should follow marker's shape. Border and background are disabled for a
  57030. * label that follows a path.
  57031. *
  57032. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  57033. * to true will disable this option.
  57034. */
  57035. textPath?: DataLabelsTextPathOptionsObject;
  57036. /**
  57037. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  57038. * the labels.
  57039. */
  57040. useHTML?: boolean;
  57041. /**
  57042. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  57043. * label. Can be one of `top`, `middle` or `bottom`. The default value
  57044. * depends on the data, for instance in a column chart, the label is above
  57045. * positive values and below negative values.
  57046. */
  57047. verticalAlign?: (VerticalAlignValue|null);
  57048. /**
  57049. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  57050. * label relative to the point in pixels.
  57051. */
  57052. x?: number;
  57053. /**
  57054. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  57055. * label relative to the point in pixels.
  57056. */
  57057. y?: number;
  57058. /**
  57059. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  57060. * The default Z index puts it above the series. Use a Z index of 2 to
  57061. * display it behind the series.
  57062. */
  57063. z?: number;
  57064. }
  57065. /**
  57066. * (Highcharts, Highstock) Options for the series data sorting.
  57067. */
  57068. export interface PlotLineDataSortingOptions {
  57069. /**
  57070. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  57071. * Use xAxis.reversed to change the sorting order.
  57072. */
  57073. enabled?: boolean;
  57074. /**
  57075. * (Highcharts, Highstock) Whether to allow matching points by name in an
  57076. * update. If this option is disabled, points will be matched by order.
  57077. */
  57078. matchByName?: boolean;
  57079. /**
  57080. * (Highcharts, Highstock) Determines what data value should be used to sort
  57081. * by.
  57082. */
  57083. sortKey?: string;
  57084. }
  57085. /**
  57086. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  57087. * one state by default, the `default` state.
  57088. */
  57089. export interface PlotLineDragDropGuideBoxOptions {
  57090. /**
  57091. * (Highcharts, Highstock) Style options for the guide box default state.
  57092. */
  57093. default?: DragDropGuideBoxOptionsObject;
  57094. }
  57095. /**
  57096. * (Highcharts, Highstock) A line series displays information as a series of
  57097. * data points connected by straight line segments.
  57098. *
  57099. * In TypeScript the type option must always be set.
  57100. *
  57101. * Configuration options for the series are given in three levels:
  57102. *
  57103. * 1. Options for all series in a chart are defined in the plotOptions.series
  57104. * object.
  57105. *
  57106. * 2. Options for all `line` series are defined in plotOptions.line.
  57107. *
  57108. * 3. Options for one single series are given in the series instance array. (see
  57109. * online documentation for example)
  57110. */
  57111. export interface PlotLineOptions {
  57112. /**
  57113. * (Highcharts, Highstock) Accessibility options for a series.
  57114. */
  57115. accessibility?: SeriesAccessibilityOptionsObject;
  57116. /**
  57117. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57118. * rendered. If `true`, areas which don't correspond to a data point, are
  57119. * rendered as `null` points. If `false`, those areas are skipped.
  57120. */
  57121. allAreas?: boolean;
  57122. /**
  57123. * (Highcharts, Highstock) Allow this series' points to be selected by
  57124. * clicking on the graphic (columns, point markers, pie slices, map areas
  57125. * etc).
  57126. *
  57127. * The selected points can be handled by point select and unselect events,
  57128. * or collectively by the getSelectedPoints function.
  57129. *
  57130. * And alternative way of selecting points is through dragging.
  57131. */
  57132. allowPointSelect?: boolean;
  57133. /**
  57134. * (Highcharts, Highstock) Enable or disable the initial animation when a
  57135. * series is displayed. The animation can also be set as a configuration
  57136. * object. Please note that this option only applies to the initial
  57137. * animation of the series itself. For other animations, see chart.animation
  57138. * and the animation parameter under the API methods. The following
  57139. * properties are supported:
  57140. *
  57141. * - `defer`: The animation delay time in milliseconds.
  57142. *
  57143. * - `duration`: The duration of the animation in milliseconds.
  57144. *
  57145. * - `easing`: Can be a string reference to an easing function set on the
  57146. * `Math` object or a function. See the _Custom easing function_ demo below.
  57147. *
  57148. * Due to poor performance, animation is disabled in old IE browsers for
  57149. * several chart types.
  57150. */
  57151. animation?: (boolean|PlotLineAnimationOptions|Partial<AnimationOptionsObject>);
  57152. /**
  57153. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  57154. * initial animation by default when the total number of points in the chart
  57155. * is too high. For example, for a column chart and its derivatives,
  57156. * animation does not run if there is more than 250 points totally. To
  57157. * disable this cap, set `animationLimit` to `Infinity`.
  57158. */
  57159. animationLimit?: number;
  57160. /**
  57161. * (Highcharts, Highstock) Sets the color blending in the boost module.
  57162. */
  57163. boostBlending?: OptionsBoostBlendingValue;
  57164. /**
  57165. * (Highcharts, Highstock) Set the point threshold for when a series should
  57166. * enter boost mode.
  57167. *
  57168. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  57169. * there are 2000 or more points in the series.
  57170. *
  57171. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  57172. * it to 1 will force boosting.
  57173. *
  57174. * Note that the cropThreshold also affects this setting. When zooming in on
  57175. * a series that has fewer points than the `cropThreshold`, all points are
  57176. * rendered although outside the visible plot area, and the `boostThreshold`
  57177. * won't take effect.
  57178. */
  57179. boostThreshold?: number;
  57180. /**
  57181. * (Highmaps) The border color of the map areas.
  57182. *
  57183. * In styled mode, the border stroke is given in the `.highcharts-point`
  57184. * class.
  57185. */
  57186. borderColor?: (ColorString|GradientColorObject|PatternObject);
  57187. /**
  57188. * (Highmaps) The border width of each map area.
  57189. *
  57190. * In styled mode, the border stroke width is given in the
  57191. * `.highcharts-point` class.
  57192. */
  57193. borderWidth?: number;
  57194. /**
  57195. * (Highcharts, Highstock) An additional class name to apply to the series'
  57196. * graphical elements. This option does not replace default class names of
  57197. * the graphical element.
  57198. */
  57199. className?: string;
  57200. /**
  57201. * (Highcharts, Highstock) Disable this option to allow series rendering in
  57202. * the whole plotting area.
  57203. *
  57204. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57205. */
  57206. clip?: boolean;
  57207. /**
  57208. * (Highcharts, Highstock) The main color of the series. In line type series
  57209. * it applies to the line and the point markers unless otherwise specified.
  57210. * In bar type series it applies to the bars unless a color is specified per
  57211. * point. The default value is pulled from the `options.colors` array.
  57212. *
  57213. * In styled mode, the color can be defined by the colorIndex option. Also,
  57214. * the series color can be set with the `.highcharts-series`,
  57215. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57216. * `.highcharts-series-{n}` class, or individual classes given by the
  57217. * `className` option.
  57218. */
  57219. color?: (ColorString|GradientColorObject|PatternObject);
  57220. /**
  57221. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57222. * this number defines which colorAxis the particular series is connected
  57223. * to. It refers to either the axis id or the index of the axis in the
  57224. * colorAxis array, with 0 being the first. Set this option to false to
  57225. * prevent a series from connecting to the default color axis.
  57226. *
  57227. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57228. * of a boolean flag.
  57229. */
  57230. colorAxis?: (boolean|number|string);
  57231. /**
  57232. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  57233. * for the series, so its graphic representations are given the class name
  57234. * `highcharts-color-{n}`.
  57235. */
  57236. colorIndex?: number;
  57237. /**
  57238. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57239. * used to calculate point color if `colorAxis` is used. Requires to set
  57240. * `min` and `max` if some custom point property is used or if approximation
  57241. * for data grouping is set to `'sum'`.
  57242. */
  57243. colorKey?: string;
  57244. /**
  57245. * (Highstock) Compare the values of the series against the first non-null,
  57246. * non- zero value in the visible range. The y axis will show percentage or
  57247. * absolute change depending on whether `compare` is set to `"percent"` or
  57248. * `"value"`. When this is applied to multiple series, it allows comparing
  57249. * the development of the series against each other. Adds a `change` field
  57250. * to every point object.
  57251. */
  57252. compare?: string;
  57253. /**
  57254. * (Highstock) When compare is `percent`, this option dictates whether to
  57255. * use 0 or 100 as the base of comparison.
  57256. */
  57257. compareBase?: (0|100);
  57258. /**
  57259. * (Highstock) Defines if comparison should start from the first point
  57260. * within the visible range or should start from the first point **before**
  57261. * the range.
  57262. *
  57263. * In other words, this flag determines if first point within the visible
  57264. * range will have 0% (`compareStart=true`) or should have been already
  57265. * calculated according to the previous point (`compareStart=false`).
  57266. */
  57267. compareStart?: boolean;
  57268. /**
  57269. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57270. * series plot across the extremes.
  57271. */
  57272. connectEnds?: boolean;
  57273. /**
  57274. * (Highcharts, Highstock) Whether to connect a graph line across null
  57275. * points, or render a gap between the two points on either side of the
  57276. * null.
  57277. */
  57278. connectNulls?: boolean;
  57279. /**
  57280. * (Gantt) Override Pathfinder connector options for a series. Requires
  57281. * Highcharts Gantt to be loaded.
  57282. */
  57283. connectors?: SeriesConnectorsOptionsObject;
  57284. /**
  57285. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  57286. * rounded to its nearest pixel in order to render sharp on screen. In some
  57287. * cases, when there are a lot of densely packed columns, this leads to
  57288. * visible difference in column widths or distance between columns. In these
  57289. * cases, setting `crisp` to `false` may look better, even though each
  57290. * column is rendered blurry.
  57291. */
  57292. crisp?: boolean;
  57293. /**
  57294. * (Highcharts, Highstock) When the series contains less points than the
  57295. * crop threshold, all points are drawn, even if the points fall outside the
  57296. * visible plot area at the current zoom. The advantage of drawing all
  57297. * points (including markers and columns), is that animation is performed on
  57298. * updates. On the other hand, when the series contains more points than the
  57299. * crop threshold, the series data is cropped to only contain points that
  57300. * fall within the plot area. The advantage of cropping away invisible
  57301. * points is to increase performance on large series.
  57302. */
  57303. cropThreshold?: number;
  57304. /**
  57305. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  57306. * click events attached to the series, to signal to the user that the
  57307. * points and lines can be clicked.
  57308. *
  57309. * In styled mode, the series cursor can be set with the same classes as
  57310. * listed under series.color.
  57311. */
  57312. cursor?: (string|CursorValue);
  57313. /**
  57314. * (Highcharts, Highstock) A reserved subspace to store options and values
  57315. * for customized functionality. Here you can add additional data for your
  57316. * own event callbacks and formatter callbacks.
  57317. */
  57318. custom?: Dictionary<any>;
  57319. /**
  57320. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  57321. * for some series types the outline of each shape.
  57322. *
  57323. * In styled mode, the stroke dash-array can be set with the same classes as
  57324. * listed under series.color.
  57325. */
  57326. dashStyle?: DashStyleValue;
  57327. /**
  57328. * (Highstock) Data grouping is the concept of sampling the data values into
  57329. * larger blocks in order to ease readability and increase performance of
  57330. * the JavaScript charts. Highcharts Stock by default applies data grouping
  57331. * when the points become closer than a certain pixel value, determined by
  57332. * the `groupPixelWidth` option.
  57333. *
  57334. * If data grouping is applied, the grouping information of grouped points
  57335. * can be read from the Point.dataGroup. If point options other than the
  57336. * data itself are set, for example `name` or `color` or custom properties,
  57337. * the grouping logic doesn't know how to group it. In this case the options
  57338. * of the first point instance are copied over to the group point. This can
  57339. * be altered through a custom `approximation` callback function.
  57340. */
  57341. dataGrouping?: DataGroupingOptionsObject;
  57342. /**
  57343. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  57344. * labels, appearing next to each data point.
  57345. *
  57346. * Since v6.2.0, multiple data labels can be applied to each single point by
  57347. * defining them as an array of configs.
  57348. *
  57349. * In styled mode, the data labels can be styled with the
  57350. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  57351. * (see example).
  57352. */
  57353. dataLabels?: (PlotLineDataLabelsOptions|Array<PlotLineDataLabelsOptions>);
  57354. /**
  57355. * (Highcharts, Highstock) Options for the series data sorting.
  57356. */
  57357. dataSorting?: (DataSortingOptionsObject|PlotLineDataSortingOptions);
  57358. /**
  57359. * (Highcharts, Highstock) A description of the series to add to the screen
  57360. * reader information about the series.
  57361. */
  57362. description?: string;
  57363. /**
  57364. * (Highcharts, Highstock) The draggable-points module allows points to be
  57365. * moved around or modified in the chart. In addition to the options
  57366. * mentioned under the `dragDrop` API structure, the module fires three
  57367. * events, point.dragStart, point.drag and point.drop.
  57368. */
  57369. dragDrop?: SeriesDragDropOptionsObject;
  57370. /**
  57371. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  57372. * specific series. This includes point tooltips and click events on graphs
  57373. * and points. For large datasets it improves performance.
  57374. */
  57375. enableMouseTracking?: boolean;
  57376. /**
  57377. * (Highcharts, Highstock) General event handlers for the series items.
  57378. * These event hooks can also be attached to the series at run time using
  57379. * the `Highcharts.addEvent` function.
  57380. */
  57381. events?: SeriesEventsOptionsObject;
  57382. /**
  57383. * (Highcharts, Highstock) Determines whether the series should look for the
  57384. * nearest point in both dimensions or just the x-dimension when hovering
  57385. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  57386. * other series. If the data has duplicate x-values, it is recommended to
  57387. * set this to `'xy'` to allow hovering over all points.
  57388. *
  57389. * Applies only to series types using nearest neighbor search (not direct
  57390. * hover) for tooltip.
  57391. */
  57392. findNearestPointBy?: OptionsFindNearestPointByValue;
  57393. /**
  57394. * (Highstock) Defines when to display a gap in the graph, together with the
  57395. * gapUnit option.
  57396. *
  57397. * In case when `dataGrouping` is enabled, points can be grouped into a
  57398. * larger time span. This can make the grouped points to have a greater
  57399. * distance than the absolute value of `gapSize` property, which will result
  57400. * in disappearing graph completely. To prevent this situation the mentioned
  57401. * distance between grouped points is used instead of previously defined
  57402. * `gapSize`.
  57403. *
  57404. * In practice, this option is most often used to visualize gaps in time
  57405. * series. In a stock chart, intraday data is available for daytime hours,
  57406. * while gaps will appear in nights and weekends.
  57407. */
  57408. gapSize?: number;
  57409. /**
  57410. * (Highstock) Together with gapSize, this option defines where to draw gaps
  57411. * in the graph.
  57412. *
  57413. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  57414. * if the distance between two points is greater than 5 times that of the
  57415. * two closest points, the graph will be broken.
  57416. *
  57417. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  57418. * values, which on a datetime axis is milliseconds. This also applies to
  57419. * the navigator series that inherits gap options from the base series.
  57420. */
  57421. gapUnit?: OptionsGapUnitValue;
  57422. /**
  57423. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  57424. * chart width or only the zoomed area when zooming in on parts of the X
  57425. * axis. By default, the Y axis adjusts to the min and max of the visible
  57426. * data. Cartesian series only.
  57427. */
  57428. getExtremesFromAll?: boolean;
  57429. /**
  57430. * (Highcharts, Highstock) When set to `false` will prevent the series data
  57431. * from being included in any form of data export.
  57432. *
  57433. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  57434. * `includeInCSVExport`.
  57435. */
  57436. includeInDataExport?: boolean;
  57437. /**
  57438. * (Highmaps) What property to join the `mapData` to the value data. For
  57439. * example, if joinBy is "code", the mapData items with a specific code is
  57440. * merged into the data with the same code. For maps loaded from GeoJSON,
  57441. * the keys may be held in each point's `properties` object.
  57442. *
  57443. * The joinBy option can also be an array of two values, where the first
  57444. * points to a key in the `mapData`, and the second points to another key in
  57445. * the `data`.
  57446. *
  57447. * When joinBy is `null`, the map items are joined by their position in the
  57448. * array, which performs much better in maps with many data points. This is
  57449. * the recommended option if you are printing more than a thousand data
  57450. * points and have a backend that can preprocess the data into a parallel
  57451. * array of the mapData.
  57452. */
  57453. joinBy?: (string|Array<string>);
  57454. /**
  57455. * (Highcharts, Highstock) An array specifying which option maps to which
  57456. * key in the data point array. This makes it convenient to work with
  57457. * unstructured data arrays from different sources.
  57458. */
  57459. keys?: Array<string>;
  57460. /**
  57461. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  57462. * series as possible in a natural way, seeking to avoid other series. The
  57463. * goal of this feature is to make the chart more easily readable, like if a
  57464. * human designer placed the labels in the optimal position.
  57465. *
  57466. * The series labels currently work with series types having a `graph` or an
  57467. * `area`.
  57468. */
  57469. label?: SeriesLabelOptionsObject;
  57470. /**
  57471. * (Highstock) The line marks the last price from all points.
  57472. */
  57473. lastPrice?: SeriesLastPriceOptionsObject;
  57474. /**
  57475. * (Highstock) The line marks the last price from visible range of points.
  57476. */
  57477. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  57478. /**
  57479. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  57480. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  57481. * the ends and bends.
  57482. */
  57483. linecap?: SeriesLinecapValue;
  57484. /**
  57485. * (Highcharts, Highstock) Pixel width of the graph line.
  57486. */
  57487. lineWidth?: number;
  57488. /**
  57489. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  57490. * Additionally, the value can be ":previous" to link to the previous
  57491. * series. When two series are linked, only the first one appears in the
  57492. * legend. Toggling the visibility of this also toggles the linked series.
  57493. *
  57494. * If master series uses data sorting and linked series does not have its
  57495. * own sorting definition, the linked series will be sorted in the same
  57496. * order as the master one.
  57497. */
  57498. linkedTo?: string;
  57499. /**
  57500. * (Highcharts, Highstock) Options for the point markers of line-like
  57501. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  57502. * the visual appearance of the markers. Other series types, like column
  57503. * series, don't have markers, but have visual options on the series level
  57504. * instead.
  57505. *
  57506. * In styled mode, the markers can be styled with the `.highcharts-point`,
  57507. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  57508. */
  57509. marker?: PointMarkerOptionsObject;
  57510. /**
  57511. * (Highstock) Options for the corresponding navigator series if
  57512. * `showInNavigator` is `true` for this series. Available options are the
  57513. * same as any series, documented at plotOptions and series.
  57514. *
  57515. * These options are merged with options in navigator.series, and will take
  57516. * precedence if the same option is defined both places.
  57517. */
  57518. navigatorOptions?: PlotSeriesOptions;
  57519. /**
  57520. * (Highcharts, Highstock) The color for the parts of the graph or points
  57521. * that are below the threshold. Note that `zones` takes precedence over the
  57522. * negative color. Using `negativeColor` is equivalent to applying a zone
  57523. * with value of 0.
  57524. */
  57525. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  57526. /**
  57527. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  57528. * and dataLabels.
  57529. */
  57530. opacity?: number;
  57531. /**
  57532. * (Highcharts, Highstock) Properties for each single point.
  57533. */
  57534. point?: PlotSeriesPointOptions;
  57535. /**
  57536. * (Highcharts, Highstock) Same as
  57537. * accessibility.series.descriptionFormatter, but for an individual series.
  57538. * Overrides the chart wide configuration.
  57539. */
  57540. pointDescriptionFormatter?: Function;
  57541. /**
  57542. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57543. * a series, `pointInterval` defines the interval of the x values. For
  57544. * example, if a series contains one value every decade starting from year
  57545. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  57546. * `pointInterval` is set in milliseconds.
  57547. *
  57548. * It can be also be combined with `pointIntervalUnit` to draw irregular
  57549. * time intervals.
  57550. *
  57551. * Please note that this options applies to the _series data_, not the
  57552. * interval of the axis ticks, which is independent.
  57553. */
  57554. pointInterval?: number;
  57555. /**
  57556. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  57557. * setting the pointInterval to irregular time units, `day`, `month` and
  57558. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  57559. * also takes the DST crossover into consideration when dealing with local
  57560. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  57561. * months, 10 years etc.
  57562. *
  57563. * Please note that this options applies to the _series data_, not the
  57564. * interval of the axis ticks, which is independent.
  57565. */
  57566. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  57567. /**
  57568. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  57569. * `number`.
  57570. *
  57571. * In a column chart, when pointPlacement is `"on"`, the point will not
  57572. * create any padding of the X axis. In a polar column chart this means that
  57573. * the first column points directly north. If the pointPlacement is
  57574. * `"between"`, the columns will be laid out between ticks. This is useful
  57575. * for example for visualising an amount between two points in time or in a
  57576. * certain sector of a polar chart.
  57577. *
  57578. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  57579. * is on the axis value, -0.5 is between this value and the previous, and
  57580. * 0.5 is between this value and the next. Unlike the textual options,
  57581. * numeric point placement options won't affect axis padding.
  57582. *
  57583. * Note that pointPlacement needs a pointRange to work. For column series
  57584. * this is computed, but for line-type series it needs to be set.
  57585. *
  57586. * For the `xrange` series type and gantt charts, if the Y axis is a
  57587. * category axis, the `pointPlacement` applies to the Y axis rather than the
  57588. * (typically datetime) X axis.
  57589. *
  57590. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  57591. */
  57592. pointPlacement?: (number|string);
  57593. /**
  57594. * (Highstock) The width of each point on the x axis. For example in a
  57595. * column chart with one value each day, the pointRange would be 1 day (= 24
  57596. * * 3600
  57597. *
  57598. * * 1000 milliseconds). This is normally computed automatically, but this
  57599. * option can be used to override the automatic value.
  57600. */
  57601. pointRange?: number;
  57602. /**
  57603. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  57604. * a series, pointStart defines on what value to start. For example, if a
  57605. * series contains one yearly value starting from 1945, set pointStart to
  57606. * 1945.
  57607. */
  57608. pointStart?: number;
  57609. /**
  57610. * (Highcharts, Highstock) Whether to select the series initially. If
  57611. * `showCheckbox` is true, the checkbox next to the series name in the
  57612. * legend will be checked for a selected series.
  57613. */
  57614. selected?: boolean;
  57615. /**
  57616. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  57617. * Since 2.3 the shadow can be an object configuration containing `color`,
  57618. * `offsetX`, `offsetY`, `opacity` and `width`.
  57619. */
  57620. shadow?: (boolean|ShadowOptionsObject);
  57621. /**
  57622. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  57623. * legend item to allow selecting the series. The state of the checkbox is
  57624. * determined by the `selected` option.
  57625. */
  57626. showCheckbox?: boolean;
  57627. /**
  57628. * (Highcharts, Highstock) Whether to display this particular series or
  57629. * series type in the legend. Standalone series are shown in legend by
  57630. * default, and linked series are not. Since v7.2.0 it is possible to show
  57631. * series that use colorAxis by setting this option to `true`.
  57632. */
  57633. showInLegend?: boolean;
  57634. /**
  57635. * (Highstock) Whether or not to show the series in the navigator. Takes
  57636. * precedence over navigator.baseSeries if defined.
  57637. */
  57638. showInNavigator?: boolean;
  57639. /**
  57640. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  57641. * skip past the points in this series for keyboard navigation.
  57642. */
  57643. skipKeyboardNavigation?: boolean;
  57644. /**
  57645. * (Highcharts, Highstock) When this is true, the series will not cause the
  57646. * Y axis to cross the zero plane (or threshold option) unless the data
  57647. * actually crosses the plane.
  57648. *
  57649. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  57650. * make the Y axis show negative values according to the `minPadding`
  57651. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  57652. */
  57653. softThreshold?: boolean;
  57654. /**
  57655. * (Highcharts, Highstock) Whether to stack the values of each series on top
  57656. * of each other. Possible values are `undefined` to disable, `"normal"` to
  57657. * stack by value or `"percent"`.
  57658. *
  57659. * When stacking is enabled, data must be sorted in ascending X order.
  57660. *
  57661. * Some stacking options are related to specific series types. In the
  57662. * streamgraph series type, the stacking option is set to `"stream"`. The
  57663. * second one is `"overlap"`, which only applies to waterfall series.
  57664. */
  57665. stacking?: OptionsStackingValue;
  57666. states?: SeriesStatesOptionsObject;
  57667. /**
  57668. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  57669. * values are `left`, `center` and `right`.
  57670. */
  57671. step?: OptionsStepValue;
  57672. /**
  57673. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  57674. * `mouseOut` event on a series isn't triggered until the mouse moves over
  57675. * another series, or out of the plot area. When false, the `mouseOut` event
  57676. * on a series is triggered when the mouse leaves the area around the
  57677. * series' graph or markers. This also implies the tooltip when not shared.
  57678. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  57679. * will be hidden when moving the mouse between series. Defaults to true for
  57680. * line and area type series, but to false for columns, pies etc.
  57681. *
  57682. * **Note:** The boost module will force this option because of technical
  57683. * limitations.
  57684. */
  57685. stickyTracking?: boolean;
  57686. /**
  57687. * (Highcharts, Highstock) The threshold, also called zero level or base
  57688. * level. For line type series this is only used in conjunction with
  57689. * negativeColor.
  57690. */
  57691. threshold?: (number|null);
  57692. /**
  57693. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  57694. * of each single series. Properties are inherited from tooltip, but only
  57695. * the following properties can be defined on a series level.
  57696. */
  57697. tooltip?: SeriesTooltipOptionsObject;
  57698. /**
  57699. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  57700. * is longer than this, only one dimensional arrays of numbers, or two
  57701. * dimensional arrays with x and y values are allowed. Also, only the first
  57702. * point is tested, and the rest are assumed to be the same format. This
  57703. * saves expensive data checking and indexing in long series. Set it to `0`
  57704. * disable.
  57705. *
  57706. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  57707. * two dimensional arrays are allowed.
  57708. */
  57709. turboThreshold?: number;
  57710. /**
  57711. * (Highstock) The parameter allows setting line series type and use OHLC
  57712. * indicators. Data in OHLC format is required.
  57713. */
  57714. useOhlcData?: boolean;
  57715. /**
  57716. * (Highcharts, Highstock) Set the initial visibility of the series.
  57717. */
  57718. visible?: boolean;
  57719. /**
  57720. * (Highmaps) Define the z index of the series.
  57721. */
  57722. zIndex?: number;
  57723. /**
  57724. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  57725. */
  57726. zoneAxis?: string;
  57727. /**
  57728. * (Highcharts, Highstock) An array defining zones within a series. Zones
  57729. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  57730. * the `zoneAxis` option. The zone definitions have to be in ascending order
  57731. * regarding to the value.
  57732. *
  57733. * In styled mode, the color zones are styled with the
  57734. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  57735. * option (view live demo).
  57736. */
  57737. zones?: Array<SeriesZonesOptionsObject>;
  57738. }
  57739. /**
  57740. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  57741. * is displayed. The animation can also be set as a configuration object. Please
  57742. * note that this option only applies to the initial animation of the series
  57743. * itself. For other animations, see chart.animation and the animation parameter
  57744. * under the API methods. The following properties are supported:
  57745. *
  57746. * - `defer`: The animation delay time in milliseconds.
  57747. *
  57748. * - `duration`: The duration of the animation in milliseconds.
  57749. *
  57750. * - `easing`: Can be a string reference to an easing function set on the `Math`
  57751. * object or a function. See the _Custom easing function_ demo below.
  57752. *
  57753. * Due to poor performance, animation is disabled in old IE browsers for several
  57754. * chart types.
  57755. */
  57756. export interface PlotLollipopAnimationOptions {
  57757. defer?: number;
  57758. }
  57759. /**
  57760. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  57761. * is displayed for the `dataLabels`. The animation can also be set as a
  57762. * configuration object. Please note that this option only applies to the
  57763. * initial animation. For other animations, see chart.animation and the
  57764. * animation parameter under the API methods. The following properties are
  57765. * supported:
  57766. *
  57767. * - `defer`: The animation delay time in milliseconds.
  57768. */
  57769. export interface PlotLollipopDataLabelsAnimationOptions {
  57770. /**
  57771. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  57772. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  57773. * from the series.animation.defer.
  57774. */
  57775. defer?: number;
  57776. }
  57777. /**
  57778. * (Highcharts, Highstock) Options for the series data sorting.
  57779. */
  57780. export interface PlotLollipopDataSortingOptions {
  57781. /**
  57782. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  57783. * Use xAxis.reversed to change the sorting order.
  57784. */
  57785. enabled?: boolean;
  57786. /**
  57787. * (Highcharts, Highstock) Whether to allow matching points by name in an
  57788. * update. If this option is disabled, points will be matched by order.
  57789. */
  57790. matchByName?: boolean;
  57791. /**
  57792. * (Highcharts, Highstock) Determines what data value should be used to sort
  57793. * by.
  57794. */
  57795. sortKey?: string;
  57796. }
  57797. /**
  57798. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  57799. * one state by default, the `default` state.
  57800. */
  57801. export interface PlotLollipopDragDropGuideBoxOptions {
  57802. /**
  57803. * (Highcharts, Highstock) Style options for the guide box default state.
  57804. */
  57805. default?: DragDropGuideBoxOptionsObject;
  57806. }
  57807. /**
  57808. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  57809. * line anchored from the x axis and a dot at the end to mark the value.
  57810. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  57811. * `modules/lollipop.js`.
  57812. *
  57813. * In TypeScript the type option must always be set.
  57814. *
  57815. * Configuration options for the series are given in three levels:
  57816. *
  57817. * 1. Options for all series in a chart are defined in the plotOptions.series
  57818. * object.
  57819. *
  57820. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  57821. *
  57822. * 3. Options for one single series are given in the series instance array. (see
  57823. * online documentation for example)
  57824. */
  57825. export interface PlotLollipopOptions {
  57826. /**
  57827. * (Highcharts, Highstock) Accessibility options for a series.
  57828. */
  57829. accessibility?: SeriesAccessibilityOptionsObject;
  57830. /**
  57831. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  57832. * rendered. If `true`, areas which don't correspond to a data point, are
  57833. * rendered as `null` points. If `false`, those areas are skipped.
  57834. */
  57835. allAreas?: boolean;
  57836. /**
  57837. * (Highcharts, Highstock) Allow this series' points to be selected by
  57838. * clicking on the graphic (columns, point markers, pie slices, map areas
  57839. * etc).
  57840. *
  57841. * The selected points can be handled by point select and unselect events,
  57842. * or collectively by the getSelectedPoints function.
  57843. *
  57844. * And alternative way of selecting points is through dragging.
  57845. */
  57846. allowPointSelect?: boolean;
  57847. /**
  57848. * (Highcharts, Highstock) Enable or disable the initial animation when a
  57849. * series is displayed. The animation can also be set as a configuration
  57850. * object. Please note that this option only applies to the initial
  57851. * animation of the series itself. For other animations, see chart.animation
  57852. * and the animation parameter under the API methods. The following
  57853. * properties are supported:
  57854. *
  57855. * - `defer`: The animation delay time in milliseconds.
  57856. *
  57857. * - `duration`: The duration of the animation in milliseconds.
  57858. *
  57859. * - `easing`: Can be a string reference to an easing function set on the
  57860. * `Math` object or a function. See the _Custom easing function_ demo below.
  57861. *
  57862. * Due to poor performance, animation is disabled in old IE browsers for
  57863. * several chart types.
  57864. */
  57865. animation?: (boolean|PlotLollipopAnimationOptions|Partial<AnimationOptionsObject>);
  57866. /**
  57867. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  57868. * initial animation by default when the total number of points in the chart
  57869. * is too high. For example, for a column chart and its derivatives,
  57870. * animation does not run if there is more than 250 points totally. To
  57871. * disable this cap, set `animationLimit` to `Infinity`.
  57872. */
  57873. animationLimit?: number;
  57874. /**
  57875. * (Highmaps) The border color of the map areas.
  57876. *
  57877. * In styled mode, the border stroke is given in the `.highcharts-point`
  57878. * class.
  57879. */
  57880. borderColor?: (ColorString|GradientColorObject|PatternObject);
  57881. /**
  57882. * (Highmaps) The border width of each map area.
  57883. *
  57884. * In styled mode, the border stroke width is given in the
  57885. * `.highcharts-point` class.
  57886. */
  57887. borderWidth?: number;
  57888. /**
  57889. * (Highcharts, Highstock) An additional class name to apply to the series'
  57890. * graphical elements. This option does not replace default class names of
  57891. * the graphical element.
  57892. */
  57893. className?: string;
  57894. /**
  57895. * (Highcharts, Highstock) Disable this option to allow series rendering in
  57896. * the whole plotting area.
  57897. *
  57898. * **Note:** Clipping should be always enabled when chart.zoomType is set
  57899. */
  57900. clip?: boolean;
  57901. /**
  57902. * (Highcharts, Highstock) The main color of the series. In line type series
  57903. * it applies to the line and the point markers unless otherwise specified.
  57904. * In bar type series it applies to the bars unless a color is specified per
  57905. * point. The default value is pulled from the `options.colors` array.
  57906. *
  57907. * In styled mode, the color can be defined by the colorIndex option. Also,
  57908. * the series color can be set with the `.highcharts-series`,
  57909. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  57910. * `.highcharts-series-{n}` class, or individual classes given by the
  57911. * `className` option.
  57912. */
  57913. color?: (ColorString|GradientColorObject|PatternObject);
  57914. /**
  57915. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  57916. * this number defines which colorAxis the particular series is connected
  57917. * to. It refers to either the axis id or the index of the axis in the
  57918. * colorAxis array, with 0 being the first. Set this option to false to
  57919. * prevent a series from connecting to the default color axis.
  57920. *
  57921. * Since v7.2.0 the option can also be an axis id or an axis index instead
  57922. * of a boolean flag.
  57923. */
  57924. colorAxis?: (boolean|number|string);
  57925. /**
  57926. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  57927. * for the series, so its graphic representations are given the class name
  57928. * `highcharts-color-{n}`.
  57929. */
  57930. colorIndex?: number;
  57931. /**
  57932. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  57933. * used to calculate point color if `colorAxis` is used. Requires to set
  57934. * `min` and `max` if some custom point property is used or if approximation
  57935. * for data grouping is set to `'sum'`.
  57936. */
  57937. colorKey?: string;
  57938. /**
  57939. * (Highstock) Compare the values of the series against the first non-null,
  57940. * non- zero value in the visible range. The y axis will show percentage or
  57941. * absolute change depending on whether `compare` is set to `"percent"` or
  57942. * `"value"`. When this is applied to multiple series, it allows comparing
  57943. * the development of the series against each other. Adds a `change` field
  57944. * to every point object.
  57945. */
  57946. compare?: string;
  57947. /**
  57948. * (Highstock) When compare is `percent`, this option dictates whether to
  57949. * use 0 or 100 as the base of comparison.
  57950. */
  57951. compareBase?: (0|100);
  57952. /**
  57953. * (Highstock) Defines if comparison should start from the first point
  57954. * within the visible range or should start from the first point **before**
  57955. * the range.
  57956. *
  57957. * In other words, this flag determines if first point within the visible
  57958. * range will have 0% (`compareStart=true`) or should have been already
  57959. * calculated according to the previous point (`compareStart=false`).
  57960. */
  57961. compareStart?: boolean;
  57962. /**
  57963. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  57964. * series plot across the extremes.
  57965. */
  57966. connectEnds?: boolean;
  57967. /**
  57968. * (Highcharts, Highstock) Whether to connect a graph line across null
  57969. * points, or render a gap between the two points on either side of the
  57970. * null.
  57971. */
  57972. connectNulls?: boolean;
  57973. /**
  57974. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  57975. * point's values. By default it is the series' color.
  57976. */
  57977. connectorColor?: string;
  57978. /**
  57979. * (Gantt) Override Pathfinder connector options for a series. Requires
  57980. * Highcharts Gantt to be loaded.
  57981. */
  57982. connectors?: SeriesConnectorsOptionsObject;
  57983. /**
  57984. * (Highcharts, Highstock) Pixel width of the line that connects the
  57985. * dumbbell point's values.
  57986. */
  57987. connectorWidth?: number;
  57988. /**
  57989. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  57990. * rounded to its nearest pixel in order to render sharp on screen. In some
  57991. * cases, when there are a lot of densely packed columns, this leads to
  57992. * visible difference in column widths or distance between columns. In these
  57993. * cases, setting `crisp` to `false` may look better, even though each
  57994. * column is rendered blurry.
  57995. */
  57996. crisp?: boolean;
  57997. /**
  57998. * (Highcharts, Highstock) When the series contains less points than the
  57999. * crop threshold, all points are drawn, even if the points fall outside the
  58000. * visible plot area at the current zoom. The advantage of drawing all
  58001. * points (including markers and columns), is that animation is performed on
  58002. * updates. On the other hand, when the series contains more points than the
  58003. * crop threshold, the series data is cropped to only contain points that
  58004. * fall within the plot area. The advantage of cropping away invisible
  58005. * points is to increase performance on large series.
  58006. */
  58007. cropThreshold?: number;
  58008. /**
  58009. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  58010. * click events attached to the series, to signal to the user that the
  58011. * points and lines can be clicked.
  58012. *
  58013. * In styled mode, the series cursor can be set with the same classes as
  58014. * listed under series.color.
  58015. */
  58016. cursor?: (string|CursorValue);
  58017. /**
  58018. * (Highcharts, Highstock) A reserved subspace to store options and values
  58019. * for customized functionality. Here you can add additional data for your
  58020. * own event callbacks and formatter callbacks.
  58021. */
  58022. custom?: Dictionary<any>;
  58023. /**
  58024. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  58025. * for some series types the outline of each shape.
  58026. *
  58027. * In styled mode, the stroke dash-array can be set with the same classes as
  58028. * listed under series.color.
  58029. */
  58030. dashStyle?: DashStyleValue;
  58031. /**
  58032. * (Highstock) Data grouping is the concept of sampling the data values into
  58033. * larger blocks in order to ease readability and increase performance of
  58034. * the JavaScript charts. Highcharts Stock by default applies data grouping
  58035. * when the points become closer than a certain pixel value, determined by
  58036. * the `groupPixelWidth` option.
  58037. *
  58038. * If data grouping is applied, the grouping information of grouped points
  58039. * can be read from the Point.dataGroup. If point options other than the
  58040. * data itself are set, for example `name` or `color` or custom properties,
  58041. * the grouping logic doesn't know how to group it. In this case the options
  58042. * of the first point instance are copied over to the group point. This can
  58043. * be altered through a custom `approximation` callback function.
  58044. */
  58045. dataGrouping?: DataGroupingOptionsObject;
  58046. /**
  58047. * (Highcharts, Highstock) Extended data labels for range series types.
  58048. * Range series data labels use no `x` and `y` options. Instead, they have
  58049. * `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
  58050. * data label sets individually.
  58051. */
  58052. dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
  58053. /**
  58054. * (Highcharts, Highstock) Options for the series data sorting.
  58055. */
  58056. dataSorting?: (DataSortingOptionsObject|PlotLollipopDataSortingOptions);
  58057. /**
  58058. * (Highcharts, Highstock) A description of the series to add to the screen
  58059. * reader information about the series.
  58060. */
  58061. description?: string;
  58062. /**
  58063. * (Highcharts, Highstock) The draggable-points module allows points to be
  58064. * moved around or modified in the chart. In addition to the options
  58065. * mentioned under the `dragDrop` API structure, the module fires three
  58066. * events, point.dragStart, point.drag and point.drop.
  58067. */
  58068. dragDrop?: SeriesDragDropOptionsObject;
  58069. /**
  58070. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  58071. * specific series. This includes point tooltips and click events on graphs
  58072. * and points. For large datasets it improves performance.
  58073. */
  58074. enableMouseTracking?: boolean;
  58075. /**
  58076. * (Highcharts, Highstock) General event handlers for the series items.
  58077. * These event hooks can also be attached to the series at run time using
  58078. * the `Highcharts.addEvent` function.
  58079. */
  58080. events?: SeriesEventsOptionsObject;
  58081. /**
  58082. * (Highcharts, Highstock) Determines whether the series should look for the
  58083. * nearest point in both dimensions or just the x-dimension when hovering
  58084. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  58085. * other series. If the data has duplicate x-values, it is recommended to
  58086. * set this to `'xy'` to allow hovering over all points.
  58087. *
  58088. * Applies only to series types using nearest neighbor search (not direct
  58089. * hover) for tooltip.
  58090. */
  58091. findNearestPointBy?: OptionsFindNearestPointByValue;
  58092. /**
  58093. * (Highstock) Defines when to display a gap in the graph, together with the
  58094. * gapUnit option.
  58095. *
  58096. * In case when `dataGrouping` is enabled, points can be grouped into a
  58097. * larger time span. This can make the grouped points to have a greater
  58098. * distance than the absolute value of `gapSize` property, which will result
  58099. * in disappearing graph completely. To prevent this situation the mentioned
  58100. * distance between grouped points is used instead of previously defined
  58101. * `gapSize`.
  58102. *
  58103. * In practice, this option is most often used to visualize gaps in time
  58104. * series. In a stock chart, intraday data is available for daytime hours,
  58105. * while gaps will appear in nights and weekends.
  58106. */
  58107. gapSize?: number;
  58108. /**
  58109. * (Highstock) Together with gapSize, this option defines where to draw gaps
  58110. * in the graph.
  58111. *
  58112. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  58113. * if the distance between two points is greater than 5 times that of the
  58114. * two closest points, the graph will be broken.
  58115. *
  58116. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  58117. * values, which on a datetime axis is milliseconds. This also applies to
  58118. * the navigator series that inherits gap options from the base series.
  58119. */
  58120. gapUnit?: OptionsGapUnitValue;
  58121. /**
  58122. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  58123. * chart width or only the zoomed area when zooming in on parts of the X
  58124. * axis. By default, the Y axis adjusts to the min and max of the visible
  58125. * data. Cartesian series only.
  58126. */
  58127. getExtremesFromAll?: boolean;
  58128. groupPadding?: number;
  58129. /**
  58130. * (Highcharts, Highstock) When set to `false` will prevent the series data
  58131. * from being included in any form of data export.
  58132. *
  58133. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  58134. * `includeInCSVExport`.
  58135. */
  58136. includeInDataExport?: boolean;
  58137. /**
  58138. * (Highmaps) What property to join the `mapData` to the value data. For
  58139. * example, if joinBy is "code", the mapData items with a specific code is
  58140. * merged into the data with the same code. For maps loaded from GeoJSON,
  58141. * the keys may be held in each point's `properties` object.
  58142. *
  58143. * The joinBy option can also be an array of two values, where the first
  58144. * points to a key in the `mapData`, and the second points to another key in
  58145. * the `data`.
  58146. *
  58147. * When joinBy is `null`, the map items are joined by their position in the
  58148. * array, which performs much better in maps with many data points. This is
  58149. * the recommended option if you are printing more than a thousand data
  58150. * points and have a backend that can preprocess the data into a parallel
  58151. * array of the mapData.
  58152. */
  58153. joinBy?: (string|Array<string>);
  58154. /**
  58155. * (Highcharts, Highstock) An array specifying which option maps to which
  58156. * key in the data point array. This makes it convenient to work with
  58157. * unstructured data arrays from different sources.
  58158. */
  58159. keys?: Array<string>;
  58160. /**
  58161. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  58162. * series as possible in a natural way, seeking to avoid other series. The
  58163. * goal of this feature is to make the chart more easily readable, like if a
  58164. * human designer placed the labels in the optimal position.
  58165. *
  58166. * The series labels currently work with series types having a `graph` or an
  58167. * `area`.
  58168. */
  58169. label?: SeriesLabelOptionsObject;
  58170. /**
  58171. * (Highstock) The line marks the last price from all points.
  58172. */
  58173. lastPrice?: SeriesLastPriceOptionsObject;
  58174. /**
  58175. * (Highstock) The line marks the last price from visible range of points.
  58176. */
  58177. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  58178. /**
  58179. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  58180. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  58181. * the ends and bends.
  58182. */
  58183. linecap?: SeriesLinecapValue;
  58184. /**
  58185. * (Highcharts, Highstock) A separate color for the graph line. By default
  58186. * the line takes the `color` of the series, but the lineColor setting
  58187. * allows setting a separate color for the line without altering the
  58188. * `fillColor`.
  58189. *
  58190. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  58191. * class name.
  58192. */
  58193. lineColor?: (ColorString|GradientColorObject|PatternObject);
  58194. /**
  58195. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  58196. * Additionally, the value can be ":previous" to link to the previous
  58197. * series. When two series are linked, only the first one appears in the
  58198. * legend. Toggling the visibility of this also toggles the linked series.
  58199. *
  58200. * If master series uses data sorting and linked series does not have its
  58201. * own sorting definition, the linked series will be sorted in the same
  58202. * order as the master one.
  58203. */
  58204. linkedTo?: string;
  58205. /**
  58206. * (Highcharts, Highstock) Options for the point markers of line-like
  58207. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  58208. * the visual appearance of the markers. Other series types, like column
  58209. * series, don't have markers, but have visual options on the series level
  58210. * instead.
  58211. *
  58212. * In styled mode, the markers can be styled with the `.highcharts-point`,
  58213. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  58214. */
  58215. marker?: PointMarkerOptionsObject;
  58216. /**
  58217. * (Highstock) Options for the corresponding navigator series if
  58218. * `showInNavigator` is `true` for this series. Available options are the
  58219. * same as any series, documented at plotOptions and series.
  58220. *
  58221. * These options are merged with options in navigator.series, and will take
  58222. * precedence if the same option is defined both places.
  58223. */
  58224. navigatorOptions?: PlotSeriesOptions;
  58225. /**
  58226. * (Highcharts, Highstock) The color for the parts of the graph or points
  58227. * that are below the threshold. Note that `zones` takes precedence over the
  58228. * negative color. Using `negativeColor` is equivalent to applying a zone
  58229. * with value of 0.
  58230. */
  58231. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  58232. /**
  58233. * (Highcharts) A separate color for the negative part of the area.
  58234. *
  58235. * In styled mode, a negative color is set with the `.highcharts-negative`
  58236. * class name.
  58237. */
  58238. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  58239. /**
  58240. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  58241. * and dataLabels.
  58242. */
  58243. opacity?: number;
  58244. /**
  58245. * (Highcharts, Highstock) Properties for each single point.
  58246. */
  58247. point?: PlotSeriesPointOptions;
  58248. /**
  58249. * (Highcharts, Highstock) Same as
  58250. * accessibility.series.descriptionFormatter, but for an individual series.
  58251. * Overrides the chart wide configuration.
  58252. */
  58253. pointDescriptionFormatter?: Function;
  58254. /**
  58255. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58256. * a series, `pointInterval` defines the interval of the x values. For
  58257. * example, if a series contains one value every decade starting from year
  58258. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  58259. * `pointInterval` is set in milliseconds.
  58260. *
  58261. * It can be also be combined with `pointIntervalUnit` to draw irregular
  58262. * time intervals.
  58263. *
  58264. * Please note that this options applies to the _series data_, not the
  58265. * interval of the axis ticks, which is independent.
  58266. */
  58267. pointInterval?: number;
  58268. /**
  58269. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  58270. * setting the pointInterval to irregular time units, `day`, `month` and
  58271. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  58272. * also takes the DST crossover into consideration when dealing with local
  58273. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  58274. * months, 10 years etc.
  58275. *
  58276. * Please note that this options applies to the _series data_, not the
  58277. * interval of the axis ticks, which is independent.
  58278. */
  58279. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  58280. pointPadding?: number;
  58281. /**
  58282. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  58283. * `number`.
  58284. *
  58285. * In a column chart, when pointPlacement is `"on"`, the point will not
  58286. * create any padding of the X axis. In a polar column chart this means that
  58287. * the first column points directly north. If the pointPlacement is
  58288. * `"between"`, the columns will be laid out between ticks. This is useful
  58289. * for example for visualising an amount between two points in time or in a
  58290. * certain sector of a polar chart.
  58291. *
  58292. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  58293. * is on the axis value, -0.5 is between this value and the previous, and
  58294. * 0.5 is between this value and the next. Unlike the textual options,
  58295. * numeric point placement options won't affect axis padding.
  58296. *
  58297. * Note that pointPlacement needs a pointRange to work. For column series
  58298. * this is computed, but for line-type series it needs to be set.
  58299. *
  58300. * For the `xrange` series type and gantt charts, if the Y axis is a
  58301. * category axis, the `pointPlacement` applies to the Y axis rather than the
  58302. * (typically datetime) X axis.
  58303. *
  58304. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  58305. */
  58306. pointPlacement?: (number|string);
  58307. /**
  58308. * (Highstock) The width of each point on the x axis. For example in a
  58309. * column chart with one value each day, the pointRange would be 1 day (= 24
  58310. * * 3600
  58311. *
  58312. * * 1000 milliseconds). This is normally computed automatically, but this
  58313. * option can be used to override the automatic value.
  58314. */
  58315. pointRange?: number;
  58316. /**
  58317. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  58318. * a series, pointStart defines on what value to start. For example, if a
  58319. * series contains one yearly value starting from 1945, set pointStart to
  58320. * 1945.
  58321. */
  58322. pointStart?: number;
  58323. /**
  58324. * (Highcharts, Highstock) Whether to select the series initially. If
  58325. * `showCheckbox` is true, the checkbox next to the series name in the
  58326. * legend will be checked for a selected series.
  58327. */
  58328. selected?: boolean;
  58329. /**
  58330. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  58331. * the shadow can be an object configuration containing `color`, `offsetX`,
  58332. * `offsetY`, `opacity` and `width`.
  58333. */
  58334. shadow?: (boolean|ShadowOptionsObject);
  58335. /**
  58336. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  58337. * legend item to allow selecting the series. The state of the checkbox is
  58338. * determined by the `selected` option.
  58339. */
  58340. showCheckbox?: boolean;
  58341. /**
  58342. * (Highcharts, Highstock) Whether to display this particular series or
  58343. * series type in the legend. Standalone series are shown in legend by
  58344. * default, and linked series are not. Since v7.2.0 it is possible to show
  58345. * series that use colorAxis by setting this option to `true`.
  58346. */
  58347. showInLegend?: boolean;
  58348. /**
  58349. * (Highstock) Whether or not to show the series in the navigator. Takes
  58350. * precedence over navigator.baseSeries if defined.
  58351. */
  58352. showInNavigator?: boolean;
  58353. /**
  58354. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  58355. * skip past the points in this series for keyboard navigation.
  58356. */
  58357. skipKeyboardNavigation?: boolean;
  58358. /**
  58359. * (Highcharts, Highstock) When this is true, the series will not cause the
  58360. * Y axis to cross the zero plane (or threshold option) unless the data
  58361. * actually crosses the plane.
  58362. *
  58363. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  58364. * make the Y axis show negative values according to the `minPadding`
  58365. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  58366. */
  58367. softThreshold?: boolean;
  58368. states?: SeriesStatesOptionsObject;
  58369. /**
  58370. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  58371. * values are `left`, `center` and `right`.
  58372. */
  58373. step?: OptionsStepValue;
  58374. /**
  58375. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  58376. * area, for distinguishing between values above and below a threshold. The
  58377. * area between the graph and the threshold is filled.
  58378. *
  58379. * * If a number is given, the Y axis will scale to the threshold.
  58380. *
  58381. * * If `null`, the scaling behaves like a line series with fill between the
  58382. * graph and the Y axis minimum.
  58383. *
  58384. * * If `Infinity` or `-Infinity`, the area between the graph and the
  58385. * corresponding Y axis extreme is filled (since v6.1.0).
  58386. */
  58387. threshold?: (number|null);
  58388. /**
  58389. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  58390. * of each single series. Properties are inherited from tooltip, but only
  58391. * the following properties can be defined on a series level.
  58392. */
  58393. tooltip?: SeriesTooltipOptionsObject;
  58394. /**
  58395. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  58396. * is longer than this, only one dimensional arrays of numbers, or two
  58397. * dimensional arrays with x and y values are allowed. Also, only the first
  58398. * point is tested, and the rest are assumed to be the same format. This
  58399. * saves expensive data checking and indexing in long series. Set it to `0`
  58400. * disable.
  58401. *
  58402. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  58403. * two dimensional arrays are allowed.
  58404. */
  58405. turboThreshold?: number;
  58406. /**
  58407. * (Highcharts, Highstock) Set the initial visibility of the series.
  58408. */
  58409. visible?: boolean;
  58410. /**
  58411. * (Highmaps) Define the z index of the series.
  58412. */
  58413. zIndex?: number;
  58414. /**
  58415. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  58416. */
  58417. zoneAxis?: string;
  58418. /**
  58419. * (Highcharts, Highstock) An array defining zones within a series. Zones
  58420. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  58421. * the `zoneAxis` option. The zone definitions have to be in ascending order
  58422. * regarding to the value.
  58423. *
  58424. * In styled mode, the color zones are styled with the
  58425. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  58426. * option (view live demo).
  58427. */
  58428. zones?: Array<SeriesZonesOptionsObject>;
  58429. }
  58430. /**
  58431. * (Highstock) Enable or disable the initial animation when a series is
  58432. * displayed. The animation can also be set as a configuration object. Please
  58433. * note that this option only applies to the initial animation of the series
  58434. * itself. For other animations, see chart.animation and the animation parameter
  58435. * under the API methods. The following properties are supported:
  58436. *
  58437. * - `defer`: The animation delay time in milliseconds.
  58438. *
  58439. * - `duration`: The duration of the animation in milliseconds.
  58440. *
  58441. * - `easing`: Can be a string reference to an easing function set on the `Math`
  58442. * object or a function. See the _Custom easing function_ demo below.
  58443. *
  58444. * Due to poor performance, animation is disabled in old IE browsers for several
  58445. * chart types.
  58446. */
  58447. export interface PlotMacdAnimationOptions {
  58448. defer?: number;
  58449. }
  58450. /**
  58451. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58452. * animation when a series is displayed for the `dataLabels`. The animation can
  58453. * also be set as a configuration object. Please note that this option only
  58454. * applies to the initial animation. For other animations, see chart.animation
  58455. * and the animation parameter under the API methods. The following properties
  58456. * are supported:
  58457. *
  58458. * - `defer`: The animation delay time in milliseconds.
  58459. */
  58460. export interface PlotMacdDataLabelsAnimationOptions {
  58461. /**
  58462. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  58463. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  58464. * inherits defer time from the series.animation.defer.
  58465. */
  58466. defer?: number;
  58467. }
  58468. /**
  58469. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  58470. * appearing next to each data point.
  58471. *
  58472. * Since v6.2.0, multiple data labels can be applied to each single point by
  58473. * defining them as an array of configs.
  58474. *
  58475. * In styled mode, the data labels can be styled with the
  58476. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  58477. * example).
  58478. */
  58479. export interface PlotMacdDataLabelsOptions {
  58480. /**
  58481. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  58482. * compared to the point. If `right`, the right side of the label should be
  58483. * touching the point. For points with an extent, like columns, the
  58484. * alignments also dictates how to align it inside the box, as given with
  58485. * the inside option. Can be one of `left`, `center` or `right`.
  58486. */
  58487. align?: (AlignValue|null);
  58488. /**
  58489. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  58490. * overlap. To make the labels less sensitive for overlapping, the
  58491. * dataLabels.padding can be set to 0.
  58492. */
  58493. allowOverlap?: boolean;
  58494. /**
  58495. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  58496. * animation when a series is displayed for the `dataLabels`. The animation
  58497. * can also be set as a configuration object. Please note that this option
  58498. * only applies to the initial animation. For other animations, see
  58499. * chart.animation and the animation parameter under the API methods. The
  58500. * following properties are supported:
  58501. *
  58502. * - `defer`: The animation delay time in milliseconds.
  58503. */
  58504. animation?: (boolean|PlotMacdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  58505. /**
  58506. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  58507. * for the data label.
  58508. */
  58509. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  58510. /**
  58511. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  58512. * label. Defaults to `undefined`.
  58513. */
  58514. borderColor?: (ColorString|GradientColorObject|PatternObject);
  58515. /**
  58516. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  58517. * the data label.
  58518. */
  58519. borderRadius?: number;
  58520. /**
  58521. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  58522. * the data label.
  58523. */
  58524. borderWidth?: number;
  58525. /**
  58526. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  58527. * Particularly in styled mode, this can be used to give each series' or
  58528. * point's data label unique styling. In addition to this option, a default
  58529. * color class name is added so that we can give the labels a contrast text
  58530. * shadow.
  58531. */
  58532. className?: string;
  58533. /**
  58534. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  58535. * labels. Defaults to `undefined`. For certain series types, like column or
  58536. * map, the data labels can be drawn inside the points. In this case the
  58537. * data label will be drawn with maximum contrast by default. Additionally,
  58538. * it will be given a `text-outline` style with the opposite color, to
  58539. * further increase the contrast. This can be overridden by setting the
  58540. * `text-outline` style to `none` in the `dataLabels.style` option.
  58541. */
  58542. color?: (ColorString|GradientColorObject|PatternObject);
  58543. /**
  58544. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  58545. * are outside the plot area. By default, the data label is moved inside the
  58546. * plot area according to the overflow option.
  58547. */
  58548. crop?: boolean;
  58549. /**
  58550. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  58551. * labels until the initial series animation has finished. Setting to
  58552. * `false` renders the data label immediately. If set to `true` inherits the
  58553. * defer time set in plotOptions.series.animation. If set to a number, a
  58554. * defer time is specified in milliseconds.
  58555. */
  58556. defer?: (boolean|number);
  58557. /**
  58558. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  58559. * labels.
  58560. */
  58561. enabled?: boolean;
  58562. /**
  58563. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  58564. * of which data labels to display. The declarative filter is designed for
  58565. * use when callback functions are not available, like when the chart
  58566. * options require a pure JSON structure or for use with graphical editors.
  58567. * For programmatic control, use the `formatter` instead, and return
  58568. * `undefined` to disable a single data label.
  58569. */
  58570. filter?: DataLabelsFilterOptionsObject;
  58571. /**
  58572. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  58573. * label. Available variables are the same as for `formatter`.
  58574. */
  58575. format?: string;
  58576. /**
  58577. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  58578. * format the data label. Note that if a `format` is defined, the format
  58579. * takes precedence and the formatter is ignored.
  58580. */
  58581. formatter?: DataLabelsFormatterCallbackFunction;
  58582. /**
  58583. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  58584. * columns or map areas, whether to align the data label inside the box or
  58585. * to the actual value point. Defaults to `false` in most cases, `true` in
  58586. * stacked columns.
  58587. */
  58588. inside?: boolean;
  58589. /**
  58590. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  58591. * of null. Works analogously to format. `nullFormat` can be applied only to
  58592. * series which support displaying null points.
  58593. */
  58594. nullFormat?: (boolean|string);
  58595. /**
  58596. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  58597. * that defines formatting for points with the value of null. Works
  58598. * analogously to formatter. `nullPointFormatter` can be applied only to
  58599. * series which support displaying null points.
  58600. */
  58601. nullFormatter?: DataLabelsFormatterCallbackFunction;
  58602. /**
  58603. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  58604. * flow outside the plot area. The default is `"justify"`, which aligns them
  58605. * inside the plot area. For columns and bars, this means it will be moved
  58606. * inside the bar. To display data labels outside the plot area, set `crop`
  58607. * to `false` and `overflow` to `"allow"`.
  58608. */
  58609. overflow?: DataLabelsOverflowValue;
  58610. /**
  58611. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  58612. * the `backgroundColor` is set, this is the padding within the box.
  58613. */
  58614. padding?: number;
  58615. /**
  58616. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  58617. * points. If `center` alignment is not possible, it defaults to `right`.
  58618. */
  58619. position?: AlignValue;
  58620. /**
  58621. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  58622. * that due to a more complex structure, backgrounds, borders and padding
  58623. * will be lost on a rotated data label.
  58624. */
  58625. rotation?: number;
  58626. /**
  58627. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  58628. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  58629. * an object configuration containing `color`, `offsetX`, `offsetY`,
  58630. * `opacity` and `width`.
  58631. */
  58632. shadow?: (boolean|ShadowOptionsObject);
  58633. /**
  58634. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  58635. * the border around the label. Symbols are predefined functions on the
  58636. * Renderer object.
  58637. */
  58638. shape?: string;
  58639. /**
  58640. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  58641. * default `color` setting is `"contrast"`, which is a pseudo color that
  58642. * Highcharts picks up and applies the maximum contrast to the underlying
  58643. * point item, for example the bar in a bar chart.
  58644. *
  58645. * The `textOutline` is a pseudo property that applies an outline of the
  58646. * given width with the given color, which by default is the maximum
  58647. * contrast to the text. So a bright text color will result in a black text
  58648. * outline for maximum readability on a mixed background. In some cases,
  58649. * especially with grayscale text, the text outline doesn't work well, in
  58650. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  58651. * is true, the `textOutline` will not be picked up. In this, case, the same
  58652. * effect can be acheived through the `text-shadow` CSS property.
  58653. *
  58654. * For some series types, where each point has an extent, like for example
  58655. * tree maps, the data label may overflow the point. There are two
  58656. * strategies for handling overflow. By default, the text will wrap to
  58657. * multiple lines. The other strategy is to set `style.textOverflow` to
  58658. * `ellipsis`, which will keep the text on one line plus it will break
  58659. * inside long words.
  58660. */
  58661. style?: CSSObject;
  58662. /**
  58663. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  58664. * should follow marker's shape. Border and background are disabled for a
  58665. * label that follows a path.
  58666. *
  58667. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  58668. * to true will disable this option.
  58669. */
  58670. textPath?: DataLabelsTextPathOptionsObject;
  58671. /**
  58672. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  58673. * the labels.
  58674. */
  58675. useHTML?: boolean;
  58676. /**
  58677. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  58678. * label. Can be one of `top`, `middle` or `bottom`. The default value
  58679. * depends on the data, for instance in a column chart, the label is above
  58680. * positive values and below negative values.
  58681. */
  58682. verticalAlign?: (VerticalAlignValue|null);
  58683. /**
  58684. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  58685. * label relative to the point in pixels.
  58686. */
  58687. x?: number;
  58688. /**
  58689. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  58690. * label relative to the point in pixels.
  58691. */
  58692. y?: number;
  58693. /**
  58694. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  58695. * The default Z index puts it above the series. Use a Z index of 2 to
  58696. * display it behind the series.
  58697. */
  58698. z?: number;
  58699. }
  58700. /**
  58701. * (Highcharts, Highstock) Options for the series data sorting.
  58702. */
  58703. export interface PlotMacdDataSortingOptions {
  58704. /**
  58705. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  58706. * Use xAxis.reversed to change the sorting order.
  58707. */
  58708. enabled?: boolean;
  58709. /**
  58710. * (Highcharts, Highstock) Whether to allow matching points by name in an
  58711. * update. If this option is disabled, points will be matched by order.
  58712. */
  58713. matchByName?: boolean;
  58714. /**
  58715. * (Highcharts, Highstock) Determines what data value should be used to sort
  58716. * by.
  58717. */
  58718. sortKey?: string;
  58719. }
  58720. /**
  58721. * (Highstock) The styles for macd line
  58722. */
  58723. export interface PlotMacdMacdLineOptions {
  58724. styles?: PlotMacdMacdLineStylesOptions;
  58725. /**
  58726. * (Highcharts, Highstock) An array defining zones within a series. Zones
  58727. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  58728. * the `zoneAxis` option. The zone definitions have to be in ascending order
  58729. * regarding to the value.
  58730. *
  58731. * In styled mode, the color zones are styled with the
  58732. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  58733. * option (view live demo).
  58734. */
  58735. zones?: Array<SeriesZonesOptionsObject>;
  58736. }
  58737. export interface PlotMacdMacdLineStylesOptions {
  58738. /**
  58739. * (Highstock) Color of the line.
  58740. */
  58741. lineColor?: ColorString;
  58742. /**
  58743. * (Highstock) Pixel width of the line.
  58744. */
  58745. lineWidth?: number;
  58746. }
  58747. /**
  58748. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  58749. * requires `linkedTo` option to be set and should be loaded after the
  58750. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  58751. *
  58752. * In TypeScript the type option must always be set.
  58753. *
  58754. * Configuration options for the series are given in three levels:
  58755. *
  58756. * 1. Options for all series in a chart are defined in the plotOptions.series
  58757. * object.
  58758. *
  58759. * 2. Options for all `macd` series are defined in plotOptions.macd.
  58760. *
  58761. * 3. Options for one single series are given in the series instance array. (see
  58762. * online documentation for example)
  58763. */
  58764. export interface PlotMacdOptions {
  58765. /**
  58766. * (Highstock) Accessibility options for a series.
  58767. */
  58768. accessibility?: SeriesAccessibilityOptionsObject;
  58769. /**
  58770. * (Highstock) Allow this series' points to be selected by clicking on the
  58771. * graphic (columns, point markers, pie slices, map areas etc).
  58772. *
  58773. * The selected points can be handled by point select and unselect events,
  58774. * or collectively by the getSelectedPoints function.
  58775. *
  58776. * And alternative way of selecting points is through dragging.
  58777. */
  58778. allowPointSelect?: boolean;
  58779. /**
  58780. * (Highstock) Enable or disable the initial animation when a series is
  58781. * displayed. The animation can also be set as a configuration object.
  58782. * Please note that this option only applies to the initial animation of the
  58783. * series itself. For other animations, see chart.animation and the
  58784. * animation parameter under the API methods. The following properties are
  58785. * supported:
  58786. *
  58787. * - `defer`: The animation delay time in milliseconds.
  58788. *
  58789. * - `duration`: The duration of the animation in milliseconds.
  58790. *
  58791. * - `easing`: Can be a string reference to an easing function set on the
  58792. * `Math` object or a function. See the _Custom easing function_ demo below.
  58793. *
  58794. * Due to poor performance, animation is disabled in old IE browsers for
  58795. * several chart types.
  58796. */
  58797. animation?: (boolean|PlotMacdAnimationOptions|Partial<AnimationOptionsObject>);
  58798. /**
  58799. * (Highstock) For some series, there is a limit that shuts down initial
  58800. * animation by default when the total number of points in the chart is too
  58801. * high. For example, for a column chart and its derivatives, animation does
  58802. * not run if there is more than 250 points totally. To disable this cap,
  58803. * set `animationLimit` to `Infinity`.
  58804. */
  58805. animationLimit?: number;
  58806. /**
  58807. * (Highstock) Sets the color blending in the boost module.
  58808. */
  58809. boostBlending?: OptionsBoostBlendingValue;
  58810. /**
  58811. * (Highstock) Set the point threshold for when a series should enter boost
  58812. * mode.
  58813. *
  58814. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  58815. * there are 2000 or more points in the series.
  58816. *
  58817. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  58818. * it to 1 will force boosting.
  58819. *
  58820. * Note that the cropThreshold also affects this setting. When zooming in on
  58821. * a series that has fewer points than the `cropThreshold`, all points are
  58822. * rendered although outside the visible plot area, and the `boostThreshold`
  58823. * won't take effect.
  58824. */
  58825. boostThreshold?: number;
  58826. /**
  58827. * (Highmaps) The border color of the map areas.
  58828. *
  58829. * In styled mode, the border stroke is given in the `.highcharts-point`
  58830. * class.
  58831. */
  58832. borderColor?: (ColorString|GradientColorObject|PatternObject);
  58833. /**
  58834. * (Highmaps) The border width of each map area.
  58835. *
  58836. * In styled mode, the border stroke width is given in the
  58837. * `.highcharts-point` class.
  58838. */
  58839. borderWidth?: number;
  58840. /**
  58841. * (Highstock) An additional class name to apply to the series' graphical
  58842. * elements. This option does not replace default class names of the
  58843. * graphical element.
  58844. */
  58845. className?: string;
  58846. /**
  58847. * (Highstock) Disable this option to allow series rendering in the whole
  58848. * plotting area.
  58849. *
  58850. * **Note:** Clipping should be always enabled when chart.zoomType is set
  58851. */
  58852. clip?: boolean;
  58853. /**
  58854. * (Highstock) The main color of the series. In line type series it applies
  58855. * to the line and the point markers unless otherwise specified. In bar type
  58856. * series it applies to the bars unless a color is specified per point. The
  58857. * default value is pulled from the `options.colors` array.
  58858. *
  58859. * In styled mode, the color can be defined by the colorIndex option. Also,
  58860. * the series color can be set with the `.highcharts-series`,
  58861. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  58862. * `.highcharts-series-{n}` class, or individual classes given by the
  58863. * `className` option.
  58864. */
  58865. color?: (ColorString|GradientColorObject|PatternObject);
  58866. /**
  58867. * (Highstock) Styled mode only. A specific color index to use for the
  58868. * series, so its graphic representations are given the class name
  58869. * `highcharts-color-{n}`.
  58870. */
  58871. colorIndex?: number;
  58872. /**
  58873. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  58874. * used to calculate point color if `colorAxis` is used. Requires to set
  58875. * `min` and `max` if some custom point property is used or if approximation
  58876. * for data grouping is set to `'sum'`.
  58877. */
  58878. colorKey?: string;
  58879. /**
  58880. * (Highstock) Compare the values of the series against the first non-null,
  58881. * non- zero value in the visible range. The y axis will show percentage or
  58882. * absolute change depending on whether `compare` is set to `"percent"` or
  58883. * `"value"`. When this is applied to multiple series, it allows comparing
  58884. * the development of the series against each other. Adds a `change` field
  58885. * to every point object.
  58886. */
  58887. compare?: string;
  58888. /**
  58889. * (Highstock) When compare is `percent`, this option dictates whether to
  58890. * use 0 or 100 as the base of comparison.
  58891. */
  58892. compareBase?: (0|100);
  58893. /**
  58894. * (Highstock) Defines if comparison should start from the first point
  58895. * within the visible range or should start from the first point **before**
  58896. * the range.
  58897. *
  58898. * In other words, this flag determines if first point within the visible
  58899. * range will have 0% (`compareStart=true`) or should have been already
  58900. * calculated according to the previous point (`compareStart=false`).
  58901. */
  58902. compareStart?: boolean;
  58903. /**
  58904. * (Highstock) Whether to compare indicator to the main series values or
  58905. * indicator values.
  58906. */
  58907. compareToMain?: boolean;
  58908. /**
  58909. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  58910. * series plot across the extremes.
  58911. */
  58912. connectEnds?: boolean;
  58913. /**
  58914. * (Highcharts, Highstock) Whether to connect a graph line across null
  58915. * points, or render a gap between the two points on either side of the
  58916. * null.
  58917. */
  58918. connectNulls?: boolean;
  58919. /**
  58920. * (Gantt) Override Pathfinder connector options for a series. Requires
  58921. * Highcharts Gantt to be loaded.
  58922. */
  58923. connectors?: SeriesConnectorsOptionsObject;
  58924. /**
  58925. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  58926. * rounded to its nearest pixel in order to render sharp on screen. In some
  58927. * cases, when there are a lot of densely packed columns, this leads to
  58928. * visible difference in column widths or distance between columns. In these
  58929. * cases, setting `crisp` to `false` may look better, even though each
  58930. * column is rendered blurry.
  58931. */
  58932. crisp?: boolean;
  58933. /**
  58934. * (Highcharts, Highstock) When the series contains less points than the
  58935. * crop threshold, all points are drawn, even if the points fall outside the
  58936. * visible plot area at the current zoom. The advantage of drawing all
  58937. * points (including markers and columns), is that animation is performed on
  58938. * updates. On the other hand, when the series contains more points than the
  58939. * crop threshold, the series data is cropped to only contain points that
  58940. * fall within the plot area. The advantage of cropping away invisible
  58941. * points is to increase performance on large series.
  58942. */
  58943. cropThreshold?: number;
  58944. /**
  58945. * (Highstock) You can set the cursor to "pointer" if you have click events
  58946. * attached to the series, to signal to the user that the points and lines
  58947. * can be clicked.
  58948. *
  58949. * In styled mode, the series cursor can be set with the same classes as
  58950. * listed under series.color.
  58951. */
  58952. cursor?: (string|CursorValue);
  58953. /**
  58954. * (Highstock) A reserved subspace to store options and values for
  58955. * customized functionality. Here you can add additional data for your own
  58956. * event callbacks and formatter callbacks.
  58957. */
  58958. custom?: Dictionary<any>;
  58959. /**
  58960. * (Highstock) Name of the dash style to use for the graph, or for some
  58961. * series types the outline of each shape.
  58962. *
  58963. * In styled mode, the stroke dash-array can be set with the same classes as
  58964. * listed under series.color.
  58965. */
  58966. dashStyle?: DashStyleValue;
  58967. /**
  58968. * (Highstock) Data grouping is the concept of sampling the data values into
  58969. * larger blocks in order to ease readability and increase performance of
  58970. * the JavaScript charts. Highcharts Stock by default applies data grouping
  58971. * when the points become closer than a certain pixel value, determined by
  58972. * the `groupPixelWidth` option.
  58973. *
  58974. * If data grouping is applied, the grouping information of grouped points
  58975. * can be read from the Point.dataGroup. If point options other than the
  58976. * data itself are set, for example `name` or `color` or custom properties,
  58977. * the grouping logic doesn't know how to group it. In this case the options
  58978. * of the first point instance are copied over to the group point. This can
  58979. * be altered through a custom `approximation` callback function.
  58980. */
  58981. dataGrouping?: DataGroupingOptionsObject;
  58982. /**
  58983. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  58984. * labels, appearing next to each data point.
  58985. *
  58986. * Since v6.2.0, multiple data labels can be applied to each single point by
  58987. * defining them as an array of configs.
  58988. *
  58989. * In styled mode, the data labels can be styled with the
  58990. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  58991. * (see example).
  58992. */
  58993. dataLabels?: (PlotMacdDataLabelsOptions|Array<PlotMacdDataLabelsOptions>);
  58994. /**
  58995. * (Highcharts, Highstock) Options for the series data sorting.
  58996. */
  58997. dataSorting?: (DataSortingOptionsObject|PlotMacdDataSortingOptions);
  58998. /**
  58999. * (Highstock) A description of the series to add to the screen reader
  59000. * information about the series.
  59001. */
  59002. description?: string;
  59003. /**
  59004. * (Highstock) Enable or disable the mouse tracking for a specific series.
  59005. * This includes point tooltips and click events on graphs and points. For
  59006. * large datasets it improves performance.
  59007. */
  59008. enableMouseTracking?: boolean;
  59009. /**
  59010. * (Highstock) General event handlers for the series items. These event
  59011. * hooks can also be attached to the series at run time using the
  59012. * `Highcharts.addEvent` function.
  59013. */
  59014. events?: SeriesEventsOptionsObject;
  59015. /**
  59016. * (Highstock) Determines whether the series should look for the nearest
  59017. * point in both dimensions or just the x-dimension when hovering the
  59018. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  59019. * series. If the data has duplicate x-values, it is recommended to set this
  59020. * to `'xy'` to allow hovering over all points.
  59021. *
  59022. * Applies only to series types using nearest neighbor search (not direct
  59023. * hover) for tooltip.
  59024. */
  59025. findNearestPointBy?: OptionsFindNearestPointByValue;
  59026. /**
  59027. * (Highstock) Defines when to display a gap in the graph, together with the
  59028. * gapUnit option.
  59029. *
  59030. * In case when `dataGrouping` is enabled, points can be grouped into a
  59031. * larger time span. This can make the grouped points to have a greater
  59032. * distance than the absolute value of `gapSize` property, which will result
  59033. * in disappearing graph completely. To prevent this situation the mentioned
  59034. * distance between grouped points is used instead of previously defined
  59035. * `gapSize`.
  59036. *
  59037. * In practice, this option is most often used to visualize gaps in time
  59038. * series. In a stock chart, intraday data is available for daytime hours,
  59039. * while gaps will appear in nights and weekends.
  59040. */
  59041. gapSize?: number;
  59042. /**
  59043. * (Highstock) Together with gapSize, this option defines where to draw gaps
  59044. * in the graph.
  59045. *
  59046. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  59047. * if the distance between two points is greater than 5 times that of the
  59048. * two closest points, the graph will be broken.
  59049. *
  59050. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  59051. * values, which on a datetime axis is milliseconds. This also applies to
  59052. * the navigator series that inherits gap options from the base series.
  59053. */
  59054. gapUnit?: OptionsGapUnitValue;
  59055. /**
  59056. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  59057. * chart width or only the zoomed area when zooming in on parts of the X
  59058. * axis. By default, the Y axis adjusts to the min and max of the visible
  59059. * data. Cartesian series only.
  59060. */
  59061. getExtremesFromAll?: boolean;
  59062. groupPadding?: number;
  59063. /**
  59064. * (Highstock) When set to `false` will prevent the series data from being
  59065. * included in any form of data export.
  59066. *
  59067. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  59068. * `includeInCSVExport`.
  59069. */
  59070. includeInDataExport?: boolean;
  59071. /**
  59072. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  59073. * series as possible in a natural way, seeking to avoid other series. The
  59074. * goal of this feature is to make the chart more easily readable, like if a
  59075. * human designer placed the labels in the optimal position.
  59076. *
  59077. * The series labels currently work with series types having a `graph` or an
  59078. * `area`.
  59079. */
  59080. label?: SeriesLabelOptionsObject;
  59081. /**
  59082. * (Highstock) The line marks the last price from all points.
  59083. */
  59084. lastPrice?: SeriesLastPriceOptionsObject;
  59085. /**
  59086. * (Highstock) The line marks the last price from visible range of points.
  59087. */
  59088. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  59089. /**
  59090. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  59091. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  59092. * the ends and bends.
  59093. */
  59094. linecap?: SeriesLinecapValue;
  59095. /**
  59096. * (Highcharts, Highstock) Pixel width of the graph line.
  59097. */
  59098. lineWidth?: number;
  59099. /**
  59100. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  59101. * based on. Required for this indicator.
  59102. */
  59103. linkedTo?: string;
  59104. /**
  59105. * (Highstock) The styles for macd line
  59106. */
  59107. macdLine?: PlotMacdMacdLineOptions;
  59108. /**
  59109. * (Highstock) Options for the point markers of line-like series. Properties
  59110. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  59111. * appearance of the markers. Other series types, like column series, don't
  59112. * have markers, but have visual options on the series level instead.
  59113. *
  59114. * In styled mode, the markers can be styled with the `.highcharts-point`,
  59115. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  59116. */
  59117. marker?: PointMarkerOptionsObject;
  59118. minPointLength?: number;
  59119. /**
  59120. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  59121. * If not set, it will be based on a technical indicator type and default
  59122. * params.
  59123. */
  59124. name?: string;
  59125. /**
  59126. * (Highstock) The color for the parts of the graph or points that are below
  59127. * the threshold. Note that `zones` takes precedence over the negative
  59128. * color. Using `negativeColor` is equivalent to applying a zone with value
  59129. * of 0.
  59130. */
  59131. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  59132. /**
  59133. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  59134. * dataLabels.
  59135. */
  59136. opacity?: number;
  59137. /**
  59138. * (Highstock) Paramters used in calculation of regression series' points.
  59139. */
  59140. params?: PlotMacdParamsOptions;
  59141. /**
  59142. * (Highstock) Properties for each single point.
  59143. */
  59144. point?: PlotSeriesPointOptions;
  59145. /**
  59146. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  59147. * individual series. Overrides the chart wide configuration.
  59148. */
  59149. pointDescriptionFormatter?: Function;
  59150. pointPadding?: number;
  59151. /**
  59152. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  59153. * true, the checkbox next to the series name in the legend will be checked
  59154. * for a selected series.
  59155. */
  59156. selected?: boolean;
  59157. /**
  59158. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  59159. * the shadow can be an object configuration containing `color`, `offsetX`,
  59160. * `offsetY`, `opacity` and `width`.
  59161. */
  59162. shadow?: (boolean|ShadowOptionsObject);
  59163. /**
  59164. * (Highstock) If true, a checkbox is displayed next to the legend item to
  59165. * allow selecting the series. The state of the checkbox is determined by
  59166. * the `selected` option.
  59167. */
  59168. showCheckbox?: boolean;
  59169. /**
  59170. * (Highstock) Whether to display this particular series or series type in
  59171. * the legend. Standalone series are shown in legend by default, and linked
  59172. * series are not. Since v7.2.0 it is possible to show series that use
  59173. * colorAxis by setting this option to `true`.
  59174. */
  59175. showInLegend?: boolean;
  59176. /**
  59177. * (Highstock) The styles for signal line
  59178. */
  59179. signalLine?: PlotMacdSignalLineOptions;
  59180. /**
  59181. * (Highstock) If set to `true`, the accessibility module will skip past the
  59182. * points in this series for keyboard navigation.
  59183. */
  59184. skipKeyboardNavigation?: boolean;
  59185. /**
  59186. * (Highcharts, Highstock) When this is true, the series will not cause the
  59187. * Y axis to cross the zero plane (or threshold option) unless the data
  59188. * actually crosses the plane.
  59189. *
  59190. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  59191. * make the Y axis show negative values according to the `minPadding`
  59192. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  59193. */
  59194. softThreshold?: boolean;
  59195. states?: SeriesStatesOptionsObject;
  59196. /**
  59197. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  59198. * values are `left`, `center` and `right`.
  59199. */
  59200. step?: OptionsStepValue;
  59201. /**
  59202. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  59203. * event on a series isn't triggered until the mouse moves over another
  59204. * series, or out of the plot area. When false, the `mouseOut` event on a
  59205. * series is triggered when the mouse leaves the area around the series'
  59206. * graph or markers. This also implies the tooltip when not shared. When
  59207. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  59208. * be hidden when moving the mouse between series. Defaults to true for line
  59209. * and area type series, but to false for columns, pies etc.
  59210. *
  59211. * **Note:** The boost module will force this option because of technical
  59212. * limitations.
  59213. */
  59214. stickyTracking?: boolean;
  59215. /**
  59216. * (Highcharts, Highstock) The threshold, also called zero level or base
  59217. * level. For line type series this is only used in conjunction with
  59218. * negativeColor.
  59219. */
  59220. threshold?: (number|null);
  59221. /**
  59222. * (Highstock) A configuration object for the tooltip rendering of each
  59223. * single series. Properties are inherited from tooltip, but only the
  59224. * following properties can be defined on a series level.
  59225. */
  59226. tooltip?: SeriesTooltipOptionsObject;
  59227. /**
  59228. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  59229. * is longer than this, only one dimensional arrays of numbers, or two
  59230. * dimensional arrays with x and y values are allowed. Also, only the first
  59231. * point is tested, and the rest are assumed to be the same format. This
  59232. * saves expensive data checking and indexing in long series. Set it to `0`
  59233. * disable.
  59234. *
  59235. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  59236. * two dimensional arrays are allowed.
  59237. */
  59238. turboThreshold?: number;
  59239. /**
  59240. * (Highstock) Set the initial visibility of the series.
  59241. */
  59242. visible?: boolean;
  59243. /**
  59244. * (Highmaps) Define the z index of the series.
  59245. */
  59246. zIndex?: number;
  59247. /**
  59248. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  59249. */
  59250. zoneAxis?: string;
  59251. /**
  59252. * (Highcharts, Highstock) An array defining zones within a series. Zones
  59253. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  59254. * the `zoneAxis` option. The zone definitions have to be in ascending order
  59255. * regarding to the value.
  59256. *
  59257. * In styled mode, the color zones are styled with the
  59258. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  59259. * option (view live demo).
  59260. */
  59261. zones?: Array<SeriesZonesOptionsObject>;
  59262. }
  59263. /**
  59264. * (Highstock) Paramters used in calculation of regression series' points.
  59265. */
  59266. export interface PlotMacdParamsOptions {
  59267. /**
  59268. * (Highstock) The point index which indicator calculations will base. For
  59269. * example using OHLC data, index=2 means the indicator will be calculated
  59270. * using Low values.
  59271. */
  59272. index?: number;
  59273. /**
  59274. * (Highstock) The long period for indicator calculations.
  59275. */
  59276. longPeriod?: number;
  59277. /**
  59278. * (Highstock) The base period for indicator calculations. This is the
  59279. * number of data points which are taken into account for the indicator
  59280. * calculations.
  59281. */
  59282. period?: number;
  59283. /**
  59284. * (Highstock) The short period for indicator calculations.
  59285. */
  59286. shortPeriod?: number;
  59287. /**
  59288. * (Highstock) The base period for signal calculations.
  59289. */
  59290. signalPeriod?: number;
  59291. }
  59292. /**
  59293. * (Highstock) The styles for signal line
  59294. */
  59295. export interface PlotMacdSignalLineOptions {
  59296. styles?: PlotMacdSignalLineStylesOptions;
  59297. /**
  59298. * (Highcharts, Highstock) An array defining zones within a series. Zones
  59299. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  59300. * the `zoneAxis` option. The zone definitions have to be in ascending order
  59301. * regarding to the value.
  59302. *
  59303. * In styled mode, the color zones are styled with the
  59304. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  59305. * option (view live demo).
  59306. */
  59307. zones?: Array<SeriesZonesOptionsObject>;
  59308. }
  59309. export interface PlotMacdSignalLineStylesOptions {
  59310. /**
  59311. * (Highstock) Color of the line.
  59312. */
  59313. lineColor?: ColorString;
  59314. /**
  59315. * (Highstock) Pixel width of the line.
  59316. */
  59317. lineWidth?: number;
  59318. }
  59319. /**
  59320. * (Highmaps) Enable or disable the initial animation when a series is
  59321. * displayed. The animation can also be set as a configuration object. Please
  59322. * note that this option only applies to the initial animation of the series
  59323. * itself. For other animations, see chart.animation and the animation parameter
  59324. * under the API methods. The following properties are supported:
  59325. *
  59326. * - `defer`: The animation delay time in milliseconds.
  59327. *
  59328. * - `duration`: The duration of the animation in milliseconds.
  59329. *
  59330. * - `easing`: Can be a string reference to an easing function set on the `Math`
  59331. * object or a function. See the _Custom easing function_ demo below.
  59332. *
  59333. * Due to poor performance, animation is disabled in old IE browsers for several
  59334. * chart types.
  59335. */
  59336. export interface PlotMapAnimationOptions {
  59337. defer?: number;
  59338. }
  59339. /**
  59340. * (Highmaps) Enable or disable the initial animation when a series is
  59341. * displayed. The animation can also be set as a configuration object. Please
  59342. * note that this option only applies to the initial animation of the series
  59343. * itself. For other animations, see chart.animation and the animation parameter
  59344. * under the API methods. The following properties are supported:
  59345. *
  59346. * - `defer`: The animation delay time in milliseconds.
  59347. *
  59348. * - `duration`: The duration of the animation in milliseconds.
  59349. *
  59350. * - `easing`: Can be a string reference to an easing function set on the `Math`
  59351. * object or a function. See the _Custom easing function_ demo below.
  59352. *
  59353. * Due to poor performance, animation is disabled in old IE browsers for several
  59354. * chart types.
  59355. */
  59356. export interface PlotMapbubbleAnimationOptions {
  59357. defer?: number;
  59358. }
  59359. /**
  59360. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59361. * animation when a series is displayed for the `dataLabels`. The animation can
  59362. * also be set as a configuration object. Please note that this option only
  59363. * applies to the initial animation. For other animations, see chart.animation
  59364. * and the animation parameter under the API methods. The following properties
  59365. * are supported:
  59366. *
  59367. * - `defer`: The animation delay time in milliseconds.
  59368. */
  59369. export interface PlotMapbubbleDataLabelsAnimationOptions {
  59370. /**
  59371. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  59372. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  59373. * inherits defer time from the series.animation.defer.
  59374. */
  59375. defer?: number;
  59376. }
  59377. /**
  59378. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  59379. * appearing next to each data point.
  59380. *
  59381. * Since v6.2.0, multiple data labels can be applied to each single point by
  59382. * defining them as an array of configs.
  59383. *
  59384. * In styled mode, the data labels can be styled with the
  59385. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  59386. * example).
  59387. */
  59388. export interface PlotMapbubbleDataLabelsOptions {
  59389. /**
  59390. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  59391. * compared to the point. If `right`, the right side of the label should be
  59392. * touching the point. For points with an extent, like columns, the
  59393. * alignments also dictates how to align it inside the box, as given with
  59394. * the inside option. Can be one of `left`, `center` or `right`.
  59395. */
  59396. align?: (AlignValue|null);
  59397. /**
  59398. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  59399. * overlap. To make the labels less sensitive for overlapping, the
  59400. * dataLabels.padding can be set to 0.
  59401. */
  59402. allowOverlap?: boolean;
  59403. /**
  59404. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  59405. * animation when a series is displayed for the `dataLabels`. The animation
  59406. * can also be set as a configuration object. Please note that this option
  59407. * only applies to the initial animation. For other animations, see
  59408. * chart.animation and the animation parameter under the API methods. The
  59409. * following properties are supported:
  59410. *
  59411. * - `defer`: The animation delay time in milliseconds.
  59412. */
  59413. animation?: (boolean|PlotMapbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  59414. /**
  59415. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  59416. * for the data label.
  59417. */
  59418. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  59419. /**
  59420. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  59421. * label. Defaults to `undefined`.
  59422. */
  59423. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59424. /**
  59425. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  59426. * the data label.
  59427. */
  59428. borderRadius?: number;
  59429. /**
  59430. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  59431. * the data label.
  59432. */
  59433. borderWidth?: number;
  59434. /**
  59435. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  59436. * Particularly in styled mode, this can be used to give each series' or
  59437. * point's data label unique styling. In addition to this option, a default
  59438. * color class name is added so that we can give the labels a contrast text
  59439. * shadow.
  59440. */
  59441. className?: string;
  59442. /**
  59443. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  59444. * labels. Defaults to `undefined`. For certain series types, like column or
  59445. * map, the data labels can be drawn inside the points. In this case the
  59446. * data label will be drawn with maximum contrast by default. Additionally,
  59447. * it will be given a `text-outline` style with the opposite color, to
  59448. * further increase the contrast. This can be overridden by setting the
  59449. * `text-outline` style to `none` in the `dataLabels.style` option.
  59450. */
  59451. color?: (ColorString|GradientColorObject|PatternObject);
  59452. /**
  59453. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  59454. * are outside the plot area. By default, the data label is moved inside the
  59455. * plot area according to the overflow option.
  59456. */
  59457. crop?: boolean;
  59458. /**
  59459. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  59460. * labels until the initial series animation has finished. Setting to
  59461. * `false` renders the data label immediately. If set to `true` inherits the
  59462. * defer time set in plotOptions.series.animation. If set to a number, a
  59463. * defer time is specified in milliseconds.
  59464. */
  59465. defer?: (boolean|number);
  59466. /**
  59467. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  59468. * labels.
  59469. */
  59470. enabled?: boolean;
  59471. /**
  59472. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  59473. * of which data labels to display. The declarative filter is designed for
  59474. * use when callback functions are not available, like when the chart
  59475. * options require a pure JSON structure or for use with graphical editors.
  59476. * For programmatic control, use the `formatter` instead, and return
  59477. * `undefined` to disable a single data label.
  59478. */
  59479. filter?: DataLabelsFilterOptionsObject;
  59480. /**
  59481. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  59482. * label. Available variables are the same as for `formatter`.
  59483. */
  59484. format?: string;
  59485. /**
  59486. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  59487. * format the data label. Note that if a `format` is defined, the format
  59488. * takes precedence and the formatter is ignored.
  59489. */
  59490. formatter?: DataLabelsFormatterCallbackFunction;
  59491. /**
  59492. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  59493. * columns or map areas, whether to align the data label inside the box or
  59494. * to the actual value point. Defaults to `false` in most cases, `true` in
  59495. * stacked columns.
  59496. */
  59497. inside?: boolean;
  59498. /**
  59499. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  59500. * of null. Works analogously to format. `nullFormat` can be applied only to
  59501. * series which support displaying null points.
  59502. */
  59503. nullFormat?: (boolean|string);
  59504. /**
  59505. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  59506. * that defines formatting for points with the value of null. Works
  59507. * analogously to formatter. `nullPointFormatter` can be applied only to
  59508. * series which support displaying null points.
  59509. */
  59510. nullFormatter?: DataLabelsFormatterCallbackFunction;
  59511. /**
  59512. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  59513. * flow outside the plot area. The default is `"justify"`, which aligns them
  59514. * inside the plot area. For columns and bars, this means it will be moved
  59515. * inside the bar. To display data labels outside the plot area, set `crop`
  59516. * to `false` and `overflow` to `"allow"`.
  59517. */
  59518. overflow?: DataLabelsOverflowValue;
  59519. /**
  59520. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  59521. * the `backgroundColor` is set, this is the padding within the box.
  59522. */
  59523. padding?: number;
  59524. /**
  59525. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  59526. * points. If `center` alignment is not possible, it defaults to `right`.
  59527. */
  59528. position?: AlignValue;
  59529. /**
  59530. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  59531. * that due to a more complex structure, backgrounds, borders and padding
  59532. * will be lost on a rotated data label.
  59533. */
  59534. rotation?: number;
  59535. /**
  59536. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  59537. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  59538. * an object configuration containing `color`, `offsetX`, `offsetY`,
  59539. * `opacity` and `width`.
  59540. */
  59541. shadow?: (boolean|ShadowOptionsObject);
  59542. /**
  59543. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  59544. * the border around the label. Symbols are predefined functions on the
  59545. * Renderer object.
  59546. */
  59547. shape?: string;
  59548. /**
  59549. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  59550. * default `color` setting is `"contrast"`, which is a pseudo color that
  59551. * Highcharts picks up and applies the maximum contrast to the underlying
  59552. * point item, for example the bar in a bar chart.
  59553. *
  59554. * The `textOutline` is a pseudo property that applies an outline of the
  59555. * given width with the given color, which by default is the maximum
  59556. * contrast to the text. So a bright text color will result in a black text
  59557. * outline for maximum readability on a mixed background. In some cases,
  59558. * especially with grayscale text, the text outline doesn't work well, in
  59559. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  59560. * is true, the `textOutline` will not be picked up. In this, case, the same
  59561. * effect can be acheived through the `text-shadow` CSS property.
  59562. *
  59563. * For some series types, where each point has an extent, like for example
  59564. * tree maps, the data label may overflow the point. There are two
  59565. * strategies for handling overflow. By default, the text will wrap to
  59566. * multiple lines. The other strategy is to set `style.textOverflow` to
  59567. * `ellipsis`, which will keep the text on one line plus it will break
  59568. * inside long words.
  59569. */
  59570. style?: CSSObject;
  59571. /**
  59572. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  59573. * should follow marker's shape. Border and background are disabled for a
  59574. * label that follows a path.
  59575. *
  59576. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  59577. * to true will disable this option.
  59578. */
  59579. textPath?: DataLabelsTextPathOptionsObject;
  59580. /**
  59581. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  59582. * the labels.
  59583. */
  59584. useHTML?: boolean;
  59585. /**
  59586. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  59587. * label. Can be one of `top`, `middle` or `bottom`. The default value
  59588. * depends on the data, for instance in a column chart, the label is above
  59589. * positive values and below negative values.
  59590. */
  59591. verticalAlign?: string;
  59592. /**
  59593. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  59594. * label relative to the point in pixels.
  59595. */
  59596. x?: number;
  59597. /**
  59598. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  59599. * label relative to the point in pixels.
  59600. */
  59601. y?: number;
  59602. /**
  59603. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  59604. * The default Z index puts it above the series. Use a Z index of 2 to
  59605. * display it behind the series.
  59606. */
  59607. z?: number;
  59608. }
  59609. /**
  59610. * (Highcharts, Highstock) Options for the series data sorting.
  59611. */
  59612. export interface PlotMapbubbleDataSortingOptions {
  59613. /**
  59614. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  59615. * Use xAxis.reversed to change the sorting order.
  59616. */
  59617. enabled?: boolean;
  59618. /**
  59619. * (Highcharts, Highstock) Whether to allow matching points by name in an
  59620. * update. If this option is disabled, points will be matched by order.
  59621. */
  59622. matchByName?: boolean;
  59623. /**
  59624. * (Highcharts, Highstock) Determines what data value should be used to sort
  59625. * by.
  59626. */
  59627. sortKey?: string;
  59628. }
  59629. /**
  59630. * (Highmaps) Style options for the guide box. The guide box has one state by
  59631. * default, the `default` state.
  59632. */
  59633. export interface PlotMapbubbleDragDropGuideBoxOptions {
  59634. /**
  59635. * (Highmaps) Style options for the guide box default state.
  59636. */
  59637. default?: DragDropGuideBoxOptionsObject;
  59638. }
  59639. /**
  59640. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  59641. * plotting discrete values, a little random noise may help telling the points
  59642. * apart. The jitter setting applies a random displacement of up to `n` axis
  59643. * units in either direction. So for example on a horizontal X axis, setting the
  59644. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  59645. * units to the left and 0.24 units to the right of the true axis position. On a
  59646. * category axis, setting it to 0.5 will fill up the bin and make the data
  59647. * appear continuous.
  59648. *
  59649. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  59650. * will correspond to the underlying series' default groupPadding and
  59651. * pointPadding settings.
  59652. */
  59653. export interface PlotMapbubbleJitterOptions {
  59654. /**
  59655. * (Highcharts, Highstock) The maximal X offset for the random jitter
  59656. * effect.
  59657. */
  59658. x?: number;
  59659. /**
  59660. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  59661. * effect.
  59662. */
  59663. y?: number;
  59664. }
  59665. /**
  59666. * (Highmaps) A map bubble series is a bubble series laid out on top of a map
  59667. * series, where each bubble is tied to a specific map area.
  59668. *
  59669. * In TypeScript the type option must always be set.
  59670. *
  59671. * Configuration options for the series are given in three levels:
  59672. *
  59673. * 1. Options for all series in a chart are defined in the plotOptions.series
  59674. * object.
  59675. *
  59676. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  59677. *
  59678. * 3. Options for one single series are given in the series instance array. (see
  59679. * online documentation for example)
  59680. */
  59681. export interface PlotMapbubbleOptions {
  59682. /**
  59683. * (Highmaps) Accessibility options for a series.
  59684. */
  59685. accessibility?: SeriesAccessibilityOptionsObject;
  59686. /**
  59687. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  59688. * rendered. If `true`, areas which don't correspond to a data point, are
  59689. * rendered as `null` points. If `false`, those areas are skipped.
  59690. */
  59691. allAreas?: boolean;
  59692. /**
  59693. * (Highmaps) Allow this series' points to be selected by clicking on the
  59694. * graphic (columns, point markers, pie slices, map areas etc).
  59695. *
  59696. * The selected points can be handled by point select and unselect events,
  59697. * or collectively by the getSelectedPoints function.
  59698. *
  59699. * And alternative way of selecting points is through dragging.
  59700. */
  59701. allowPointSelect?: boolean;
  59702. /**
  59703. * (Highmaps) Enable or disable the initial animation when a series is
  59704. * displayed. The animation can also be set as a configuration object.
  59705. * Please note that this option only applies to the initial animation of the
  59706. * series itself. For other animations, see chart.animation and the
  59707. * animation parameter under the API methods. The following properties are
  59708. * supported:
  59709. *
  59710. * - `defer`: The animation delay time in milliseconds.
  59711. *
  59712. * - `duration`: The duration of the animation in milliseconds.
  59713. *
  59714. * - `easing`: Can be a string reference to an easing function set on the
  59715. * `Math` object or a function. See the _Custom easing function_ demo below.
  59716. *
  59717. * Due to poor performance, animation is disabled in old IE browsers for
  59718. * several chart types.
  59719. */
  59720. animation?: (boolean|PlotMapbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  59721. /**
  59722. * (Highmaps) If there are more points in the series than the
  59723. * `animationLimit`, the animation won't run. Animation affects overall
  59724. * performance and doesn't work well with heavy data series.
  59725. */
  59726. animationLimit?: number;
  59727. /**
  59728. * (Highmaps) Sets the color blending in the boost module.
  59729. */
  59730. boostBlending?: OptionsBoostBlendingValue;
  59731. /**
  59732. * (Highmaps) Set the point threshold for when a series should enter boost
  59733. * mode.
  59734. *
  59735. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  59736. * there are 2000 or more points in the series.
  59737. *
  59738. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  59739. * it to 1 will force boosting.
  59740. *
  59741. * Note that the cropThreshold also affects this setting. When zooming in on
  59742. * a series that has fewer points than the `cropThreshold`, all points are
  59743. * rendered although outside the visible plot area, and the `boostThreshold`
  59744. * won't take effect.
  59745. */
  59746. boostThreshold?: number;
  59747. /**
  59748. * (Highmaps) The border color of the map areas.
  59749. *
  59750. * In styled mode, the border stroke is given in the `.highcharts-point`
  59751. * class.
  59752. */
  59753. borderColor?: (ColorString|GradientColorObject|PatternObject);
  59754. /**
  59755. * (Highmaps) The border width of each map area.
  59756. *
  59757. * In styled mode, the border stroke width is given in the
  59758. * `.highcharts-point` class.
  59759. */
  59760. borderWidth?: number;
  59761. /**
  59762. * (Highmaps) An additional class name to apply to the series' graphical
  59763. * elements. This option does not replace default class names of the
  59764. * graphical element.
  59765. */
  59766. className?: string;
  59767. /**
  59768. * (Highmaps) Disable this option to allow series rendering in the whole
  59769. * plotting area.
  59770. *
  59771. * **Note:** Clipping should be always enabled when chart.zoomType is set
  59772. */
  59773. clip?: boolean;
  59774. /**
  59775. * (Highmaps) The main color of the series. This color affects both the fill
  59776. * and the stroke of the bubble. For enhanced control, use `marker` options.
  59777. */
  59778. color?: (ColorString|GradientColorObject|PatternObject);
  59779. /**
  59780. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  59781. * this number defines which colorAxis the particular series is connected
  59782. * to. It refers to either the axis id or the index of the axis in the
  59783. * colorAxis array, with 0 being the first. Set this option to false to
  59784. * prevent a series from connecting to the default color axis.
  59785. *
  59786. * Since v7.2.0 the option can also be an axis id or an axis index instead
  59787. * of a boolean flag.
  59788. */
  59789. colorAxis?: (boolean|number|string);
  59790. /**
  59791. * (Highmaps) Styled mode only. A specific color index to use for the
  59792. * series, so its graphic representations are given the class name
  59793. * `highcharts-color-{n}`.
  59794. */
  59795. colorIndex?: number;
  59796. /**
  59797. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  59798. * used to calculate point color if `colorAxis` is used. Requires to set
  59799. * `min` and `max` if some custom point property is used or if approximation
  59800. * for data grouping is set to `'sum'`.
  59801. */
  59802. colorKey?: string;
  59803. /**
  59804. * (Highstock) Compare the values of the series against the first non-null,
  59805. * non- zero value in the visible range. The y axis will show percentage or
  59806. * absolute change depending on whether `compare` is set to `"percent"` or
  59807. * `"value"`. When this is applied to multiple series, it allows comparing
  59808. * the development of the series against each other. Adds a `change` field
  59809. * to every point object.
  59810. */
  59811. compare?: string;
  59812. /**
  59813. * (Highstock) When compare is `percent`, this option dictates whether to
  59814. * use 0 or 100 as the base of comparison.
  59815. */
  59816. compareBase?: (0|100);
  59817. /**
  59818. * (Highstock) Defines if comparison should start from the first point
  59819. * within the visible range or should start from the first point **before**
  59820. * the range.
  59821. *
  59822. * In other words, this flag determines if first point within the visible
  59823. * range will have 0% (`compareStart=true`) or should have been already
  59824. * calculated according to the previous point (`compareStart=false`).
  59825. */
  59826. compareStart?: boolean;
  59827. /**
  59828. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  59829. * series plot across the extremes.
  59830. */
  59831. connectEnds?: boolean;
  59832. /**
  59833. * (Highcharts, Highstock) Whether to connect a graph line across null
  59834. * points, or render a gap between the two points on either side of the
  59835. * null.
  59836. */
  59837. connectNulls?: boolean;
  59838. /**
  59839. * (Gantt) Override Pathfinder connector options for a series. Requires
  59840. * Highcharts Gantt to be loaded.
  59841. */
  59842. connectors?: SeriesConnectorsOptionsObject;
  59843. /**
  59844. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  59845. * rounded to its nearest pixel in order to render sharp on screen. In some
  59846. * cases, when there are a lot of densely packed columns, this leads to
  59847. * visible difference in column widths or distance between columns. In these
  59848. * cases, setting `crisp` to `false` may look better, even though each
  59849. * column is rendered blurry.
  59850. */
  59851. crisp?: boolean;
  59852. /**
  59853. * (Highmaps) You can set the cursor to "pointer" if you have click events
  59854. * attached to the series, to signal to the user that the points and lines
  59855. * can be clicked.
  59856. *
  59857. * In styled mode, the series cursor can be set with the same classes as
  59858. * listed under series.color.
  59859. */
  59860. cursor?: (string|CursorValue);
  59861. /**
  59862. * (Highmaps) A reserved subspace to store options and values for customized
  59863. * functionality. Here you can add additional data for your own event
  59864. * callbacks and formatter callbacks.
  59865. */
  59866. custom?: Dictionary<any>;
  59867. /**
  59868. * (Highmaps) Name of the dash style to use for the graph, or for some
  59869. * series types the outline of each shape.
  59870. *
  59871. * In styled mode, the stroke dash-array can be set with the same classes as
  59872. * listed under series.color.
  59873. */
  59874. dashStyle?: DashStyleValue;
  59875. /**
  59876. * (Highstock) Data grouping is the concept of sampling the data values into
  59877. * larger blocks in order to ease readability and increase performance of
  59878. * the JavaScript charts. Highcharts Stock by default applies data grouping
  59879. * when the points become closer than a certain pixel value, determined by
  59880. * the `groupPixelWidth` option.
  59881. *
  59882. * If data grouping is applied, the grouping information of grouped points
  59883. * can be read from the Point.dataGroup. If point options other than the
  59884. * data itself are set, for example `name` or `color` or custom properties,
  59885. * the grouping logic doesn't know how to group it. In this case the options
  59886. * of the first point instance are copied over to the group point. This can
  59887. * be altered through a custom `approximation` callback function.
  59888. */
  59889. dataGrouping?: DataGroupingOptionsObject;
  59890. /**
  59891. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  59892. * labels, appearing next to each data point.
  59893. *
  59894. * Since v6.2.0, multiple data labels can be applied to each single point by
  59895. * defining them as an array of configs.
  59896. *
  59897. * In styled mode, the data labels can be styled with the
  59898. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  59899. * (see example).
  59900. */
  59901. dataLabels?: (PlotMapbubbleDataLabelsOptions|Array<PlotMapbubbleDataLabelsOptions>);
  59902. /**
  59903. * (Highcharts, Highstock) Options for the series data sorting.
  59904. */
  59905. dataSorting?: (DataSortingOptionsObject|PlotMapbubbleDataSortingOptions);
  59906. /**
  59907. * (Highmaps) A description of the series to add to the screen reader
  59908. * information about the series.
  59909. */
  59910. description?: string;
  59911. /**
  59912. * (Highmaps) Whether to display negative sized bubbles. The threshold is
  59913. * given by the zThreshold option, and negative bubbles can be visualized by
  59914. * setting negativeColor.
  59915. */
  59916. displayNegative?: boolean;
  59917. /**
  59918. * (Highmaps) The draggable-points module allows points to be moved around
  59919. * or modified in the chart. In addition to the options mentioned under the
  59920. * `dragDrop` API structure, the module fires three events, point.dragStart,
  59921. * point.drag and point.drop.
  59922. */
  59923. dragDrop?: SeriesDragDropOptionsObject;
  59924. /**
  59925. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  59926. * This includes point tooltips and click events on graphs and points. For
  59927. * large datasets it improves performance.
  59928. */
  59929. enableMouseTracking?: boolean;
  59930. /**
  59931. * (Highmaps) General event handlers for the series items. These event hooks
  59932. * can also be attached to the series at run time using the
  59933. * `Highcharts.addEvent` function.
  59934. */
  59935. events?: SeriesEventsOptionsObject;
  59936. /**
  59937. * (Highmaps) Determines whether the series should look for the nearest
  59938. * point in both dimensions or just the x-dimension when hovering the
  59939. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  59940. * series. If the data has duplicate x-values, it is recommended to set this
  59941. * to `'xy'` to allow hovering over all points.
  59942. *
  59943. * Applies only to series types using nearest neighbor search (not direct
  59944. * hover) for tooltip.
  59945. */
  59946. findNearestPointBy?: OptionsFindNearestPointByValue;
  59947. /**
  59948. * (Highstock) Defines when to display a gap in the graph, together with the
  59949. * gapUnit option.
  59950. *
  59951. * In case when `dataGrouping` is enabled, points can be grouped into a
  59952. * larger time span. This can make the grouped points to have a greater
  59953. * distance than the absolute value of `gapSize` property, which will result
  59954. * in disappearing graph completely. To prevent this situation the mentioned
  59955. * distance between grouped points is used instead of previously defined
  59956. * `gapSize`.
  59957. *
  59958. * In practice, this option is most often used to visualize gaps in time
  59959. * series. In a stock chart, intraday data is available for daytime hours,
  59960. * while gaps will appear in nights and weekends.
  59961. */
  59962. gapSize?: number;
  59963. /**
  59964. * (Highstock) Together with gapSize, this option defines where to draw gaps
  59965. * in the graph.
  59966. *
  59967. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  59968. * if the distance between two points is greater than 5 times that of the
  59969. * two closest points, the graph will be broken.
  59970. *
  59971. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  59972. * values, which on a datetime axis is milliseconds. This also applies to
  59973. * the navigator series that inherits gap options from the base series.
  59974. */
  59975. gapUnit?: OptionsGapUnitValue;
  59976. /**
  59977. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  59978. * chart width or only the zoomed area when zooming in on parts of the X
  59979. * axis. By default, the Y axis adjusts to the min and max of the visible
  59980. * data. Cartesian series only.
  59981. */
  59982. getExtremesFromAll?: boolean;
  59983. /**
  59984. * (Highmaps) When set to `false` will prevent the series data from being
  59985. * included in any form of data export.
  59986. *
  59987. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  59988. * `includeInCSVExport`.
  59989. */
  59990. includeInDataExport?: boolean;
  59991. /**
  59992. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  59993. * When plotting discrete values, a little random noise may help telling the
  59994. * points apart. The jitter setting applies a random displacement of up to
  59995. * `n` axis units in either direction. So for example on a horizontal X
  59996. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  59997. * position between 0.24 units to the left and 0.24 units to the right of
  59998. * the true axis position. On a category axis, setting it to 0.5 will fill
  59999. * up the bin and make the data appear continuous.
  60000. *
  60001. * When rendered on top of a box plot or a column series, a jitter value of
  60002. * 0.24 will correspond to the underlying series' default groupPadding and
  60003. * pointPadding settings.
  60004. */
  60005. jitter?: PlotMapbubbleJitterOptions;
  60006. /**
  60007. * (Highmaps) What property to join the `mapData` to the value data. For
  60008. * example, if joinBy is "code", the mapData items with a specific code is
  60009. * merged into the data with the same code. For maps loaded from GeoJSON,
  60010. * the keys may be held in each point's `properties` object.
  60011. *
  60012. * The joinBy option can also be an array of two values, where the first
  60013. * points to a key in the `mapData`, and the second points to another key in
  60014. * the `data`.
  60015. *
  60016. * When joinBy is `null`, the map items are joined by their position in the
  60017. * array, which performs much better in maps with many data points. This is
  60018. * the recommended option if you are printing more than a thousand data
  60019. * points and have a backend that can preprocess the data into a parallel
  60020. * array of the mapData.
  60021. */
  60022. joinBy?: (string|Array<string>);
  60023. /**
  60024. * (Highmaps) An array specifying which option maps to which key in the data
  60025. * point array. This makes it convenient to work with unstructured data
  60026. * arrays from different sources.
  60027. */
  60028. keys?: Array<string>;
  60029. /**
  60030. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  60031. * series as possible in a natural way, seeking to avoid other series. The
  60032. * goal of this feature is to make the chart more easily readable, like if a
  60033. * human designer placed the labels in the optimal position.
  60034. *
  60035. * The series labels currently work with series types having a `graph` or an
  60036. * `area`.
  60037. */
  60038. label?: SeriesLabelOptionsObject;
  60039. /**
  60040. * (Highstock) The line marks the last price from all points.
  60041. */
  60042. lastPrice?: SeriesLastPriceOptionsObject;
  60043. /**
  60044. * (Highstock) The line marks the last price from visible range of points.
  60045. */
  60046. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  60047. /**
  60048. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  60049. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  60050. * the ends and bends.
  60051. */
  60052. linecap?: SeriesLinecapValue;
  60053. /**
  60054. * (Highcharts, Highstock) The width of the line connecting the data points.
  60055. */
  60056. lineWidth?: number;
  60057. /**
  60058. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  60059. * Additionally, the value can be ":previous" to link to the previous
  60060. * series. When two series are linked, only the first one appears in the
  60061. * legend. Toggling the visibility of this also toggles the linked series.
  60062. *
  60063. * If master series uses data sorting and linked series does not have its
  60064. * own sorting definition, the linked series will be sorted in the same
  60065. * order as the master one.
  60066. */
  60067. linkedTo?: string;
  60068. /**
  60069. * (Highmaps) Options for the point markers of line-like series. Properties
  60070. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  60071. * appearance of the markers. Other series types, like column series, don't
  60072. * have markers, but have visual options on the series level instead.
  60073. *
  60074. * In styled mode, the markers can be styled with the `.highcharts-point`,
  60075. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  60076. */
  60077. marker?: PointMarkerOptionsObject;
  60078. /**
  60079. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  60080. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  60081. * bubble. Can be either pixels (when no unit is given), or a percentage of
  60082. * the smallest one of the plot width and height.
  60083. */
  60084. maxSize?: (number|string);
  60085. /**
  60086. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  60087. * size between the `minSize` and `maxSize` to reflect the `z` value of each
  60088. * bubble. Can be either pixels (when no unit is given), or a percentage of
  60089. * the smallest one of the plot width and height.
  60090. */
  60091. minSize?: (number|string);
  60092. /**
  60093. * (Highstock) Options for the corresponding navigator series if
  60094. * `showInNavigator` is `true` for this series. Available options are the
  60095. * same as any series, documented at plotOptions and series.
  60096. *
  60097. * These options are merged with options in navigator.series, and will take
  60098. * precedence if the same option is defined both places.
  60099. */
  60100. navigatorOptions?: PlotSeriesOptions;
  60101. /**
  60102. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  60103. * color is used.
  60104. */
  60105. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  60106. /**
  60107. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  60108. * dataLabels.
  60109. */
  60110. opacity?: number;
  60111. /**
  60112. * (Highmaps) Properties for each single point.
  60113. */
  60114. point?: PlotSeriesPointOptions;
  60115. /**
  60116. * (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
  60117. * individual series. Overrides the chart wide configuration.
  60118. */
  60119. pointDescriptionFormatter?: Function;
  60120. /**
  60121. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  60122. * a series, `pointInterval` defines the interval of the x values. For
  60123. * example, if a series contains one value every decade starting from year
  60124. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  60125. * `pointInterval` is set in milliseconds.
  60126. *
  60127. * It can be also be combined with `pointIntervalUnit` to draw irregular
  60128. * time intervals.
  60129. *
  60130. * Please note that this options applies to the _series data_, not the
  60131. * interval of the axis ticks, which is independent.
  60132. */
  60133. pointInterval?: number;
  60134. /**
  60135. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  60136. * setting the pointInterval to irregular time units, `day`, `month` and
  60137. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  60138. * also takes the DST crossover into consideration when dealing with local
  60139. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  60140. * months, 10 years etc.
  60141. *
  60142. * Please note that this options applies to the _series data_, not the
  60143. * interval of the axis ticks, which is independent.
  60144. */
  60145. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  60146. /**
  60147. * (Highstock) The width of each point on the x axis. For example in a
  60148. * column chart with one value each day, the pointRange would be 1 day (= 24
  60149. * * 3600
  60150. *
  60151. * * 1000 milliseconds). This is normally computed automatically, but this
  60152. * option can be used to override the automatic value.
  60153. */
  60154. pointRange?: number;
  60155. /**
  60156. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  60157. * a series, pointStart defines on what value to start. For example, if a
  60158. * series contains one yearly value starting from 1945, set pointStart to
  60159. * 1945.
  60160. */
  60161. pointStart?: number;
  60162. /**
  60163. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  60164. * true, the checkbox next to the series name in the legend will be checked
  60165. * for a selected series.
  60166. */
  60167. selected?: boolean;
  60168. /**
  60169. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  60170. * allow selecting the series. The state of the checkbox is determined by
  60171. * the `selected` option.
  60172. */
  60173. showCheckbox?: boolean;
  60174. /**
  60175. * (Highmaps) Whether to display this particular series or series type in
  60176. * the legend. Standalone series are shown in legend by default, and linked
  60177. * series are not. Since v7.2.0 it is possible to show series that use
  60178. * colorAxis by setting this option to `true`.
  60179. */
  60180. showInLegend?: boolean;
  60181. /**
  60182. * (Highstock) Whether or not to show the series in the navigator. Takes
  60183. * precedence over navigator.baseSeries if defined.
  60184. */
  60185. showInNavigator?: boolean;
  60186. /**
  60187. * (Highmaps) Whether the bubble's value should be represented by the area
  60188. * or the width of the bubble. The default, `area`, corresponds best to the
  60189. * human perception of the size of each bubble.
  60190. */
  60191. sizeBy?: BubbleSizeByValue;
  60192. /**
  60193. * (Highcharts) When this is true, the absolute value of z determines the
  60194. * size of the bubble. This means that with the default `zThreshold` of 0, a
  60195. * bubble of value -1 will have the same size as a bubble of value 1, while
  60196. * a bubble of value 0 will have a smaller size according to `minSize`.
  60197. */
  60198. sizeByAbsoluteValue?: boolean;
  60199. /**
  60200. * (Highmaps) If set to `true`, the accessibility module will skip past the
  60201. * points in this series for keyboard navigation.
  60202. */
  60203. skipKeyboardNavigation?: boolean;
  60204. /**
  60205. * (Highcharts) When this is true, the series will not cause the Y axis to
  60206. * cross the zero plane (or threshold option) unless the data actually
  60207. * crosses the plane.
  60208. *
  60209. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  60210. * make the Y axis show negative values according to the `minPadding`
  60211. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  60212. */
  60213. softThreshold?: boolean;
  60214. /**
  60215. * (Highcharts, Highstock) Whether to stack the values of each series on top
  60216. * of each other. Possible values are `undefined` to disable, `"normal"` to
  60217. * stack by value or `"percent"`.
  60218. *
  60219. * When stacking is enabled, data must be sorted in ascending X order.
  60220. *
  60221. * Some stacking options are related to specific series types. In the
  60222. * streamgraph series type, the stacking option is set to `"stream"`. The
  60223. * second one is `"overlap"`, which only applies to waterfall series.
  60224. */
  60225. stacking?: OptionsStackingValue;
  60226. states?: SeriesStatesOptionsObject;
  60227. /**
  60228. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  60229. * values are `left`, `center` and `right`.
  60230. */
  60231. step?: OptionsStepValue;
  60232. /**
  60233. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  60234. * `mouseOut` event on a series isn't triggered until the mouse moves over
  60235. * another series, or out of the plot area. When false, the `mouseOut` event
  60236. * on a series is triggered when the mouse leaves the area around the
  60237. * series' graph or markers. This also implies the tooltip. When
  60238. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  60239. * be hidden when moving the mouse between series.
  60240. */
  60241. stickyTracking?: boolean;
  60242. /**
  60243. * (Highcharts, Highstock) The threshold, also called zero level or base
  60244. * level. For line type series this is only used in conjunction with
  60245. * negativeColor.
  60246. */
  60247. threshold?: (number|null);
  60248. /**
  60249. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  60250. * of each single series. Properties are inherited from tooltip. Overridable
  60251. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  60252. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  60253. * series.name by default shows in the headerFormat and point.x and point.y
  60254. * in the pointFormat.
  60255. */
  60256. tooltip?: SeriesTooltipOptionsObject;
  60257. /**
  60258. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  60259. * is longer than this, only one dimensional arrays of numbers, or two
  60260. * dimensional arrays with x and y values are allowed. Also, only the first
  60261. * point is tested, and the rest are assumed to be the same format. This
  60262. * saves expensive data checking and indexing in long series. Set it to `0`
  60263. * disable.
  60264. *
  60265. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  60266. * two dimensional arrays are allowed.
  60267. */
  60268. turboThreshold?: number;
  60269. /**
  60270. * (Highmaps) Set the initial visibility of the series.
  60271. */
  60272. visible?: boolean;
  60273. /**
  60274. * (Highmaps) Define the z index of the series.
  60275. */
  60276. zIndex?: number;
  60277. /**
  60278. * (Highcharts) The minimum for the Z value range. Defaults to the highest Z
  60279. * value in the data.
  60280. */
  60281. zMax?: number;
  60282. /**
  60283. * (Highcharts) The minimum for the Z value range. Defaults to the lowest Z
  60284. * value in the data.
  60285. */
  60286. zMin?: number;
  60287. /**
  60288. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  60289. */
  60290. zoneAxis?: string;
  60291. /**
  60292. * (Highcharts, Highstock) An array defining zones within a series. Zones
  60293. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  60294. * the `zoneAxis` option. The zone definitions have to be in ascending order
  60295. * regarding to the value.
  60296. *
  60297. * In styled mode, the color zones are styled with the
  60298. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  60299. * option (view live demo).
  60300. */
  60301. zones?: Array<SeriesZonesOptionsObject>;
  60302. /**
  60303. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  60304. * are skipped. When `displayNegative` is `true` and a negativeColor is
  60305. * given, points with lower Z is colored.
  60306. */
  60307. zThreshold?: number;
  60308. }
  60309. /**
  60310. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60311. * animation when a series is displayed for the `dataLabels`. The animation can
  60312. * also be set as a configuration object. Please note that this option only
  60313. * applies to the initial animation. For other animations, see chart.animation
  60314. * and the animation parameter under the API methods. The following properties
  60315. * are supported:
  60316. *
  60317. * - `defer`: The animation delay time in milliseconds.
  60318. */
  60319. export interface PlotMapDataLabelsAnimationOptions {
  60320. /**
  60321. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  60322. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  60323. * inherits defer time from the series.animation.defer.
  60324. */
  60325. defer?: number;
  60326. }
  60327. /**
  60328. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  60329. * appearing next to each data point.
  60330. *
  60331. * Since v6.2.0, multiple data labels can be applied to each single point by
  60332. * defining them as an array of configs.
  60333. *
  60334. * In styled mode, the data labels can be styled with the
  60335. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  60336. * example).
  60337. */
  60338. export interface PlotMapDataLabelsOptions {
  60339. /**
  60340. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  60341. * compared to the point. If `right`, the right side of the label should be
  60342. * touching the point. For points with an extent, like columns, the
  60343. * alignments also dictates how to align it inside the box, as given with
  60344. * the inside option. Can be one of `left`, `center` or `right`.
  60345. */
  60346. align?: (AlignValue|null);
  60347. /**
  60348. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  60349. * overlap. To make the labels less sensitive for overlapping, the
  60350. * dataLabels.padding can be set to 0.
  60351. */
  60352. allowOverlap?: boolean;
  60353. /**
  60354. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60355. * animation when a series is displayed for the `dataLabels`. The animation
  60356. * can also be set as a configuration object. Please note that this option
  60357. * only applies to the initial animation. For other animations, see
  60358. * chart.animation and the animation parameter under the API methods. The
  60359. * following properties are supported:
  60360. *
  60361. * - `defer`: The animation delay time in milliseconds.
  60362. */
  60363. animation?: (boolean|PlotMapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  60364. /**
  60365. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  60366. * for the data label.
  60367. */
  60368. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  60369. /**
  60370. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  60371. * label. Defaults to `undefined`.
  60372. */
  60373. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60374. /**
  60375. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  60376. * the data label.
  60377. */
  60378. borderRadius?: number;
  60379. /**
  60380. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  60381. * the data label.
  60382. */
  60383. borderWidth?: number;
  60384. /**
  60385. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  60386. * Particularly in styled mode, this can be used to give each series' or
  60387. * point's data label unique styling. In addition to this option, a default
  60388. * color class name is added so that we can give the labels a contrast text
  60389. * shadow.
  60390. */
  60391. className?: string;
  60392. /**
  60393. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  60394. * labels. Defaults to `undefined`. For certain series types, like column or
  60395. * map, the data labels can be drawn inside the points. In this case the
  60396. * data label will be drawn with maximum contrast by default. Additionally,
  60397. * it will be given a `text-outline` style with the opposite color, to
  60398. * further increase the contrast. This can be overridden by setting the
  60399. * `text-outline` style to `none` in the `dataLabels.style` option.
  60400. */
  60401. color?: (ColorString|GradientColorObject|PatternObject);
  60402. /**
  60403. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  60404. * are outside the plot area. By default, the data label is moved inside the
  60405. * plot area according to the overflow option.
  60406. */
  60407. crop?: boolean;
  60408. /**
  60409. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  60410. * labels until the initial series animation has finished. Setting to
  60411. * `false` renders the data label immediately. If set to `true` inherits the
  60412. * defer time set in plotOptions.series.animation. If set to a number, a
  60413. * defer time is specified in milliseconds.
  60414. */
  60415. defer?: (boolean|number);
  60416. /**
  60417. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  60418. * labels.
  60419. */
  60420. enabled?: boolean;
  60421. /**
  60422. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  60423. * of which data labels to display. The declarative filter is designed for
  60424. * use when callback functions are not available, like when the chart
  60425. * options require a pure JSON structure or for use with graphical editors.
  60426. * For programmatic control, use the `formatter` instead, and return
  60427. * `undefined` to disable a single data label.
  60428. */
  60429. filter?: DataLabelsFilterOptionsObject;
  60430. /**
  60431. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  60432. * label. Available variables are the same as for `formatter`.
  60433. */
  60434. format?: string;
  60435. /**
  60436. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  60437. * format the data label. Note that if a `format` is defined, the format
  60438. * takes precedence and the formatter is ignored.
  60439. */
  60440. formatter?: DataLabelsFormatterCallbackFunction;
  60441. /**
  60442. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  60443. * columns or map areas, whether to align the data label inside the box or
  60444. * to the actual value point. Defaults to `false` in most cases, `true` in
  60445. * stacked columns.
  60446. */
  60447. inside?: boolean;
  60448. /**
  60449. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  60450. * of null. Works analogously to format. `nullFormat` can be applied only to
  60451. * series which support displaying null points.
  60452. */
  60453. nullFormat?: (boolean|string);
  60454. /**
  60455. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  60456. * that defines formatting for points with the value of null. Works
  60457. * analogously to formatter. `nullPointFormatter` can be applied only to
  60458. * series which support displaying null points.
  60459. */
  60460. nullFormatter?: DataLabelsFormatterCallbackFunction;
  60461. /**
  60462. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  60463. * flow outside the plot area. The default is `"justify"`, which aligns them
  60464. * inside the plot area. For columns and bars, this means it will be moved
  60465. * inside the bar. To display data labels outside the plot area, set `crop`
  60466. * to `false` and `overflow` to `"allow"`.
  60467. */
  60468. overflow?: boolean;
  60469. /**
  60470. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  60471. * the `backgroundColor` is set, this is the padding within the box.
  60472. */
  60473. padding?: number;
  60474. /**
  60475. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  60476. * points. If `center` alignment is not possible, it defaults to `right`.
  60477. */
  60478. position?: AlignValue;
  60479. /**
  60480. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  60481. * that due to a more complex structure, backgrounds, borders and padding
  60482. * will be lost on a rotated data label.
  60483. */
  60484. rotation?: number;
  60485. /**
  60486. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  60487. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  60488. * an object configuration containing `color`, `offsetX`, `offsetY`,
  60489. * `opacity` and `width`.
  60490. */
  60491. shadow?: (boolean|ShadowOptionsObject);
  60492. /**
  60493. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  60494. * the border around the label. Symbols are predefined functions on the
  60495. * Renderer object.
  60496. */
  60497. shape?: string;
  60498. /**
  60499. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  60500. * default `color` setting is `"contrast"`, which is a pseudo color that
  60501. * Highcharts picks up and applies the maximum contrast to the underlying
  60502. * point item, for example the bar in a bar chart.
  60503. *
  60504. * The `textOutline` is a pseudo property that applies an outline of the
  60505. * given width with the given color, which by default is the maximum
  60506. * contrast to the text. So a bright text color will result in a black text
  60507. * outline for maximum readability on a mixed background. In some cases,
  60508. * especially with grayscale text, the text outline doesn't work well, in
  60509. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  60510. * is true, the `textOutline` will not be picked up. In this, case, the same
  60511. * effect can be acheived through the `text-shadow` CSS property.
  60512. *
  60513. * For some series types, where each point has an extent, like for example
  60514. * tree maps, the data label may overflow the point. There are two
  60515. * strategies for handling overflow. By default, the text will wrap to
  60516. * multiple lines. The other strategy is to set `style.textOverflow` to
  60517. * `ellipsis`, which will keep the text on one line plus it will break
  60518. * inside long words.
  60519. */
  60520. style?: CSSObject;
  60521. /**
  60522. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  60523. * should follow marker's shape. Border and background are disabled for a
  60524. * label that follows a path.
  60525. *
  60526. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  60527. * to true will disable this option.
  60528. */
  60529. textPath?: DataLabelsTextPathOptionsObject;
  60530. /**
  60531. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  60532. * the labels.
  60533. */
  60534. useHTML?: boolean;
  60535. /**
  60536. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  60537. * label. Can be one of `top`, `middle` or `bottom`. The default value
  60538. * depends on the data, for instance in a column chart, the label is above
  60539. * positive values and below negative values.
  60540. */
  60541. verticalAlign?: string;
  60542. /**
  60543. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  60544. * label relative to the point in pixels.
  60545. */
  60546. x?: number;
  60547. /**
  60548. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  60549. * label relative to the point in pixels.
  60550. */
  60551. y?: number;
  60552. /**
  60553. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  60554. * The default Z index puts it above the series. Use a Z index of 2 to
  60555. * display it behind the series.
  60556. */
  60557. z?: number;
  60558. }
  60559. /**
  60560. * (Highcharts, Highstock) Options for the series data sorting.
  60561. */
  60562. export interface PlotMapDataSortingOptions {
  60563. /**
  60564. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  60565. * Use xAxis.reversed to change the sorting order.
  60566. */
  60567. enabled?: boolean;
  60568. /**
  60569. * (Highcharts, Highstock) Whether to allow matching points by name in an
  60570. * update. If this option is disabled, points will be matched by order.
  60571. */
  60572. matchByName?: boolean;
  60573. /**
  60574. * (Highcharts, Highstock) Determines what data value should be used to sort
  60575. * by.
  60576. */
  60577. sortKey?: string;
  60578. }
  60579. /**
  60580. * (Highmaps) Style options for the guide box. The guide box has one state by
  60581. * default, the `default` state.
  60582. */
  60583. export interface PlotMapDragDropGuideBoxOptions {
  60584. /**
  60585. * (Highmaps) Style options for the guide box default state.
  60586. */
  60587. default?: DragDropGuideBoxOptionsObject;
  60588. }
  60589. /**
  60590. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  60591. * plotting discrete values, a little random noise may help telling the points
  60592. * apart. The jitter setting applies a random displacement of up to `n` axis
  60593. * units in either direction. So for example on a horizontal X axis, setting the
  60594. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  60595. * units to the left and 0.24 units to the right of the true axis position. On a
  60596. * category axis, setting it to 0.5 will fill up the bin and make the data
  60597. * appear continuous.
  60598. *
  60599. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  60600. * will correspond to the underlying series' default groupPadding and
  60601. * pointPadding settings.
  60602. */
  60603. export interface PlotMapJitterOptions {
  60604. /**
  60605. * (Highcharts, Highstock) The maximal X offset for the random jitter
  60606. * effect.
  60607. */
  60608. x?: number;
  60609. /**
  60610. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  60611. * effect.
  60612. */
  60613. y?: number;
  60614. }
  60615. /**
  60616. * (Highmaps) Enable or disable the initial animation when a series is
  60617. * displayed. The animation can also be set as a configuration object. Please
  60618. * note that this option only applies to the initial animation of the series
  60619. * itself. For other animations, see chart.animation and the animation parameter
  60620. * under the API methods. The following properties are supported:
  60621. *
  60622. * - `defer`: The animation delay time in milliseconds.
  60623. *
  60624. * - `duration`: The duration of the animation in milliseconds.
  60625. *
  60626. * - `easing`: Can be a string reference to an easing function set on the `Math`
  60627. * object or a function. See the _Custom easing function_ demo below.
  60628. *
  60629. * Due to poor performance, animation is disabled in old IE browsers for several
  60630. * chart types.
  60631. */
  60632. export interface PlotMaplineAnimationOptions {
  60633. defer?: number;
  60634. }
  60635. /**
  60636. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60637. * animation when a series is displayed for the `dataLabels`. The animation can
  60638. * also be set as a configuration object. Please note that this option only
  60639. * applies to the initial animation. For other animations, see chart.animation
  60640. * and the animation parameter under the API methods. The following properties
  60641. * are supported:
  60642. *
  60643. * - `defer`: The animation delay time in milliseconds.
  60644. */
  60645. export interface PlotMaplineDataLabelsAnimationOptions {
  60646. /**
  60647. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  60648. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  60649. * inherits defer time from the series.animation.defer.
  60650. */
  60651. defer?: number;
  60652. }
  60653. /**
  60654. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  60655. * appearing next to each data point.
  60656. *
  60657. * Since v6.2.0, multiple data labels can be applied to each single point by
  60658. * defining them as an array of configs.
  60659. *
  60660. * In styled mode, the data labels can be styled with the
  60661. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  60662. * example).
  60663. */
  60664. export interface PlotMaplineDataLabelsOptions {
  60665. /**
  60666. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  60667. * compared to the point. If `right`, the right side of the label should be
  60668. * touching the point. For points with an extent, like columns, the
  60669. * alignments also dictates how to align it inside the box, as given with
  60670. * the inside option. Can be one of `left`, `center` or `right`.
  60671. */
  60672. align?: (AlignValue|null);
  60673. /**
  60674. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  60675. * overlap. To make the labels less sensitive for overlapping, the
  60676. * dataLabels.padding can be set to 0.
  60677. */
  60678. allowOverlap?: boolean;
  60679. /**
  60680. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  60681. * animation when a series is displayed for the `dataLabels`. The animation
  60682. * can also be set as a configuration object. Please note that this option
  60683. * only applies to the initial animation. For other animations, see
  60684. * chart.animation and the animation parameter under the API methods. The
  60685. * following properties are supported:
  60686. *
  60687. * - `defer`: The animation delay time in milliseconds.
  60688. */
  60689. animation?: (boolean|PlotMaplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  60690. /**
  60691. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  60692. * for the data label.
  60693. */
  60694. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  60695. /**
  60696. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  60697. * label. Defaults to `undefined`.
  60698. */
  60699. borderColor?: (ColorString|GradientColorObject|PatternObject);
  60700. /**
  60701. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  60702. * the data label.
  60703. */
  60704. borderRadius?: number;
  60705. /**
  60706. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  60707. * the data label.
  60708. */
  60709. borderWidth?: number;
  60710. /**
  60711. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  60712. * Particularly in styled mode, this can be used to give each series' or
  60713. * point's data label unique styling. In addition to this option, a default
  60714. * color class name is added so that we can give the labels a contrast text
  60715. * shadow.
  60716. */
  60717. className?: string;
  60718. /**
  60719. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  60720. * labels. Defaults to `undefined`. For certain series types, like column or
  60721. * map, the data labels can be drawn inside the points. In this case the
  60722. * data label will be drawn with maximum contrast by default. Additionally,
  60723. * it will be given a `text-outline` style with the opposite color, to
  60724. * further increase the contrast. This can be overridden by setting the
  60725. * `text-outline` style to `none` in the `dataLabels.style` option.
  60726. */
  60727. color?: (ColorString|GradientColorObject|PatternObject);
  60728. /**
  60729. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  60730. * are outside the plot area. By default, the data label is moved inside the
  60731. * plot area according to the overflow option.
  60732. */
  60733. crop?: boolean;
  60734. /**
  60735. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  60736. * labels until the initial series animation has finished. Setting to
  60737. * `false` renders the data label immediately. If set to `true` inherits the
  60738. * defer time set in plotOptions.series.animation. If set to a number, a
  60739. * defer time is specified in milliseconds.
  60740. */
  60741. defer?: (boolean|number);
  60742. /**
  60743. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  60744. * labels.
  60745. */
  60746. enabled?: boolean;
  60747. /**
  60748. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  60749. * of which data labels to display. The declarative filter is designed for
  60750. * use when callback functions are not available, like when the chart
  60751. * options require a pure JSON structure or for use with graphical editors.
  60752. * For programmatic control, use the `formatter` instead, and return
  60753. * `undefined` to disable a single data label.
  60754. */
  60755. filter?: DataLabelsFilterOptionsObject;
  60756. /**
  60757. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  60758. * label. Available variables are the same as for `formatter`.
  60759. */
  60760. format?: string;
  60761. /**
  60762. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  60763. * format the data label. Note that if a `format` is defined, the format
  60764. * takes precedence and the formatter is ignored.
  60765. */
  60766. formatter?: DataLabelsFormatterCallbackFunction;
  60767. /**
  60768. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  60769. * columns or map areas, whether to align the data label inside the box or
  60770. * to the actual value point. Defaults to `false` in most cases, `true` in
  60771. * stacked columns.
  60772. */
  60773. inside?: boolean;
  60774. /**
  60775. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  60776. * of null. Works analogously to format. `nullFormat` can be applied only to
  60777. * series which support displaying null points.
  60778. */
  60779. nullFormat?: (boolean|string);
  60780. /**
  60781. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  60782. * that defines formatting for points with the value of null. Works
  60783. * analogously to formatter. `nullPointFormatter` can be applied only to
  60784. * series which support displaying null points.
  60785. */
  60786. nullFormatter?: DataLabelsFormatterCallbackFunction;
  60787. /**
  60788. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  60789. * flow outside the plot area. The default is `"justify"`, which aligns them
  60790. * inside the plot area. For columns and bars, this means it will be moved
  60791. * inside the bar. To display data labels outside the plot area, set `crop`
  60792. * to `false` and `overflow` to `"allow"`.
  60793. */
  60794. overflow?: boolean;
  60795. /**
  60796. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  60797. * the `backgroundColor` is set, this is the padding within the box.
  60798. */
  60799. padding?: number;
  60800. /**
  60801. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  60802. * points. If `center` alignment is not possible, it defaults to `right`.
  60803. */
  60804. position?: AlignValue;
  60805. /**
  60806. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  60807. * that due to a more complex structure, backgrounds, borders and padding
  60808. * will be lost on a rotated data label.
  60809. */
  60810. rotation?: number;
  60811. /**
  60812. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  60813. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  60814. * an object configuration containing `color`, `offsetX`, `offsetY`,
  60815. * `opacity` and `width`.
  60816. */
  60817. shadow?: (boolean|ShadowOptionsObject);
  60818. /**
  60819. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  60820. * the border around the label. Symbols are predefined functions on the
  60821. * Renderer object.
  60822. */
  60823. shape?: string;
  60824. /**
  60825. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  60826. * default `color` setting is `"contrast"`, which is a pseudo color that
  60827. * Highcharts picks up and applies the maximum contrast to the underlying
  60828. * point item, for example the bar in a bar chart.
  60829. *
  60830. * The `textOutline` is a pseudo property that applies an outline of the
  60831. * given width with the given color, which by default is the maximum
  60832. * contrast to the text. So a bright text color will result in a black text
  60833. * outline for maximum readability on a mixed background. In some cases,
  60834. * especially with grayscale text, the text outline doesn't work well, in
  60835. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  60836. * is true, the `textOutline` will not be picked up. In this, case, the same
  60837. * effect can be acheived through the `text-shadow` CSS property.
  60838. *
  60839. * For some series types, where each point has an extent, like for example
  60840. * tree maps, the data label may overflow the point. There are two
  60841. * strategies for handling overflow. By default, the text will wrap to
  60842. * multiple lines. The other strategy is to set `style.textOverflow` to
  60843. * `ellipsis`, which will keep the text on one line plus it will break
  60844. * inside long words.
  60845. */
  60846. style?: CSSObject;
  60847. /**
  60848. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  60849. * should follow marker's shape. Border and background are disabled for a
  60850. * label that follows a path.
  60851. *
  60852. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  60853. * to true will disable this option.
  60854. */
  60855. textPath?: DataLabelsTextPathOptionsObject;
  60856. /**
  60857. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  60858. * the labels.
  60859. */
  60860. useHTML?: boolean;
  60861. /**
  60862. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  60863. * label. Can be one of `top`, `middle` or `bottom`. The default value
  60864. * depends on the data, for instance in a column chart, the label is above
  60865. * positive values and below negative values.
  60866. */
  60867. verticalAlign?: string;
  60868. /**
  60869. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  60870. * label relative to the point in pixels.
  60871. */
  60872. x?: number;
  60873. /**
  60874. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  60875. * label relative to the point in pixels.
  60876. */
  60877. y?: number;
  60878. /**
  60879. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  60880. * The default Z index puts it above the series. Use a Z index of 2 to
  60881. * display it behind the series.
  60882. */
  60883. z?: number;
  60884. }
  60885. /**
  60886. * (Highcharts, Highstock) Options for the series data sorting.
  60887. */
  60888. export interface PlotMaplineDataSortingOptions {
  60889. /**
  60890. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  60891. * Use xAxis.reversed to change the sorting order.
  60892. */
  60893. enabled?: boolean;
  60894. /**
  60895. * (Highcharts, Highstock) Whether to allow matching points by name in an
  60896. * update. If this option is disabled, points will be matched by order.
  60897. */
  60898. matchByName?: boolean;
  60899. /**
  60900. * (Highcharts, Highstock) Determines what data value should be used to sort
  60901. * by.
  60902. */
  60903. sortKey?: string;
  60904. }
  60905. /**
  60906. * (Highmaps) Style options for the guide box. The guide box has one state by
  60907. * default, the `default` state.
  60908. */
  60909. export interface PlotMaplineDragDropGuideBoxOptions {
  60910. /**
  60911. * (Highmaps) Style options for the guide box default state.
  60912. */
  60913. default?: DragDropGuideBoxOptionsObject;
  60914. }
  60915. /**
  60916. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  60917. * plotting discrete values, a little random noise may help telling the points
  60918. * apart. The jitter setting applies a random displacement of up to `n` axis
  60919. * units in either direction. So for example on a horizontal X axis, setting the
  60920. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  60921. * units to the left and 0.24 units to the right of the true axis position. On a
  60922. * category axis, setting it to 0.5 will fill up the bin and make the data
  60923. * appear continuous.
  60924. *
  60925. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  60926. * will correspond to the underlying series' default groupPadding and
  60927. * pointPadding settings.
  60928. */
  60929. export interface PlotMaplineJitterOptions {
  60930. /**
  60931. * (Highcharts, Highstock) The maximal X offset for the random jitter
  60932. * effect.
  60933. */
  60934. x?: number;
  60935. /**
  60936. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  60937. * effect.
  60938. */
  60939. y?: number;
  60940. }
  60941. /**
  60942. * (Highmaps) A mapline series is a special case of the map series where the
  60943. * value colors are applied to the strokes rather than the fills. It can also be
  60944. * used for freeform drawing, like dividers, in the map.
  60945. *
  60946. * In TypeScript the type option must always be set.
  60947. *
  60948. * Configuration options for the series are given in three levels:
  60949. *
  60950. * 1. Options for all series in a chart are defined in the plotOptions.series
  60951. * object.
  60952. *
  60953. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  60954. *
  60955. * 3. Options for one single series are given in the series instance array. (see
  60956. * online documentation for example)
  60957. */
  60958. export interface PlotMaplineOptions {
  60959. /**
  60960. * (Highmaps) Accessibility options for a series.
  60961. */
  60962. accessibility?: SeriesAccessibilityOptionsObject;
  60963. /**
  60964. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  60965. * rendered. If `true`, areas which don't correspond to a data point, are
  60966. * rendered as `null` points. If `false`, those areas are skipped.
  60967. */
  60968. allAreas?: boolean;
  60969. /**
  60970. * (Highmaps) Allow this series' points to be selected by clicking on the
  60971. * graphic (columns, point markers, pie slices, map areas etc).
  60972. *
  60973. * The selected points can be handled by point select and unselect events,
  60974. * or collectively by the getSelectedPoints function.
  60975. *
  60976. * And alternative way of selecting points is through dragging.
  60977. */
  60978. allowPointSelect?: boolean;
  60979. /**
  60980. * (Highmaps) Enable or disable the initial animation when a series is
  60981. * displayed. The animation can also be set as a configuration object.
  60982. * Please note that this option only applies to the initial animation of the
  60983. * series itself. For other animations, see chart.animation and the
  60984. * animation parameter under the API methods. The following properties are
  60985. * supported:
  60986. *
  60987. * - `defer`: The animation delay time in milliseconds.
  60988. *
  60989. * - `duration`: The duration of the animation in milliseconds.
  60990. *
  60991. * - `easing`: Can be a string reference to an easing function set on the
  60992. * `Math` object or a function. See the _Custom easing function_ demo below.
  60993. *
  60994. * Due to poor performance, animation is disabled in old IE browsers for
  60995. * several chart types.
  60996. */
  60997. animation?: (boolean|PlotMaplineAnimationOptions);
  60998. /**
  60999. * (Highmaps) For some series, there is a limit that shuts down initial
  61000. * animation by default when the total number of points in the chart is too
  61001. * high. For example, for a column chart and its derivatives, animation does
  61002. * not run if there is more than 250 points totally. To disable this cap,
  61003. * set `animationLimit` to `Infinity`.
  61004. */
  61005. animationLimit?: number;
  61006. /**
  61007. * (Highmaps) Sets the color blending in the boost module.
  61008. */
  61009. boostBlending?: OptionsBoostBlendingValue;
  61010. /**
  61011. * (Highmaps) Set the point threshold for when a series should enter boost
  61012. * mode.
  61013. *
  61014. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  61015. * there are 2000 or more points in the series.
  61016. *
  61017. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  61018. * it to 1 will force boosting.
  61019. *
  61020. * Note that the cropThreshold also affects this setting. When zooming in on
  61021. * a series that has fewer points than the `cropThreshold`, all points are
  61022. * rendered although outside the visible plot area, and the `boostThreshold`
  61023. * won't take effect.
  61024. */
  61025. boostThreshold?: number;
  61026. /**
  61027. * (Highmaps) The border color of the map areas.
  61028. *
  61029. * In styled mode, the border stroke is given in the `.highcharts-point`
  61030. * class.
  61031. */
  61032. borderColor?: (ColorString|GradientColorObject|PatternObject);
  61033. /**
  61034. * (Highmaps) The border width of each map area.
  61035. *
  61036. * In styled mode, the border stroke width is given in the
  61037. * `.highcharts-point` class.
  61038. */
  61039. borderWidth?: number;
  61040. /**
  61041. * (Highmaps) An additional class name to apply to the series' graphical
  61042. * elements. This option does not replace default class names of the
  61043. * graphical element.
  61044. */
  61045. className?: string;
  61046. /**
  61047. * (Highmaps) Disable this option to allow series rendering in the whole
  61048. * plotting area.
  61049. *
  61050. * **Note:** Clipping should be always enabled when chart.zoomType is set
  61051. */
  61052. clip?: boolean;
  61053. /**
  61054. * (Highmaps) The main color of the series. In line type series it applies
  61055. * to the line and the point markers unless otherwise specified. In bar type
  61056. * series it applies to the bars unless a color is specified per point. The
  61057. * default value is pulled from the `options.colors` array.
  61058. *
  61059. * In styled mode, the color can be defined by the colorIndex option. Also,
  61060. * the series color can be set with the `.highcharts-series`,
  61061. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  61062. * `.highcharts-series-{n}` class, or individual classes given by the
  61063. * `className` option.
  61064. */
  61065. color?: (ColorString|GradientColorObject|PatternObject);
  61066. /**
  61067. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  61068. * this number defines which colorAxis the particular series is connected
  61069. * to. It refers to either the axis id or the index of the axis in the
  61070. * colorAxis array, with 0 being the first. Set this option to false to
  61071. * prevent a series from connecting to the default color axis.
  61072. *
  61073. * Since v7.2.0 the option can also be an axis id or an axis index instead
  61074. * of a boolean flag.
  61075. */
  61076. colorAxis?: (boolean|number|string);
  61077. /**
  61078. * (Highmaps) Styled mode only. A specific color index to use for the
  61079. * series, so its graphic representations are given the class name
  61080. * `highcharts-color-{n}`.
  61081. */
  61082. colorIndex?: number;
  61083. /**
  61084. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  61085. * used to calculate point color if `colorAxis` is used. Requires to set
  61086. * `min` and `max` if some custom point property is used or if approximation
  61087. * for data grouping is set to `'sum'`.
  61088. */
  61089. colorKey?: string;
  61090. /**
  61091. * (Highstock) Compare the values of the series against the first non-null,
  61092. * non- zero value in the visible range. The y axis will show percentage or
  61093. * absolute change depending on whether `compare` is set to `"percent"` or
  61094. * `"value"`. When this is applied to multiple series, it allows comparing
  61095. * the development of the series against each other. Adds a `change` field
  61096. * to every point object.
  61097. */
  61098. compare?: string;
  61099. /**
  61100. * (Highstock) When compare is `percent`, this option dictates whether to
  61101. * use 0 or 100 as the base of comparison.
  61102. */
  61103. compareBase?: (0|100);
  61104. /**
  61105. * (Highstock) Defines if comparison should start from the first point
  61106. * within the visible range or should start from the first point **before**
  61107. * the range.
  61108. *
  61109. * In other words, this flag determines if first point within the visible
  61110. * range will have 0% (`compareStart=true`) or should have been already
  61111. * calculated according to the previous point (`compareStart=false`).
  61112. */
  61113. compareStart?: boolean;
  61114. /**
  61115. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  61116. * series plot across the extremes.
  61117. */
  61118. connectEnds?: boolean;
  61119. /**
  61120. * (Highcharts, Highstock) Whether to connect a graph line across null
  61121. * points, or render a gap between the two points on either side of the
  61122. * null.
  61123. */
  61124. connectNulls?: boolean;
  61125. /**
  61126. * (Gantt) Override Pathfinder connector options for a series. Requires
  61127. * Highcharts Gantt to be loaded.
  61128. */
  61129. connectors?: SeriesConnectorsOptionsObject;
  61130. /**
  61131. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  61132. * rounded to its nearest pixel in order to render sharp on screen. In some
  61133. * cases, when there are a lot of densely packed columns, this leads to
  61134. * visible difference in column widths or distance between columns. In these
  61135. * cases, setting `crisp` to `false` may look better, even though each
  61136. * column is rendered blurry.
  61137. */
  61138. crisp?: boolean;
  61139. /**
  61140. * (Highmaps) You can set the cursor to "pointer" if you have click events
  61141. * attached to the series, to signal to the user that the points and lines
  61142. * can be clicked.
  61143. *
  61144. * In styled mode, the series cursor can be set with the same classes as
  61145. * listed under series.color.
  61146. */
  61147. cursor?: (string|CursorValue);
  61148. /**
  61149. * (Highmaps) A reserved subspace to store options and values for customized
  61150. * functionality. Here you can add additional data for your own event
  61151. * callbacks and formatter callbacks.
  61152. */
  61153. custom?: Dictionary<any>;
  61154. /**
  61155. * (Highmaps) Name of the dash style to use for the graph, or for some
  61156. * series types the outline of each shape.
  61157. *
  61158. * In styled mode, the stroke dash-array can be set with the same classes as
  61159. * listed under series.color.
  61160. */
  61161. dashStyle?: DashStyleValue;
  61162. /**
  61163. * (Highstock) Data grouping is the concept of sampling the data values into
  61164. * larger blocks in order to ease readability and increase performance of
  61165. * the JavaScript charts. Highcharts Stock by default applies data grouping
  61166. * when the points become closer than a certain pixel value, determined by
  61167. * the `groupPixelWidth` option.
  61168. *
  61169. * If data grouping is applied, the grouping information of grouped points
  61170. * can be read from the Point.dataGroup. If point options other than the
  61171. * data itself are set, for example `name` or `color` or custom properties,
  61172. * the grouping logic doesn't know how to group it. In this case the options
  61173. * of the first point instance are copied over to the group point. This can
  61174. * be altered through a custom `approximation` callback function.
  61175. */
  61176. dataGrouping?: DataGroupingOptionsObject;
  61177. /**
  61178. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  61179. * labels, appearing next to each data point.
  61180. *
  61181. * Since v6.2.0, multiple data labels can be applied to each single point by
  61182. * defining them as an array of configs.
  61183. *
  61184. * In styled mode, the data labels can be styled with the
  61185. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  61186. * (see example).
  61187. */
  61188. dataLabels?: (PlotMaplineDataLabelsOptions|Array<PlotMaplineDataLabelsOptions>);
  61189. /**
  61190. * (Highcharts, Highstock) Options for the series data sorting.
  61191. */
  61192. dataSorting?: (DataSortingOptionsObject|PlotMaplineDataSortingOptions);
  61193. /**
  61194. * (Highmaps) A description of the series to add to the screen reader
  61195. * information about the series.
  61196. */
  61197. description?: string;
  61198. /**
  61199. * (Highmaps) The draggable-points module allows points to be moved around
  61200. * or modified in the chart. In addition to the options mentioned under the
  61201. * `dragDrop` API structure, the module fires three events, point.dragStart,
  61202. * point.drag and point.drop.
  61203. */
  61204. dragDrop?: SeriesDragDropOptionsObject;
  61205. /**
  61206. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  61207. * This includes point tooltips and click events on graphs and points. For
  61208. * large datasets it improves performance.
  61209. */
  61210. enableMouseTracking?: boolean;
  61211. /**
  61212. * (Highmaps) General event handlers for the series items. These event hooks
  61213. * can also be attached to the series at run time using the
  61214. * `Highcharts.addEvent` function.
  61215. */
  61216. events?: SeriesEventsOptionsObject;
  61217. /**
  61218. * (Highmaps) Fill color for the map line shapes
  61219. */
  61220. fillColor?: (ColorString|GradientColorObject|PatternObject);
  61221. /**
  61222. * (Highmaps) Determines whether the series should look for the nearest
  61223. * point in both dimensions or just the x-dimension when hovering the
  61224. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  61225. * series. If the data has duplicate x-values, it is recommended to set this
  61226. * to `'xy'` to allow hovering over all points.
  61227. *
  61228. * Applies only to series types using nearest neighbor search (not direct
  61229. * hover) for tooltip.
  61230. */
  61231. findNearestPointBy?: OptionsFindNearestPointByValue;
  61232. /**
  61233. * (Highstock) Defines when to display a gap in the graph, together with the
  61234. * gapUnit option.
  61235. *
  61236. * In case when `dataGrouping` is enabled, points can be grouped into a
  61237. * larger time span. This can make the grouped points to have a greater
  61238. * distance than the absolute value of `gapSize` property, which will result
  61239. * in disappearing graph completely. To prevent this situation the mentioned
  61240. * distance between grouped points is used instead of previously defined
  61241. * `gapSize`.
  61242. *
  61243. * In practice, this option is most often used to visualize gaps in time
  61244. * series. In a stock chart, intraday data is available for daytime hours,
  61245. * while gaps will appear in nights and weekends.
  61246. */
  61247. gapSize?: number;
  61248. /**
  61249. * (Highstock) Together with gapSize, this option defines where to draw gaps
  61250. * in the graph.
  61251. *
  61252. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  61253. * if the distance between two points is greater than 5 times that of the
  61254. * two closest points, the graph will be broken.
  61255. *
  61256. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  61257. * values, which on a datetime axis is milliseconds. This also applies to
  61258. * the navigator series that inherits gap options from the base series.
  61259. */
  61260. gapUnit?: OptionsGapUnitValue;
  61261. /**
  61262. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  61263. * chart width or only the zoomed area when zooming in on parts of the X
  61264. * axis. By default, the Y axis adjusts to the min and max of the visible
  61265. * data. Cartesian series only.
  61266. */
  61267. getExtremesFromAll?: boolean;
  61268. /**
  61269. * (Highmaps) When set to `false` will prevent the series data from being
  61270. * included in any form of data export.
  61271. *
  61272. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  61273. * `includeInCSVExport`.
  61274. */
  61275. includeInDataExport?: boolean;
  61276. /**
  61277. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  61278. * When plotting discrete values, a little random noise may help telling the
  61279. * points apart. The jitter setting applies a random displacement of up to
  61280. * `n` axis units in either direction. So for example on a horizontal X
  61281. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  61282. * position between 0.24 units to the left and 0.24 units to the right of
  61283. * the true axis position. On a category axis, setting it to 0.5 will fill
  61284. * up the bin and make the data appear continuous.
  61285. *
  61286. * When rendered on top of a box plot or a column series, a jitter value of
  61287. * 0.24 will correspond to the underlying series' default groupPadding and
  61288. * pointPadding settings.
  61289. */
  61290. jitter?: PlotMaplineJitterOptions;
  61291. /**
  61292. * (Highmaps) What property to join the `mapData` to the value data. For
  61293. * example, if joinBy is "code", the mapData items with a specific code is
  61294. * merged into the data with the same code. For maps loaded from GeoJSON,
  61295. * the keys may be held in each point's `properties` object.
  61296. *
  61297. * The joinBy option can also be an array of two values, where the first
  61298. * points to a key in the `mapData`, and the second points to another key in
  61299. * the `data`.
  61300. *
  61301. * When joinBy is `null`, the map items are joined by their position in the
  61302. * array, which performs much better in maps with many data points. This is
  61303. * the recommended option if you are printing more than a thousand data
  61304. * points and have a backend that can preprocess the data into a parallel
  61305. * array of the mapData.
  61306. */
  61307. joinBy?: (string|Array<string>);
  61308. /**
  61309. * (Highmaps) An array specifying which option maps to which key in the data
  61310. * point array. This makes it convenient to work with unstructured data
  61311. * arrays from different sources.
  61312. */
  61313. keys?: Array<string>;
  61314. /**
  61315. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  61316. * series as possible in a natural way, seeking to avoid other series. The
  61317. * goal of this feature is to make the chart more easily readable, like if a
  61318. * human designer placed the labels in the optimal position.
  61319. *
  61320. * The series labels currently work with series types having a `graph` or an
  61321. * `area`.
  61322. */
  61323. label?: SeriesLabelOptionsObject;
  61324. /**
  61325. * (Highstock) The line marks the last price from all points.
  61326. */
  61327. lastPrice?: SeriesLastPriceOptionsObject;
  61328. /**
  61329. * (Highstock) The line marks the last price from visible range of points.
  61330. */
  61331. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61332. /**
  61333. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61334. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61335. * the ends and bends.
  61336. */
  61337. linecap?: SeriesLinecapValue;
  61338. /**
  61339. * (Highcharts, Highstock) The width of the map line.
  61340. */
  61341. lineWidth?: number;
  61342. /**
  61343. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  61344. * Additionally, the value can be ":previous" to link to the previous
  61345. * series. When two series are linked, only the first one appears in the
  61346. * legend. Toggling the visibility of this also toggles the linked series.
  61347. *
  61348. * If master series uses data sorting and linked series does not have its
  61349. * own sorting definition, the linked series will be sorted in the same
  61350. * order as the master one.
  61351. */
  61352. linkedTo?: string;
  61353. /**
  61354. * (Highstock) Options for the corresponding navigator series if
  61355. * `showInNavigator` is `true` for this series. Available options are the
  61356. * same as any series, documented at plotOptions and series.
  61357. *
  61358. * These options are merged with options in navigator.series, and will take
  61359. * precedence if the same option is defined both places.
  61360. */
  61361. navigatorOptions?: PlotSeriesOptions;
  61362. /**
  61363. * (Highmaps) The color for the parts of the graph or points that are below
  61364. * the threshold. Note that `zones` takes precedence over the negative
  61365. * color. Using `negativeColor` is equivalent to applying a zone with value
  61366. * of 0.
  61367. */
  61368. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61369. /**
  61370. * (Highmaps) The color to apply to null points.
  61371. *
  61372. * In styled mode, the null point fill is set in the
  61373. * `.highcharts-null-point` class.
  61374. */
  61375. nullColor?: (ColorString|GradientColorObject|PatternObject);
  61376. /**
  61377. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  61378. * events on null points.
  61379. */
  61380. nullInteraction?: boolean;
  61381. /**
  61382. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  61383. * dataLabels.
  61384. */
  61385. opacity?: number;
  61386. /**
  61387. * (Highmaps) Properties for each single point.
  61388. */
  61389. point?: PlotSeriesPointOptions;
  61390. /**
  61391. * (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
  61392. * individual series. Overrides the chart wide configuration.
  61393. */
  61394. pointDescriptionFormatter?: Function;
  61395. /**
  61396. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61397. * a series, `pointInterval` defines the interval of the x values. For
  61398. * example, if a series contains one value every decade starting from year
  61399. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  61400. * `pointInterval` is set in milliseconds.
  61401. *
  61402. * It can be also be combined with `pointIntervalUnit` to draw irregular
  61403. * time intervals.
  61404. *
  61405. * Please note that this options applies to the _series data_, not the
  61406. * interval of the axis ticks, which is independent.
  61407. */
  61408. pointInterval?: number;
  61409. /**
  61410. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  61411. * setting the pointInterval to irregular time units, `day`, `month` and
  61412. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  61413. * also takes the DST crossover into consideration when dealing with local
  61414. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  61415. * months, 10 years etc.
  61416. *
  61417. * Please note that this options applies to the _series data_, not the
  61418. * interval of the axis ticks, which is independent.
  61419. */
  61420. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  61421. /**
  61422. * (Highstock) The width of each point on the x axis. For example in a
  61423. * column chart with one value each day, the pointRange would be 1 day (= 24
  61424. * * 3600
  61425. *
  61426. * * 1000 milliseconds). This is normally computed automatically, but this
  61427. * option can be used to override the automatic value.
  61428. */
  61429. pointRange?: number;
  61430. /**
  61431. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  61432. * a series, pointStart defines on what value to start. For example, if a
  61433. * series contains one yearly value starting from 1945, set pointStart to
  61434. * 1945.
  61435. */
  61436. pointStart?: number;
  61437. /**
  61438. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  61439. * true, the checkbox next to the series name in the legend will be checked
  61440. * for a selected series.
  61441. */
  61442. selected?: boolean;
  61443. /**
  61444. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  61445. * allow selecting the series. The state of the checkbox is determined by
  61446. * the `selected` option.
  61447. */
  61448. showCheckbox?: boolean;
  61449. /**
  61450. * (Highmaps) Whether to display this particular series or series type in
  61451. * the legend. Standalone series are shown in legend by default, and linked
  61452. * series are not. Since v7.2.0 it is possible to show series that use
  61453. * colorAxis by setting this option to `true`.
  61454. */
  61455. showInLegend?: boolean;
  61456. /**
  61457. * (Highstock) Whether or not to show the series in the navigator. Takes
  61458. * precedence over navigator.baseSeries if defined.
  61459. */
  61460. showInNavigator?: boolean;
  61461. /**
  61462. * (Highmaps) If set to `true`, the accessibility module will skip past the
  61463. * points in this series for keyboard navigation.
  61464. */
  61465. skipKeyboardNavigation?: boolean;
  61466. /**
  61467. * (Highcharts, Highstock) When this is true, the series will not cause the
  61468. * Y axis to cross the zero plane (or threshold option) unless the data
  61469. * actually crosses the plane.
  61470. *
  61471. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  61472. * make the Y axis show negative values according to the `minPadding`
  61473. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  61474. */
  61475. softThreshold?: boolean;
  61476. /**
  61477. * (Highcharts, Highstock) Whether to stack the values of each series on top
  61478. * of each other. Possible values are `undefined` to disable, `"normal"` to
  61479. * stack by value or `"percent"`.
  61480. *
  61481. * When stacking is enabled, data must be sorted in ascending X order.
  61482. *
  61483. * Some stacking options are related to specific series types. In the
  61484. * streamgraph series type, the stacking option is set to `"stream"`. The
  61485. * second one is `"overlap"`, which only applies to waterfall series.
  61486. */
  61487. stacking?: OptionsStackingValue;
  61488. states?: SeriesStatesOptionsObject;
  61489. /**
  61490. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  61491. * values are `left`, `center` and `right`.
  61492. */
  61493. step?: OptionsStepValue;
  61494. /**
  61495. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  61496. * `mouseOut` event on a series isn't triggered until the mouse moves over
  61497. * another series, or out of the plot area. When false, the `mouseOut` event
  61498. * on a series is triggered when the mouse leaves the area around the
  61499. * series' graph or markers. This also implies the tooltip. When
  61500. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  61501. * be hidden when moving the mouse between series.
  61502. */
  61503. stickyTracking?: boolean;
  61504. /**
  61505. * (Highcharts, Highstock) The threshold, also called zero level or base
  61506. * level. For line type series this is only used in conjunction with
  61507. * negativeColor.
  61508. */
  61509. threshold?: (number|null);
  61510. /**
  61511. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  61512. * of each single series. Properties are inherited from tooltip. Overridable
  61513. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  61514. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  61515. * series.name by default shows in the headerFormat and point.x and point.y
  61516. * in the pointFormat.
  61517. */
  61518. tooltip?: SeriesTooltipOptionsObject;
  61519. /**
  61520. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  61521. * is longer than this, only one dimensional arrays of numbers, or two
  61522. * dimensional arrays with x and y values are allowed. Also, only the first
  61523. * point is tested, and the rest are assumed to be the same format. This
  61524. * saves expensive data checking and indexing in long series. Set it to `0`
  61525. * disable.
  61526. *
  61527. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  61528. * two dimensional arrays are allowed.
  61529. */
  61530. turboThreshold?: number;
  61531. /**
  61532. * (Highmaps) Set the initial visibility of the series.
  61533. */
  61534. visible?: boolean;
  61535. /**
  61536. * (Highmaps) Define the z index of the series.
  61537. */
  61538. zIndex?: number;
  61539. /**
  61540. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  61541. */
  61542. zoneAxis?: string;
  61543. /**
  61544. * (Highcharts, Highstock) An array defining zones within a series. Zones
  61545. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  61546. * the `zoneAxis` option. The zone definitions have to be in ascending order
  61547. * regarding to the value.
  61548. *
  61549. * In styled mode, the color zones are styled with the
  61550. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  61551. * option (view live demo).
  61552. */
  61553. zones?: Array<SeriesZonesOptionsObject>;
  61554. }
  61555. /**
  61556. * (Highmaps) The map series is used for basic choropleth maps, where each map
  61557. * area has a color based on its value.
  61558. *
  61559. * In TypeScript the type option must always be set.
  61560. *
  61561. * Configuration options for the series are given in three levels:
  61562. *
  61563. * 1. Options for all series in a chart are defined in the plotOptions.series
  61564. * object.
  61565. *
  61566. * 2. Options for all `map` series are defined in plotOptions.map.
  61567. *
  61568. * 3. Options for one single series are given in the series instance array. (see
  61569. * online documentation for example)
  61570. */
  61571. export interface PlotMapOptions {
  61572. /**
  61573. * (Highmaps) Accessibility options for a series.
  61574. */
  61575. accessibility?: SeriesAccessibilityOptionsObject;
  61576. /**
  61577. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  61578. * rendered. If `true`, areas which don't correspond to a data point, are
  61579. * rendered as `null` points. If `false`, those areas are skipped.
  61580. */
  61581. allAreas?: boolean;
  61582. /**
  61583. * (Highmaps) Allow this series' points to be selected by clicking on the
  61584. * graphic (columns, point markers, pie slices, map areas etc).
  61585. *
  61586. * The selected points can be handled by point select and unselect events,
  61587. * or collectively by the getSelectedPoints function.
  61588. *
  61589. * And alternative way of selecting points is through dragging.
  61590. */
  61591. allowPointSelect?: boolean;
  61592. /**
  61593. * (Highmaps) Enable or disable the initial animation when a series is
  61594. * displayed. The animation can also be set as a configuration object.
  61595. * Please note that this option only applies to the initial animation of the
  61596. * series itself. For other animations, see chart.animation and the
  61597. * animation parameter under the API methods. The following properties are
  61598. * supported:
  61599. *
  61600. * - `defer`: The animation delay time in milliseconds.
  61601. *
  61602. * - `duration`: The duration of the animation in milliseconds.
  61603. *
  61604. * - `easing`: Can be a string reference to an easing function set on the
  61605. * `Math` object or a function. See the _Custom easing function_ demo below.
  61606. *
  61607. * Due to poor performance, animation is disabled in old IE browsers for
  61608. * several chart types.
  61609. */
  61610. animation?: (boolean|PlotMapAnimationOptions);
  61611. /**
  61612. * (Highmaps) For some series, there is a limit that shuts down initial
  61613. * animation by default when the total number of points in the chart is too
  61614. * high. For example, for a column chart and its derivatives, animation does
  61615. * not run if there is more than 250 points totally. To disable this cap,
  61616. * set `animationLimit` to `Infinity`.
  61617. */
  61618. animationLimit?: number;
  61619. /**
  61620. * (Highmaps) Sets the color blending in the boost module.
  61621. */
  61622. boostBlending?: OptionsBoostBlendingValue;
  61623. /**
  61624. * (Highmaps) Set the point threshold for when a series should enter boost
  61625. * mode.
  61626. *
  61627. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  61628. * there are 2000 or more points in the series.
  61629. *
  61630. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  61631. * it to 1 will force boosting.
  61632. *
  61633. * Note that the cropThreshold also affects this setting. When zooming in on
  61634. * a series that has fewer points than the `cropThreshold`, all points are
  61635. * rendered although outside the visible plot area, and the `boostThreshold`
  61636. * won't take effect.
  61637. */
  61638. boostThreshold?: number;
  61639. /**
  61640. * (Highmaps) The border color of the map areas.
  61641. *
  61642. * In styled mode, the border stroke is given in the `.highcharts-point`
  61643. * class.
  61644. */
  61645. borderColor?: (ColorString|GradientColorObject|PatternObject);
  61646. /**
  61647. * (Highmaps) The border width of each map area.
  61648. *
  61649. * In styled mode, the border stroke width is given in the
  61650. * `.highcharts-point` class.
  61651. */
  61652. borderWidth?: number;
  61653. /**
  61654. * (Highmaps) An additional class name to apply to the series' graphical
  61655. * elements. This option does not replace default class names of the
  61656. * graphical element.
  61657. */
  61658. className?: string;
  61659. /**
  61660. * (Highmaps) Disable this option to allow series rendering in the whole
  61661. * plotting area.
  61662. *
  61663. * **Note:** Clipping should be always enabled when chart.zoomType is set
  61664. */
  61665. clip?: boolean;
  61666. /**
  61667. * (Highmaps) The main color of the series. In line type series it applies
  61668. * to the line and the point markers unless otherwise specified. In bar type
  61669. * series it applies to the bars unless a color is specified per point. The
  61670. * default value is pulled from the `options.colors` array.
  61671. *
  61672. * In styled mode, the color can be defined by the colorIndex option. Also,
  61673. * the series color can be set with the `.highcharts-series`,
  61674. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  61675. * `.highcharts-series-{n}` class, or individual classes given by the
  61676. * `className` option.
  61677. */
  61678. color?: (ColorString|GradientColorObject|PatternObject);
  61679. /**
  61680. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  61681. * this number defines which colorAxis the particular series is connected
  61682. * to. It refers to either the axis id or the index of the axis in the
  61683. * colorAxis array, with 0 being the first. Set this option to false to
  61684. * prevent a series from connecting to the default color axis.
  61685. *
  61686. * Since v7.2.0 the option can also be an axis id or an axis index instead
  61687. * of a boolean flag.
  61688. */
  61689. colorAxis?: (boolean|number|string);
  61690. /**
  61691. * (Highmaps) Styled mode only. A specific color index to use for the
  61692. * series, so its graphic representations are given the class name
  61693. * `highcharts-color-{n}`.
  61694. */
  61695. colorIndex?: number;
  61696. /**
  61697. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  61698. * used to calculate point color if `colorAxis` is used. Requires to set
  61699. * `min` and `max` if some custom point property is used or if approximation
  61700. * for data grouping is set to `'sum'`.
  61701. */
  61702. colorKey?: string;
  61703. /**
  61704. * (Highstock) Compare the values of the series against the first non-null,
  61705. * non- zero value in the visible range. The y axis will show percentage or
  61706. * absolute change depending on whether `compare` is set to `"percent"` or
  61707. * `"value"`. When this is applied to multiple series, it allows comparing
  61708. * the development of the series against each other. Adds a `change` field
  61709. * to every point object.
  61710. */
  61711. compare?: string;
  61712. /**
  61713. * (Highstock) When compare is `percent`, this option dictates whether to
  61714. * use 0 or 100 as the base of comparison.
  61715. */
  61716. compareBase?: (0|100);
  61717. /**
  61718. * (Highstock) Defines if comparison should start from the first point
  61719. * within the visible range or should start from the first point **before**
  61720. * the range.
  61721. *
  61722. * In other words, this flag determines if first point within the visible
  61723. * range will have 0% (`compareStart=true`) or should have been already
  61724. * calculated according to the previous point (`compareStart=false`).
  61725. */
  61726. compareStart?: boolean;
  61727. /**
  61728. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  61729. * series plot across the extremes.
  61730. */
  61731. connectEnds?: boolean;
  61732. /**
  61733. * (Highcharts, Highstock) Whether to connect a graph line across null
  61734. * points, or render a gap between the two points on either side of the
  61735. * null.
  61736. */
  61737. connectNulls?: boolean;
  61738. /**
  61739. * (Gantt) Override Pathfinder connector options for a series. Requires
  61740. * Highcharts Gantt to be loaded.
  61741. */
  61742. connectors?: SeriesConnectorsOptionsObject;
  61743. /**
  61744. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  61745. * rounded to its nearest pixel in order to render sharp on screen. In some
  61746. * cases, when there are a lot of densely packed columns, this leads to
  61747. * visible difference in column widths or distance between columns. In these
  61748. * cases, setting `crisp` to `false` may look better, even though each
  61749. * column is rendered blurry.
  61750. */
  61751. crisp?: boolean;
  61752. /**
  61753. * (Highmaps) You can set the cursor to "pointer" if you have click events
  61754. * attached to the series, to signal to the user that the points and lines
  61755. * can be clicked.
  61756. *
  61757. * In styled mode, the series cursor can be set with the same classes as
  61758. * listed under series.color.
  61759. */
  61760. cursor?: (string|CursorValue);
  61761. /**
  61762. * (Highmaps) A reserved subspace to store options and values for customized
  61763. * functionality. Here you can add additional data for your own event
  61764. * callbacks and formatter callbacks.
  61765. */
  61766. custom?: Dictionary<any>;
  61767. /**
  61768. * (Highmaps) Name of the dash style to use for the graph, or for some
  61769. * series types the outline of each shape.
  61770. *
  61771. * In styled mode, the stroke dash-array can be set with the same classes as
  61772. * listed under series.color.
  61773. */
  61774. dashStyle?: DashStyleValue;
  61775. /**
  61776. * (Highstock) Data grouping is the concept of sampling the data values into
  61777. * larger blocks in order to ease readability and increase performance of
  61778. * the JavaScript charts. Highcharts Stock by default applies data grouping
  61779. * when the points become closer than a certain pixel value, determined by
  61780. * the `groupPixelWidth` option.
  61781. *
  61782. * If data grouping is applied, the grouping information of grouped points
  61783. * can be read from the Point.dataGroup. If point options other than the
  61784. * data itself are set, for example `name` or `color` or custom properties,
  61785. * the grouping logic doesn't know how to group it. In this case the options
  61786. * of the first point instance are copied over to the group point. This can
  61787. * be altered through a custom `approximation` callback function.
  61788. */
  61789. dataGrouping?: DataGroupingOptionsObject;
  61790. /**
  61791. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  61792. * labels, appearing next to each data point.
  61793. *
  61794. * Since v6.2.0, multiple data labels can be applied to each single point by
  61795. * defining them as an array of configs.
  61796. *
  61797. * In styled mode, the data labels can be styled with the
  61798. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  61799. * (see example).
  61800. */
  61801. dataLabels?: (PlotMapDataLabelsOptions|Array<PlotMapDataLabelsOptions>);
  61802. /**
  61803. * (Highcharts, Highstock) Options for the series data sorting.
  61804. */
  61805. dataSorting?: (DataSortingOptionsObject|PlotMapDataSortingOptions);
  61806. /**
  61807. * (Highmaps) A description of the series to add to the screen reader
  61808. * information about the series.
  61809. */
  61810. description?: string;
  61811. /**
  61812. * (Highmaps) The draggable-points module allows points to be moved around
  61813. * or modified in the chart. In addition to the options mentioned under the
  61814. * `dragDrop` API structure, the module fires three events, point.dragStart,
  61815. * point.drag and point.drop.
  61816. */
  61817. dragDrop?: SeriesDragDropOptionsObject;
  61818. /**
  61819. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  61820. * This includes point tooltips and click events on graphs and points. For
  61821. * large datasets it improves performance.
  61822. */
  61823. enableMouseTracking?: boolean;
  61824. /**
  61825. * (Highmaps) General event handlers for the series items. These event hooks
  61826. * can also be attached to the series at run time using the
  61827. * `Highcharts.addEvent` function.
  61828. */
  61829. events?: SeriesEventsOptionsObject;
  61830. /**
  61831. * (Highmaps) Determines whether the series should look for the nearest
  61832. * point in both dimensions or just the x-dimension when hovering the
  61833. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  61834. * series. If the data has duplicate x-values, it is recommended to set this
  61835. * to `'xy'` to allow hovering over all points.
  61836. *
  61837. * Applies only to series types using nearest neighbor search (not direct
  61838. * hover) for tooltip.
  61839. */
  61840. findNearestPointBy?: OptionsFindNearestPointByValue;
  61841. /**
  61842. * (Highstock) Defines when to display a gap in the graph, together with the
  61843. * gapUnit option.
  61844. *
  61845. * In case when `dataGrouping` is enabled, points can be grouped into a
  61846. * larger time span. This can make the grouped points to have a greater
  61847. * distance than the absolute value of `gapSize` property, which will result
  61848. * in disappearing graph completely. To prevent this situation the mentioned
  61849. * distance between grouped points is used instead of previously defined
  61850. * `gapSize`.
  61851. *
  61852. * In practice, this option is most often used to visualize gaps in time
  61853. * series. In a stock chart, intraday data is available for daytime hours,
  61854. * while gaps will appear in nights and weekends.
  61855. */
  61856. gapSize?: number;
  61857. /**
  61858. * (Highstock) Together with gapSize, this option defines where to draw gaps
  61859. * in the graph.
  61860. *
  61861. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  61862. * if the distance between two points is greater than 5 times that of the
  61863. * two closest points, the graph will be broken.
  61864. *
  61865. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  61866. * values, which on a datetime axis is milliseconds. This also applies to
  61867. * the navigator series that inherits gap options from the base series.
  61868. */
  61869. gapUnit?: OptionsGapUnitValue;
  61870. /**
  61871. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  61872. * chart width or only the zoomed area when zooming in on parts of the X
  61873. * axis. By default, the Y axis adjusts to the min and max of the visible
  61874. * data. Cartesian series only.
  61875. */
  61876. getExtremesFromAll?: boolean;
  61877. /**
  61878. * (Highmaps) When set to `false` will prevent the series data from being
  61879. * included in any form of data export.
  61880. *
  61881. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  61882. * `includeInCSVExport`.
  61883. */
  61884. includeInDataExport?: boolean;
  61885. /**
  61886. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  61887. * When plotting discrete values, a little random noise may help telling the
  61888. * points apart. The jitter setting applies a random displacement of up to
  61889. * `n` axis units in either direction. So for example on a horizontal X
  61890. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  61891. * position between 0.24 units to the left and 0.24 units to the right of
  61892. * the true axis position. On a category axis, setting it to 0.5 will fill
  61893. * up the bin and make the data appear continuous.
  61894. *
  61895. * When rendered on top of a box plot or a column series, a jitter value of
  61896. * 0.24 will correspond to the underlying series' default groupPadding and
  61897. * pointPadding settings.
  61898. */
  61899. jitter?: PlotMapJitterOptions;
  61900. /**
  61901. * (Highmaps) What property to join the `mapData` to the value data. For
  61902. * example, if joinBy is "code", the mapData items with a specific code is
  61903. * merged into the data with the same code. For maps loaded from GeoJSON,
  61904. * the keys may be held in each point's `properties` object.
  61905. *
  61906. * The joinBy option can also be an array of two values, where the first
  61907. * points to a key in the `mapData`, and the second points to another key in
  61908. * the `data`.
  61909. *
  61910. * When joinBy is `null`, the map items are joined by their position in the
  61911. * array, which performs much better in maps with many data points. This is
  61912. * the recommended option if you are printing more than a thousand data
  61913. * points and have a backend that can preprocess the data into a parallel
  61914. * array of the mapData.
  61915. */
  61916. joinBy?: (string|Array<string>);
  61917. /**
  61918. * (Highmaps) An array specifying which option maps to which key in the data
  61919. * point array. This makes it convenient to work with unstructured data
  61920. * arrays from different sources.
  61921. */
  61922. keys?: Array<string>;
  61923. /**
  61924. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  61925. * series as possible in a natural way, seeking to avoid other series. The
  61926. * goal of this feature is to make the chart more easily readable, like if a
  61927. * human designer placed the labels in the optimal position.
  61928. *
  61929. * The series labels currently work with series types having a `graph` or an
  61930. * `area`.
  61931. */
  61932. label?: SeriesLabelOptionsObject;
  61933. /**
  61934. * (Highstock) The line marks the last price from all points.
  61935. */
  61936. lastPrice?: SeriesLastPriceOptionsObject;
  61937. /**
  61938. * (Highstock) The line marks the last price from visible range of points.
  61939. */
  61940. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  61941. /**
  61942. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  61943. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  61944. * the ends and bends.
  61945. */
  61946. linecap?: SeriesLinecapValue;
  61947. /**
  61948. * (Highcharts, Highstock) The width of the line connecting the data points.
  61949. */
  61950. lineWidth?: number;
  61951. /**
  61952. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  61953. * Additionally, the value can be ":previous" to link to the previous
  61954. * series. When two series are linked, only the first one appears in the
  61955. * legend. Toggling the visibility of this also toggles the linked series.
  61956. *
  61957. * If master series uses data sorting and linked series does not have its
  61958. * own sorting definition, the linked series will be sorted in the same
  61959. * order as the master one.
  61960. */
  61961. linkedTo?: string;
  61962. /**
  61963. * (Highstock) Options for the corresponding navigator series if
  61964. * `showInNavigator` is `true` for this series. Available options are the
  61965. * same as any series, documented at plotOptions and series.
  61966. *
  61967. * These options are merged with options in navigator.series, and will take
  61968. * precedence if the same option is defined both places.
  61969. */
  61970. navigatorOptions?: PlotSeriesOptions;
  61971. /**
  61972. * (Highmaps) The color for the parts of the graph or points that are below
  61973. * the threshold. Note that `zones` takes precedence over the negative
  61974. * color. Using `negativeColor` is equivalent to applying a zone with value
  61975. * of 0.
  61976. */
  61977. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  61978. /**
  61979. * (Highmaps) The color to apply to null points.
  61980. *
  61981. * In styled mode, the null point fill is set in the
  61982. * `.highcharts-null-point` class.
  61983. */
  61984. nullColor?: (ColorString|GradientColorObject|PatternObject);
  61985. /**
  61986. * (Highmaps) Whether to allow pointer interaction like tooltips and mouse
  61987. * events on null points.
  61988. */
  61989. nullInteraction?: boolean;
  61990. /**
  61991. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  61992. * dataLabels.
  61993. */
  61994. opacity?: number;
  61995. /**
  61996. * (Highmaps) Properties for each single point.
  61997. */
  61998. point?: PlotSeriesPointOptions;
  61999. /**
  62000. * (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
  62001. * individual series. Overrides the chart wide configuration.
  62002. */
  62003. pointDescriptionFormatter?: Function;
  62004. /**
  62005. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  62006. * a series, `pointInterval` defines the interval of the x values. For
  62007. * example, if a series contains one value every decade starting from year
  62008. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  62009. * `pointInterval` is set in milliseconds.
  62010. *
  62011. * It can be also be combined with `pointIntervalUnit` to draw irregular
  62012. * time intervals.
  62013. *
  62014. * Please note that this options applies to the _series data_, not the
  62015. * interval of the axis ticks, which is independent.
  62016. */
  62017. pointInterval?: number;
  62018. /**
  62019. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  62020. * setting the pointInterval to irregular time units, `day`, `month` and
  62021. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  62022. * also takes the DST crossover into consideration when dealing with local
  62023. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  62024. * months, 10 years etc.
  62025. *
  62026. * Please note that this options applies to the _series data_, not the
  62027. * interval of the axis ticks, which is independent.
  62028. */
  62029. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  62030. /**
  62031. * (Highstock) The width of each point on the x axis. For example in a
  62032. * column chart with one value each day, the pointRange would be 1 day (= 24
  62033. * * 3600
  62034. *
  62035. * * 1000 milliseconds). This is normally computed automatically, but this
  62036. * option can be used to override the automatic value.
  62037. */
  62038. pointRange?: number;
  62039. /**
  62040. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  62041. * a series, pointStart defines on what value to start. For example, if a
  62042. * series contains one yearly value starting from 1945, set pointStart to
  62043. * 1945.
  62044. */
  62045. pointStart?: number;
  62046. /**
  62047. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  62048. * true, the checkbox next to the series name in the legend will be checked
  62049. * for a selected series.
  62050. */
  62051. selected?: boolean;
  62052. /**
  62053. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  62054. * allow selecting the series. The state of the checkbox is determined by
  62055. * the `selected` option.
  62056. */
  62057. showCheckbox?: boolean;
  62058. /**
  62059. * (Highmaps) Whether to display this particular series or series type in
  62060. * the legend. Standalone series are shown in legend by default, and linked
  62061. * series are not. Since v7.2.0 it is possible to show series that use
  62062. * colorAxis by setting this option to `true`.
  62063. */
  62064. showInLegend?: boolean;
  62065. /**
  62066. * (Highstock) Whether or not to show the series in the navigator. Takes
  62067. * precedence over navigator.baseSeries if defined.
  62068. */
  62069. showInNavigator?: boolean;
  62070. /**
  62071. * (Highmaps) If set to `true`, the accessibility module will skip past the
  62072. * points in this series for keyboard navigation.
  62073. */
  62074. skipKeyboardNavigation?: boolean;
  62075. /**
  62076. * (Highcharts, Highstock) When this is true, the series will not cause the
  62077. * Y axis to cross the zero plane (or threshold option) unless the data
  62078. * actually crosses the plane.
  62079. *
  62080. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  62081. * make the Y axis show negative values according to the `minPadding`
  62082. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  62083. */
  62084. softThreshold?: boolean;
  62085. /**
  62086. * (Highcharts, Highstock) Whether to stack the values of each series on top
  62087. * of each other. Possible values are `undefined` to disable, `"normal"` to
  62088. * stack by value or `"percent"`.
  62089. *
  62090. * When stacking is enabled, data must be sorted in ascending X order.
  62091. *
  62092. * Some stacking options are related to specific series types. In the
  62093. * streamgraph series type, the stacking option is set to `"stream"`. The
  62094. * second one is `"overlap"`, which only applies to waterfall series.
  62095. */
  62096. stacking?: OptionsStackingValue;
  62097. states?: SeriesStatesOptionsObject;
  62098. /**
  62099. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  62100. * values are `left`, `center` and `right`.
  62101. */
  62102. step?: OptionsStepValue;
  62103. /**
  62104. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  62105. * `mouseOut` event on a series isn't triggered until the mouse moves over
  62106. * another series, or out of the plot area. When false, the `mouseOut` event
  62107. * on a series is triggered when the mouse leaves the area around the
  62108. * series' graph or markers. This also implies the tooltip. When
  62109. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  62110. * be hidden when moving the mouse between series.
  62111. */
  62112. stickyTracking?: boolean;
  62113. /**
  62114. * (Highcharts, Highstock) The threshold, also called zero level or base
  62115. * level. For line type series this is only used in conjunction with
  62116. * negativeColor.
  62117. */
  62118. threshold?: (number|null);
  62119. /**
  62120. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  62121. * of each single series. Properties are inherited from tooltip. Overridable
  62122. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  62123. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  62124. * series.name by default shows in the headerFormat and point.x and point.y
  62125. * in the pointFormat.
  62126. */
  62127. tooltip?: SeriesTooltipOptionsObject;
  62128. /**
  62129. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  62130. * is longer than this, only one dimensional arrays of numbers, or two
  62131. * dimensional arrays with x and y values are allowed. Also, only the first
  62132. * point is tested, and the rest are assumed to be the same format. This
  62133. * saves expensive data checking and indexing in long series. Set it to `0`
  62134. * disable.
  62135. *
  62136. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  62137. * two dimensional arrays are allowed.
  62138. */
  62139. turboThreshold?: number;
  62140. /**
  62141. * (Highmaps) Set the initial visibility of the series.
  62142. */
  62143. visible?: boolean;
  62144. /**
  62145. * (Highmaps) Define the z index of the series.
  62146. */
  62147. zIndex?: number;
  62148. /**
  62149. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  62150. */
  62151. zoneAxis?: string;
  62152. /**
  62153. * (Highcharts, Highstock) An array defining zones within a series. Zones
  62154. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  62155. * the `zoneAxis` option. The zone definitions have to be in ascending order
  62156. * regarding to the value.
  62157. *
  62158. * In styled mode, the color zones are styled with the
  62159. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  62160. * option (view live demo).
  62161. */
  62162. zones?: Array<SeriesZonesOptionsObject>;
  62163. }
  62164. /**
  62165. * (Highmaps) Enable or disable the initial animation when a series is
  62166. * displayed. The animation can also be set as a configuration object. Please
  62167. * note that this option only applies to the initial animation of the series
  62168. * itself. For other animations, see chart.animation and the animation parameter
  62169. * under the API methods. The following properties are supported:
  62170. *
  62171. * - `defer`: The animation delay time in milliseconds.
  62172. *
  62173. * - `duration`: The duration of the animation in milliseconds.
  62174. *
  62175. * - `easing`: Can be a string reference to an easing function set on the `Math`
  62176. * object or a function. See the _Custom easing function_ demo below.
  62177. *
  62178. * Due to poor performance, animation is disabled in old IE browsers for several
  62179. * chart types.
  62180. */
  62181. export interface PlotMappointAnimationOptions {
  62182. defer?: number;
  62183. }
  62184. export interface PlotMappointClusterEventsOptions {
  62185. /**
  62186. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  62187. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  62188. * function. The default action is to zoom to the cluster points range. This
  62189. * can be prevented by calling `event.preventDefault()`.
  62190. */
  62191. drillToCluster?: MarkerClusterDrillCallbackFunction;
  62192. }
  62193. /**
  62194. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  62195. * to change the type of the algorithm, gridSize, distance or iterations.
  62196. */
  62197. export interface PlotMappointClusterLayoutAlgorithmOptions {
  62198. /**
  62199. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  62200. * maximum distance between point and cluster center so that this point will
  62201. * be inside the cluster. The distance is either a number defining pixels or
  62202. * a percentage defining a percentage of the plot area width.
  62203. */
  62204. distance?: (number|string);
  62205. /**
  62206. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  62207. * size of a grid square element either as a number defining pixels, or a
  62208. * percentage defining a percentage of the plot area width.
  62209. */
  62210. gridSize?: (number|string);
  62211. /**
  62212. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  62213. * the number of iterations that this algorithm will be repeated to find
  62214. * clusters positions.
  62215. */
  62216. iterations?: number;
  62217. /**
  62218. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  62219. * more visible points than the kmeansThreshold the `grid` algorithm is used
  62220. * to find clusters, otherwise `kmeans`. It ensures good performance on
  62221. * large datasets and better clusters arrangement after the zoom.
  62222. */
  62223. kmeansThreshold?: number;
  62224. /**
  62225. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  62226. * a cluster. There are three available algorithms:
  62227. *
  62228. * 1) `grid` - grid-based clustering technique. Points are assigned to
  62229. * squares of set size depending on their position on the plot area. Points
  62230. * inside the grid square are combined into a cluster. The grid size can be
  62231. * controlled by `gridSize` property (grid size changes at certain zoom
  62232. * levels).
  62233. *
  62234. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  62235. * points are divided using the grid method (distance property is a grid
  62236. * size) to find the initial amount of clusters. Next, each point is
  62237. * classified by computing the distance between each cluster center and that
  62238. * point. When the closest cluster distance is lower than distance property
  62239. * set by a user the point is added to this cluster otherwise is classified
  62240. * as `noise`. The algorithm is repeated until each cluster center not
  62241. * change its previous position more than one pixel. This technique is more
  62242. * accurate but also more time consuming than the `grid` algorithm,
  62243. * especially for big datasets.
  62244. *
  62245. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  62246. * algorithm uses k-means algorithm only on the chart initialization or when
  62247. * chart extremes have greater range than on initialization. When a chart is
  62248. * redrawn the algorithm checks only clustered points distance from the
  62249. * cluster center and rebuild it when the point is spaced enough to be
  62250. * outside the cluster. It provides performance improvement and more stable
  62251. * clusters position yet can be used rather on small and sparse datasets.
  62252. *
  62253. * By default, the algorithm depends on visible quantity of points and
  62254. * `kmeansThreshold`. When there are more visible points than the
  62255. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  62256. *
  62257. * The custom clustering algorithm can be added by assigning a callback
  62258. * function as the type property. This function takes an array of
  62259. * `processedXData`, `processedYData`, `processedXData` indexes and
  62260. * `layoutAlgorithm` options as arguments and should return an object with
  62261. * grouped data.
  62262. *
  62263. * The algorithm should return an object like that: (see online
  62264. * documentation for example)
  62265. *
  62266. * `clusterId` (example above - unique id of a cluster or noise) is an array
  62267. * of points belonging to a cluster. If the array has only one point or
  62268. * fewer points than set in `cluster.minimumClusterSize` it won't be
  62269. * combined into a cluster.
  62270. */
  62271. type?: (string|Function);
  62272. }
  62273. /**
  62274. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  62275. * the data values into larger blocks in order to ease readability and increase
  62276. * performance of the JavaScript charts.
  62277. *
  62278. * Note: marker clusters module is not working with `boost` and
  62279. * `draggable-points` modules.
  62280. *
  62281. * The marker clusters feature requires the marker-clusters.js file to be
  62282. * loaded, found in the modules directory of the download package, or online at
  62283. * code.highcharts.com/modules/marker-clusters.js.
  62284. */
  62285. export interface PlotMappointClusterOptions {
  62286. /**
  62287. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  62288. * this option works only when `layoutAlgorithm.type = "grid"`.
  62289. */
  62290. allowOverlap?: boolean;
  62291. /**
  62292. * (Highcharts, Highmaps) Options for the cluster marker animation.
  62293. */
  62294. animation?: (boolean|Partial<AnimationOptionsObject>);
  62295. /**
  62296. * (Highcharts, Highmaps) Options for the cluster data labels.
  62297. */
  62298. dataLabels?: DataLabelsOptions;
  62299. /**
  62300. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  62301. * when a cluster is clicked.
  62302. */
  62303. drillToCluster?: boolean;
  62304. /**
  62305. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  62306. */
  62307. enabled?: boolean;
  62308. events?: PlotMappointClusterEventsOptions;
  62309. /**
  62310. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  62311. * options to change the type of the algorithm, gridSize, distance or
  62312. * iterations.
  62313. */
  62314. layoutAlgorithm?: PlotMappointClusterLayoutAlgorithmOptions;
  62315. /**
  62316. * (Highcharts, Highmaps) Options for the cluster marker.
  62317. */
  62318. marker?: PointMarkerOptionsObject;
  62319. /**
  62320. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  62321. * cluster. This value has to be greater or equal to 2.
  62322. */
  62323. minimumClusterSize?: number;
  62324. states?: PlotMappointClusterStatesOptions;
  62325. /**
  62326. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  62327. *
  62328. * In styled mode, the color zones are styled with the
  62329. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  62330. * `className` option.
  62331. */
  62332. zones?: Array<PlotMappointClusterZonesOptions>;
  62333. }
  62334. export interface PlotMappointClusterStatesHoverOptions {
  62335. /**
  62336. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  62337. * state. When `undefined`, the series' or point's fillColor for normal
  62338. * state is used.
  62339. */
  62340. fillColor?: ColorType;
  62341. }
  62342. export interface PlotMappointClusterStatesOptions {
  62343. hover?: PlotMappointClusterStatesHoverOptions;
  62344. }
  62345. /**
  62346. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  62347. *
  62348. * In styled mode, the color zones are styled with the
  62349. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  62350. * option.
  62351. */
  62352. export interface PlotMappointClusterZonesOptions {
  62353. /**
  62354. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  62355. * zone.
  62356. */
  62357. className?: string;
  62358. /**
  62359. * (Highcharts, Highmaps) The value where the zone starts.
  62360. */
  62361. from?: number;
  62362. /**
  62363. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  62364. * zone.
  62365. */
  62366. marker?: PointMarkerOptionsObject;
  62367. /**
  62368. * (Highcharts, Highmaps) The value where the zone ends.
  62369. */
  62370. to?: number;
  62371. }
  62372. /**
  62373. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62374. * animation when a series is displayed for the `dataLabels`. The animation can
  62375. * also be set as a configuration object. Please note that this option only
  62376. * applies to the initial animation. For other animations, see chart.animation
  62377. * and the animation parameter under the API methods. The following properties
  62378. * are supported:
  62379. *
  62380. * - `defer`: The animation delay time in milliseconds.
  62381. */
  62382. export interface PlotMappointDataLabelsAnimationOptions {
  62383. /**
  62384. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  62385. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  62386. * inherits defer time from the series.animation.defer.
  62387. */
  62388. defer?: number;
  62389. }
  62390. /**
  62391. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  62392. * appearing next to each data point.
  62393. *
  62394. * Since v6.2.0, multiple data labels can be applied to each single point by
  62395. * defining them as an array of configs.
  62396. *
  62397. * In styled mode, the data labels can be styled with the
  62398. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  62399. * example).
  62400. */
  62401. export interface PlotMappointDataLabelsOptions {
  62402. /**
  62403. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  62404. * compared to the point. If `right`, the right side of the label should be
  62405. * touching the point. For points with an extent, like columns, the
  62406. * alignments also dictates how to align it inside the box, as given with
  62407. * the inside option. Can be one of `left`, `center` or `right`.
  62408. */
  62409. align?: (AlignValue|null);
  62410. /**
  62411. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  62412. * overlap. To make the labels less sensitive for overlapping, the
  62413. * dataLabels.padding can be set to 0.
  62414. */
  62415. allowOverlap?: boolean;
  62416. /**
  62417. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  62418. * animation when a series is displayed for the `dataLabels`. The animation
  62419. * can also be set as a configuration object. Please note that this option
  62420. * only applies to the initial animation. For other animations, see
  62421. * chart.animation and the animation parameter under the API methods. The
  62422. * following properties are supported:
  62423. *
  62424. * - `defer`: The animation delay time in milliseconds.
  62425. */
  62426. animation?: (boolean|PlotMappointDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  62427. /**
  62428. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  62429. * for the data label.
  62430. */
  62431. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  62432. /**
  62433. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  62434. * label. Defaults to `undefined`.
  62435. */
  62436. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62437. /**
  62438. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  62439. * the data label.
  62440. */
  62441. borderRadius?: number;
  62442. /**
  62443. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  62444. * the data label.
  62445. */
  62446. borderWidth?: number;
  62447. /**
  62448. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  62449. * Particularly in styled mode, this can be used to give each series' or
  62450. * point's data label unique styling. In addition to this option, a default
  62451. * color class name is added so that we can give the labels a contrast text
  62452. * shadow.
  62453. */
  62454. className?: string;
  62455. /**
  62456. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  62457. * labels. Defaults to `undefined`. For certain series types, like column or
  62458. * map, the data labels can be drawn inside the points. In this case the
  62459. * data label will be drawn with maximum contrast by default. Additionally,
  62460. * it will be given a `text-outline` style with the opposite color, to
  62461. * further increase the contrast. This can be overridden by setting the
  62462. * `text-outline` style to `none` in the `dataLabels.style` option.
  62463. */
  62464. color?: (ColorString|GradientColorObject|PatternObject);
  62465. /**
  62466. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  62467. * are outside the plot area. By default, the data label is moved inside the
  62468. * plot area according to the overflow option.
  62469. */
  62470. crop?: boolean;
  62471. /**
  62472. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  62473. * labels until the initial series animation has finished. Setting to
  62474. * `false` renders the data label immediately. If set to `true` inherits the
  62475. * defer time set in plotOptions.series.animation. If set to a number, a
  62476. * defer time is specified in milliseconds.
  62477. */
  62478. defer?: boolean;
  62479. /**
  62480. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  62481. * labels.
  62482. */
  62483. enabled?: boolean;
  62484. /**
  62485. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  62486. * of which data labels to display. The declarative filter is designed for
  62487. * use when callback functions are not available, like when the chart
  62488. * options require a pure JSON structure or for use with graphical editors.
  62489. * For programmatic control, use the `formatter` instead, and return
  62490. * `undefined` to disable a single data label.
  62491. */
  62492. filter?: DataLabelsFilterOptionsObject;
  62493. /**
  62494. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  62495. * label. Available variables are the same as for `formatter`.
  62496. */
  62497. format?: string;
  62498. /**
  62499. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  62500. * format the data label. Note that if a `format` is defined, the format
  62501. * takes precedence and the formatter is ignored.
  62502. */
  62503. formatter?: DataLabelsFormatterCallbackFunction;
  62504. /**
  62505. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  62506. * columns or map areas, whether to align the data label inside the box or
  62507. * to the actual value point. Defaults to `false` in most cases, `true` in
  62508. * stacked columns.
  62509. */
  62510. inside?: boolean;
  62511. /**
  62512. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  62513. * of null. Works analogously to format. `nullFormat` can be applied only to
  62514. * series which support displaying null points.
  62515. */
  62516. nullFormat?: (boolean|string);
  62517. /**
  62518. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  62519. * that defines formatting for points with the value of null. Works
  62520. * analogously to formatter. `nullPointFormatter` can be applied only to
  62521. * series which support displaying null points.
  62522. */
  62523. nullFormatter?: DataLabelsFormatterCallbackFunction;
  62524. /**
  62525. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  62526. * flow outside the plot area. The default is `"justify"`, which aligns them
  62527. * inside the plot area. For columns and bars, this means it will be moved
  62528. * inside the bar. To display data labels outside the plot area, set `crop`
  62529. * to `false` and `overflow` to `"allow"`.
  62530. */
  62531. overflow?: boolean;
  62532. /**
  62533. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  62534. * the `backgroundColor` is set, this is the padding within the box.
  62535. */
  62536. padding?: number;
  62537. /**
  62538. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  62539. * points. If `center` alignment is not possible, it defaults to `right`.
  62540. */
  62541. position?: AlignValue;
  62542. /**
  62543. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  62544. * that due to a more complex structure, backgrounds, borders and padding
  62545. * will be lost on a rotated data label.
  62546. */
  62547. rotation?: number;
  62548. /**
  62549. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  62550. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  62551. * an object configuration containing `color`, `offsetX`, `offsetY`,
  62552. * `opacity` and `width`.
  62553. */
  62554. shadow?: (boolean|ShadowOptionsObject);
  62555. /**
  62556. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  62557. * the border around the label. Symbols are predefined functions on the
  62558. * Renderer object.
  62559. */
  62560. shape?: string;
  62561. /**
  62562. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  62563. * default `color` setting is `"contrast"`, which is a pseudo color that
  62564. * Highcharts picks up and applies the maximum contrast to the underlying
  62565. * point item, for example the bar in a bar chart.
  62566. *
  62567. * The `textOutline` is a pseudo property that applies an outline of the
  62568. * given width with the given color, which by default is the maximum
  62569. * contrast to the text. So a bright text color will result in a black text
  62570. * outline for maximum readability on a mixed background. In some cases,
  62571. * especially with grayscale text, the text outline doesn't work well, in
  62572. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  62573. * is true, the `textOutline` will not be picked up. In this, case, the same
  62574. * effect can be acheived through the `text-shadow` CSS property.
  62575. *
  62576. * For some series types, where each point has an extent, like for example
  62577. * tree maps, the data label may overflow the point. There are two
  62578. * strategies for handling overflow. By default, the text will wrap to
  62579. * multiple lines. The other strategy is to set `style.textOverflow` to
  62580. * `ellipsis`, which will keep the text on one line plus it will break
  62581. * inside long words.
  62582. */
  62583. style?: CSSObject;
  62584. /**
  62585. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  62586. * should follow marker's shape. Border and background are disabled for a
  62587. * label that follows a path.
  62588. *
  62589. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  62590. * to true will disable this option.
  62591. */
  62592. textPath?: DataLabelsTextPathOptionsObject;
  62593. /**
  62594. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  62595. * the labels.
  62596. */
  62597. useHTML?: boolean;
  62598. /**
  62599. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  62600. * label. Can be one of `top`, `middle` or `bottom`. The default value
  62601. * depends on the data, for instance in a column chart, the label is above
  62602. * positive values and below negative values.
  62603. */
  62604. verticalAlign?: (VerticalAlignValue|null);
  62605. /**
  62606. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  62607. * label relative to the point in pixels.
  62608. */
  62609. x?: number;
  62610. /**
  62611. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  62612. * label relative to the point in pixels.
  62613. */
  62614. y?: number;
  62615. /**
  62616. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  62617. * The default Z index puts it above the series. Use a Z index of 2 to
  62618. * display it behind the series.
  62619. */
  62620. z?: number;
  62621. }
  62622. /**
  62623. * (Highcharts, Highstock) Options for the series data sorting.
  62624. */
  62625. export interface PlotMappointDataSortingOptions {
  62626. /**
  62627. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  62628. * Use xAxis.reversed to change the sorting order.
  62629. */
  62630. enabled?: boolean;
  62631. /**
  62632. * (Highcharts, Highstock) Whether to allow matching points by name in an
  62633. * update. If this option is disabled, points will be matched by order.
  62634. */
  62635. matchByName?: boolean;
  62636. /**
  62637. * (Highcharts, Highstock) Determines what data value should be used to sort
  62638. * by.
  62639. */
  62640. sortKey?: string;
  62641. }
  62642. /**
  62643. * (Highmaps) Style options for the guide box. The guide box has one state by
  62644. * default, the `default` state.
  62645. */
  62646. export interface PlotMappointDragDropGuideBoxOptions {
  62647. /**
  62648. * (Highmaps) Style options for the guide box default state.
  62649. */
  62650. default?: DragDropGuideBoxOptionsObject;
  62651. }
  62652. /**
  62653. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  62654. * plotting discrete values, a little random noise may help telling the points
  62655. * apart. The jitter setting applies a random displacement of up to `n` axis
  62656. * units in either direction. So for example on a horizontal X axis, setting the
  62657. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  62658. * units to the left and 0.24 units to the right of the true axis position. On a
  62659. * category axis, setting it to 0.5 will fill up the bin and make the data
  62660. * appear continuous.
  62661. *
  62662. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  62663. * will correspond to the underlying series' default groupPadding and
  62664. * pointPadding settings.
  62665. */
  62666. export interface PlotMappointJitterOptions {
  62667. /**
  62668. * (Highcharts, Highstock) The maximal X offset for the random jitter
  62669. * effect.
  62670. */
  62671. x?: number;
  62672. /**
  62673. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  62674. * effect.
  62675. */
  62676. y?: number;
  62677. }
  62678. /**
  62679. * (Highmaps) A mappoint series is a special form of scatter series where the
  62680. * points can be laid out in map coordinates on top of a map.
  62681. *
  62682. * In TypeScript the type option must always be set.
  62683. *
  62684. * Configuration options for the series are given in three levels:
  62685. *
  62686. * 1. Options for all series in a chart are defined in the plotOptions.series
  62687. * object.
  62688. *
  62689. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  62690. *
  62691. * 3. Options for one single series are given in the series instance array. (see
  62692. * online documentation for example)
  62693. */
  62694. export interface PlotMappointOptions {
  62695. /**
  62696. * (Highmaps) Accessibility options for a series.
  62697. */
  62698. accessibility?: SeriesAccessibilityOptionsObject;
  62699. /**
  62700. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  62701. * rendered. If `true`, areas which don't correspond to a data point, are
  62702. * rendered as `null` points. If `false`, those areas are skipped.
  62703. */
  62704. allAreas?: boolean;
  62705. /**
  62706. * (Highmaps) Allow this series' points to be selected by clicking on the
  62707. * graphic (columns, point markers, pie slices, map areas etc).
  62708. *
  62709. * The selected points can be handled by point select and unselect events,
  62710. * or collectively by the getSelectedPoints function.
  62711. *
  62712. * And alternative way of selecting points is through dragging.
  62713. */
  62714. allowPointSelect?: boolean;
  62715. /**
  62716. * (Highmaps) Enable or disable the initial animation when a series is
  62717. * displayed. The animation can also be set as a configuration object.
  62718. * Please note that this option only applies to the initial animation of the
  62719. * series itself. For other animations, see chart.animation and the
  62720. * animation parameter under the API methods. The following properties are
  62721. * supported:
  62722. *
  62723. * - `defer`: The animation delay time in milliseconds.
  62724. *
  62725. * - `duration`: The duration of the animation in milliseconds.
  62726. *
  62727. * - `easing`: Can be a string reference to an easing function set on the
  62728. * `Math` object or a function. See the _Custom easing function_ demo below.
  62729. *
  62730. * Due to poor performance, animation is disabled in old IE browsers for
  62731. * several chart types.
  62732. */
  62733. animation?: (boolean|PlotMappointAnimationOptions|Partial<AnimationOptionsObject>);
  62734. /**
  62735. * (Highmaps) For some series, there is a limit that shuts down initial
  62736. * animation by default when the total number of points in the chart is too
  62737. * high. For example, for a column chart and its derivatives, animation does
  62738. * not run if there is more than 250 points totally. To disable this cap,
  62739. * set `animationLimit` to `Infinity`.
  62740. */
  62741. animationLimit?: number;
  62742. /**
  62743. * (Highmaps) Sets the color blending in the boost module.
  62744. */
  62745. boostBlending?: OptionsBoostBlendingValue;
  62746. /**
  62747. * (Highmaps) Set the point threshold for when a series should enter boost
  62748. * mode.
  62749. *
  62750. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  62751. * there are 2000 or more points in the series.
  62752. *
  62753. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  62754. * it to 1 will force boosting.
  62755. *
  62756. * Note that the cropThreshold also affects this setting. When zooming in on
  62757. * a series that has fewer points than the `cropThreshold`, all points are
  62758. * rendered although outside the visible plot area, and the `boostThreshold`
  62759. * won't take effect.
  62760. */
  62761. boostThreshold?: number;
  62762. /**
  62763. * (Highmaps) The border color of the map areas.
  62764. *
  62765. * In styled mode, the border stroke is given in the `.highcharts-point`
  62766. * class.
  62767. */
  62768. borderColor?: (ColorString|GradientColorObject|PatternObject);
  62769. /**
  62770. * (Highmaps) The border width of each map area.
  62771. *
  62772. * In styled mode, the border stroke width is given in the
  62773. * `.highcharts-point` class.
  62774. */
  62775. borderWidth?: number;
  62776. /**
  62777. * (Highmaps) An additional class name to apply to the series' graphical
  62778. * elements. This option does not replace default class names of the
  62779. * graphical element.
  62780. */
  62781. className?: string;
  62782. /**
  62783. * (Highmaps) Disable this option to allow series rendering in the whole
  62784. * plotting area.
  62785. *
  62786. * **Note:** Clipping should be always enabled when chart.zoomType is set
  62787. */
  62788. clip?: boolean;
  62789. /**
  62790. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  62791. * sampling the data values into larger blocks in order to ease readability
  62792. * and increase performance of the JavaScript charts.
  62793. *
  62794. * Note: marker clusters module is not working with `boost` and
  62795. * `draggable-points` modules.
  62796. *
  62797. * The marker clusters feature requires the marker-clusters.js file to be
  62798. * loaded, found in the modules directory of the download package, or online
  62799. * at code.highcharts.com/modules/marker-clusters.js.
  62800. */
  62801. cluster?: PlotMappointClusterOptions;
  62802. /**
  62803. * (Highmaps) The main color of the series. In line type series it applies
  62804. * to the line and the point markers unless otherwise specified. In bar type
  62805. * series it applies to the bars unless a color is specified per point. The
  62806. * default value is pulled from the `options.colors` array.
  62807. *
  62808. * In styled mode, the color can be defined by the colorIndex option. Also,
  62809. * the series color can be set with the `.highcharts-series`,
  62810. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  62811. * `.highcharts-series-{n}` class, or individual classes given by the
  62812. * `className` option.
  62813. */
  62814. color?: (ColorString|GradientColorObject|PatternObject);
  62815. /**
  62816. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  62817. * this number defines which colorAxis the particular series is connected
  62818. * to. It refers to either the axis id or the index of the axis in the
  62819. * colorAxis array, with 0 being the first. Set this option to false to
  62820. * prevent a series from connecting to the default color axis.
  62821. *
  62822. * Since v7.2.0 the option can also be an axis id or an axis index instead
  62823. * of a boolean flag.
  62824. */
  62825. colorAxis?: (boolean|number|string);
  62826. /**
  62827. * (Highmaps) Styled mode only. A specific color index to use for the
  62828. * series, so its graphic representations are given the class name
  62829. * `highcharts-color-{n}`.
  62830. */
  62831. colorIndex?: number;
  62832. /**
  62833. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  62834. * used to calculate point color if `colorAxis` is used. Requires to set
  62835. * `min` and `max` if some custom point property is used or if approximation
  62836. * for data grouping is set to `'sum'`.
  62837. */
  62838. colorKey?: string;
  62839. /**
  62840. * (Highstock) Compare the values of the series against the first non-null,
  62841. * non- zero value in the visible range. The y axis will show percentage or
  62842. * absolute change depending on whether `compare` is set to `"percent"` or
  62843. * `"value"`. When this is applied to multiple series, it allows comparing
  62844. * the development of the series against each other. Adds a `change` field
  62845. * to every point object.
  62846. */
  62847. compare?: string;
  62848. /**
  62849. * (Highstock) When compare is `percent`, this option dictates whether to
  62850. * use 0 or 100 as the base of comparison.
  62851. */
  62852. compareBase?: (0|100);
  62853. /**
  62854. * (Highstock) Defines if comparison should start from the first point
  62855. * within the visible range or should start from the first point **before**
  62856. * the range.
  62857. *
  62858. * In other words, this flag determines if first point within the visible
  62859. * range will have 0% (`compareStart=true`) or should have been already
  62860. * calculated according to the previous point (`compareStart=false`).
  62861. */
  62862. compareStart?: boolean;
  62863. /**
  62864. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  62865. * series plot across the extremes.
  62866. */
  62867. connectEnds?: boolean;
  62868. /**
  62869. * (Highcharts, Highstock) Whether to connect a graph line across null
  62870. * points, or render a gap between the two points on either side of the
  62871. * null.
  62872. */
  62873. connectNulls?: boolean;
  62874. /**
  62875. * (Gantt) Override Pathfinder connector options for a series. Requires
  62876. * Highcharts Gantt to be loaded.
  62877. */
  62878. connectors?: SeriesConnectorsOptionsObject;
  62879. /**
  62880. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  62881. * rounded to its nearest pixel in order to render sharp on screen. In some
  62882. * cases, when there are a lot of densely packed columns, this leads to
  62883. * visible difference in column widths or distance between columns. In these
  62884. * cases, setting `crisp` to `false` may look better, even though each
  62885. * column is rendered blurry.
  62886. */
  62887. crisp?: boolean;
  62888. /**
  62889. * (Highmaps) You can set the cursor to "pointer" if you have click events
  62890. * attached to the series, to signal to the user that the points and lines
  62891. * can be clicked.
  62892. *
  62893. * In styled mode, the series cursor can be set with the same classes as
  62894. * listed under series.color.
  62895. */
  62896. cursor?: (string|CursorValue);
  62897. /**
  62898. * (Highmaps) A reserved subspace to store options and values for customized
  62899. * functionality. Here you can add additional data for your own event
  62900. * callbacks and formatter callbacks.
  62901. */
  62902. custom?: Dictionary<any>;
  62903. /**
  62904. * (Highmaps) Name of the dash style to use for the graph, or for some
  62905. * series types the outline of each shape.
  62906. *
  62907. * In styled mode, the stroke dash-array can be set with the same classes as
  62908. * listed under series.color.
  62909. */
  62910. dashStyle?: DashStyleValue;
  62911. /**
  62912. * (Highstock) Data grouping is the concept of sampling the data values into
  62913. * larger blocks in order to ease readability and increase performance of
  62914. * the JavaScript charts. Highcharts Stock by default applies data grouping
  62915. * when the points become closer than a certain pixel value, determined by
  62916. * the `groupPixelWidth` option.
  62917. *
  62918. * If data grouping is applied, the grouping information of grouped points
  62919. * can be read from the Point.dataGroup. If point options other than the
  62920. * data itself are set, for example `name` or `color` or custom properties,
  62921. * the grouping logic doesn't know how to group it. In this case the options
  62922. * of the first point instance are copied over to the group point. This can
  62923. * be altered through a custom `approximation` callback function.
  62924. */
  62925. dataGrouping?: DataGroupingOptionsObject;
  62926. /**
  62927. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  62928. * labels, appearing next to each data point.
  62929. *
  62930. * Since v6.2.0, multiple data labels can be applied to each single point by
  62931. * defining them as an array of configs.
  62932. *
  62933. * In styled mode, the data labels can be styled with the
  62934. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  62935. * (see example).
  62936. */
  62937. dataLabels?: (PlotMappointDataLabelsOptions|Array<PlotMappointDataLabelsOptions>);
  62938. /**
  62939. * (Highcharts, Highstock) Options for the series data sorting.
  62940. */
  62941. dataSorting?: (DataSortingOptionsObject|PlotMappointDataSortingOptions);
  62942. /**
  62943. * (Highmaps) A description of the series to add to the screen reader
  62944. * information about the series.
  62945. */
  62946. description?: string;
  62947. /**
  62948. * (Highmaps) The draggable-points module allows points to be moved around
  62949. * or modified in the chart. In addition to the options mentioned under the
  62950. * `dragDrop` API structure, the module fires three events, point.dragStart,
  62951. * point.drag and point.drop.
  62952. */
  62953. dragDrop?: SeriesDragDropOptionsObject;
  62954. /**
  62955. * (Highmaps) Enable or disable the mouse tracking for a specific series.
  62956. * This includes point tooltips and click events on graphs and points. For
  62957. * large datasets it improves performance.
  62958. */
  62959. enableMouseTracking?: boolean;
  62960. /**
  62961. * (Highmaps) General event handlers for the series items. These event hooks
  62962. * can also be attached to the series at run time using the
  62963. * `Highcharts.addEvent` function.
  62964. */
  62965. events?: SeriesEventsOptionsObject;
  62966. /**
  62967. * (Highmaps) Determines whether the series should look for the nearest
  62968. * point in both dimensions or just the x-dimension when hovering the
  62969. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  62970. * series. If the data has duplicate x-values, it is recommended to set this
  62971. * to `'xy'` to allow hovering over all points.
  62972. *
  62973. * Applies only to series types using nearest neighbor search (not direct
  62974. * hover) for tooltip.
  62975. */
  62976. findNearestPointBy?: OptionsFindNearestPointByValue;
  62977. /**
  62978. * (Highstock) Defines when to display a gap in the graph, together with the
  62979. * gapUnit option.
  62980. *
  62981. * In case when `dataGrouping` is enabled, points can be grouped into a
  62982. * larger time span. This can make the grouped points to have a greater
  62983. * distance than the absolute value of `gapSize` property, which will result
  62984. * in disappearing graph completely. To prevent this situation the mentioned
  62985. * distance between grouped points is used instead of previously defined
  62986. * `gapSize`.
  62987. *
  62988. * In practice, this option is most often used to visualize gaps in time
  62989. * series. In a stock chart, intraday data is available for daytime hours,
  62990. * while gaps will appear in nights and weekends.
  62991. */
  62992. gapSize?: number;
  62993. /**
  62994. * (Highstock) Together with gapSize, this option defines where to draw gaps
  62995. * in the graph.
  62996. *
  62997. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  62998. * if the distance between two points is greater than 5 times that of the
  62999. * two closest points, the graph will be broken.
  63000. *
  63001. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  63002. * values, which on a datetime axis is milliseconds. This also applies to
  63003. * the navigator series that inherits gap options from the base series.
  63004. */
  63005. gapUnit?: OptionsGapUnitValue;
  63006. /**
  63007. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  63008. * chart width or only the zoomed area when zooming in on parts of the X
  63009. * axis. By default, the Y axis adjusts to the min and max of the visible
  63010. * data. Cartesian series only.
  63011. */
  63012. getExtremesFromAll?: boolean;
  63013. /**
  63014. * (Highmaps) When set to `false` will prevent the series data from being
  63015. * included in any form of data export.
  63016. *
  63017. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  63018. * `includeInCSVExport`.
  63019. */
  63020. includeInDataExport?: boolean;
  63021. /**
  63022. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  63023. * When plotting discrete values, a little random noise may help telling the
  63024. * points apart. The jitter setting applies a random displacement of up to
  63025. * `n` axis units in either direction. So for example on a horizontal X
  63026. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  63027. * position between 0.24 units to the left and 0.24 units to the right of
  63028. * the true axis position. On a category axis, setting it to 0.5 will fill
  63029. * up the bin and make the data appear continuous.
  63030. *
  63031. * When rendered on top of a box plot or a column series, a jitter value of
  63032. * 0.24 will correspond to the underlying series' default groupPadding and
  63033. * pointPadding settings.
  63034. */
  63035. jitter?: PlotMappointJitterOptions;
  63036. /**
  63037. * (Highmaps) What property to join the `mapData` to the value data. For
  63038. * example, if joinBy is "code", the mapData items with a specific code is
  63039. * merged into the data with the same code. For maps loaded from GeoJSON,
  63040. * the keys may be held in each point's `properties` object.
  63041. *
  63042. * The joinBy option can also be an array of two values, where the first
  63043. * points to a key in the `mapData`, and the second points to another key in
  63044. * the `data`.
  63045. *
  63046. * When joinBy is `null`, the map items are joined by their position in the
  63047. * array, which performs much better in maps with many data points. This is
  63048. * the recommended option if you are printing more than a thousand data
  63049. * points and have a backend that can preprocess the data into a parallel
  63050. * array of the mapData.
  63051. */
  63052. joinBy?: (string|Array<string>);
  63053. /**
  63054. * (Highmaps) An array specifying which option maps to which key in the data
  63055. * point array. This makes it convenient to work with unstructured data
  63056. * arrays from different sources.
  63057. */
  63058. keys?: Array<string>;
  63059. /**
  63060. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  63061. * series as possible in a natural way, seeking to avoid other series. The
  63062. * goal of this feature is to make the chart more easily readable, like if a
  63063. * human designer placed the labels in the optimal position.
  63064. *
  63065. * The series labels currently work with series types having a `graph` or an
  63066. * `area`.
  63067. */
  63068. label?: SeriesLabelOptionsObject;
  63069. /**
  63070. * (Highstock) The line marks the last price from all points.
  63071. */
  63072. lastPrice?: SeriesLastPriceOptionsObject;
  63073. /**
  63074. * (Highstock) The line marks the last price from visible range of points.
  63075. */
  63076. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  63077. /**
  63078. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  63079. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  63080. * the ends and bends.
  63081. */
  63082. linecap?: SeriesLinecapValue;
  63083. /**
  63084. * (Highcharts, Highstock) The width of the line connecting the data points.
  63085. */
  63086. lineWidth?: number;
  63087. /**
  63088. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  63089. * Additionally, the value can be ":previous" to link to the previous
  63090. * series. When two series are linked, only the first one appears in the
  63091. * legend. Toggling the visibility of this also toggles the linked series.
  63092. *
  63093. * If master series uses data sorting and linked series does not have its
  63094. * own sorting definition, the linked series will be sorted in the same
  63095. * order as the master one.
  63096. */
  63097. linkedTo?: string;
  63098. /**
  63099. * (Highmaps) Options for the point markers of line-like series. Properties
  63100. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  63101. * appearance of the markers. Other series types, like column series, don't
  63102. * have markers, but have visual options on the series level instead.
  63103. *
  63104. * In styled mode, the markers can be styled with the `.highcharts-point`,
  63105. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  63106. */
  63107. marker?: PointMarkerOptionsObject;
  63108. /**
  63109. * (Highstock) Options for the corresponding navigator series if
  63110. * `showInNavigator` is `true` for this series. Available options are the
  63111. * same as any series, documented at plotOptions and series.
  63112. *
  63113. * These options are merged with options in navigator.series, and will take
  63114. * precedence if the same option is defined both places.
  63115. */
  63116. navigatorOptions?: PlotSeriesOptions;
  63117. /**
  63118. * (Highmaps) The color for the parts of the graph or points that are below
  63119. * the threshold. Note that `zones` takes precedence over the negative
  63120. * color. Using `negativeColor` is equivalent to applying a zone with value
  63121. * of 0.
  63122. */
  63123. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  63124. /**
  63125. * (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
  63126. * dataLabels.
  63127. */
  63128. opacity?: number;
  63129. /**
  63130. * (Highmaps) Properties for each single point.
  63131. */
  63132. point?: PlotSeriesPointOptions;
  63133. /**
  63134. * (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
  63135. * individual series. Overrides the chart wide configuration.
  63136. */
  63137. pointDescriptionFormatter?: Function;
  63138. /**
  63139. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63140. * a series, `pointInterval` defines the interval of the x values. For
  63141. * example, if a series contains one value every decade starting from year
  63142. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  63143. * `pointInterval` is set in milliseconds.
  63144. *
  63145. * It can be also be combined with `pointIntervalUnit` to draw irregular
  63146. * time intervals.
  63147. *
  63148. * Please note that this options applies to the _series data_, not the
  63149. * interval of the axis ticks, which is independent.
  63150. */
  63151. pointInterval?: number;
  63152. /**
  63153. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  63154. * setting the pointInterval to irregular time units, `day`, `month` and
  63155. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  63156. * also takes the DST crossover into consideration when dealing with local
  63157. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  63158. * months, 10 years etc.
  63159. *
  63160. * Please note that this options applies to the _series data_, not the
  63161. * interval of the axis ticks, which is independent.
  63162. */
  63163. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  63164. /**
  63165. * (Highstock) The width of each point on the x axis. For example in a
  63166. * column chart with one value each day, the pointRange would be 1 day (= 24
  63167. * * 3600
  63168. *
  63169. * * 1000 milliseconds). This is normally computed automatically, but this
  63170. * option can be used to override the automatic value.
  63171. */
  63172. pointRange?: number;
  63173. /**
  63174. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  63175. * a series, pointStart defines on what value to start. For example, if a
  63176. * series contains one yearly value starting from 1945, set pointStart to
  63177. * 1945.
  63178. */
  63179. pointStart?: number;
  63180. /**
  63181. * (Highmaps) Whether to select the series initially. If `showCheckbox` is
  63182. * true, the checkbox next to the series name in the legend will be checked
  63183. * for a selected series.
  63184. */
  63185. selected?: boolean;
  63186. /**
  63187. * (Highmaps) If true, a checkbox is displayed next to the legend item to
  63188. * allow selecting the series. The state of the checkbox is determined by
  63189. * the `selected` option.
  63190. */
  63191. showCheckbox?: boolean;
  63192. /**
  63193. * (Highmaps) Whether to display this particular series or series type in
  63194. * the legend. Standalone series are shown in legend by default, and linked
  63195. * series are not. Since v7.2.0 it is possible to show series that use
  63196. * colorAxis by setting this option to `true`.
  63197. */
  63198. showInLegend?: boolean;
  63199. /**
  63200. * (Highstock) Whether or not to show the series in the navigator. Takes
  63201. * precedence over navigator.baseSeries if defined.
  63202. */
  63203. showInNavigator?: boolean;
  63204. /**
  63205. * (Highmaps) If set to `true`, the accessibility module will skip past the
  63206. * points in this series for keyboard navigation.
  63207. */
  63208. skipKeyboardNavigation?: boolean;
  63209. /**
  63210. * (Highcharts, Highstock) When this is true, the series will not cause the
  63211. * Y axis to cross the zero plane (or threshold option) unless the data
  63212. * actually crosses the plane.
  63213. *
  63214. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  63215. * make the Y axis show negative values according to the `minPadding`
  63216. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  63217. */
  63218. softThreshold?: boolean;
  63219. /**
  63220. * (Highcharts, Highstock) Whether to stack the values of each series on top
  63221. * of each other. Possible values are `undefined` to disable, `"normal"` to
  63222. * stack by value or `"percent"`.
  63223. *
  63224. * When stacking is enabled, data must be sorted in ascending X order.
  63225. *
  63226. * Some stacking options are related to specific series types. In the
  63227. * streamgraph series type, the stacking option is set to `"stream"`. The
  63228. * second one is `"overlap"`, which only applies to waterfall series.
  63229. */
  63230. stacking?: OptionsStackingValue;
  63231. states?: SeriesStatesOptionsObject;
  63232. /**
  63233. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  63234. * values are `left`, `center` and `right`.
  63235. */
  63236. step?: OptionsStepValue;
  63237. /**
  63238. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  63239. * `mouseOut` event on a series isn't triggered until the mouse moves over
  63240. * another series, or out of the plot area. When false, the `mouseOut` event
  63241. * on a series is triggered when the mouse leaves the area around the
  63242. * series' graph or markers. This also implies the tooltip. When
  63243. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  63244. * be hidden when moving the mouse between series.
  63245. */
  63246. stickyTracking?: boolean;
  63247. /**
  63248. * (Highcharts, Highstock) The threshold, also called zero level or base
  63249. * level. For line type series this is only used in conjunction with
  63250. * negativeColor.
  63251. */
  63252. threshold?: (number|null);
  63253. /**
  63254. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  63255. * of each single series. Properties are inherited from tooltip. Overridable
  63256. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  63257. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  63258. * series.name by default shows in the headerFormat and point.x and point.y
  63259. * in the pointFormat.
  63260. */
  63261. tooltip?: SeriesTooltipOptionsObject;
  63262. /**
  63263. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  63264. * is longer than this, only one dimensional arrays of numbers, or two
  63265. * dimensional arrays with x and y values are allowed. Also, only the first
  63266. * point is tested, and the rest are assumed to be the same format. This
  63267. * saves expensive data checking and indexing in long series. Set it to `0`
  63268. * disable.
  63269. *
  63270. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  63271. * two dimensional arrays are allowed.
  63272. */
  63273. turboThreshold?: number;
  63274. /**
  63275. * (Highmaps) Set the initial visibility of the series.
  63276. */
  63277. visible?: boolean;
  63278. /**
  63279. * (Highmaps) Define the z index of the series.
  63280. */
  63281. zIndex?: number;
  63282. /**
  63283. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  63284. */
  63285. zoneAxis?: string;
  63286. /**
  63287. * (Highcharts, Highstock) An array defining zones within a series. Zones
  63288. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  63289. * the `zoneAxis` option. The zone definitions have to be in ascending order
  63290. * regarding to the value.
  63291. *
  63292. * In styled mode, the color zones are styled with the
  63293. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  63294. * option (view live demo).
  63295. */
  63296. zones?: Array<SeriesZonesOptionsObject>;
  63297. }
  63298. /**
  63299. * (Highstock) Enable or disable the initial animation when a series is
  63300. * displayed. The animation can also be set as a configuration object. Please
  63301. * note that this option only applies to the initial animation of the series
  63302. * itself. For other animations, see chart.animation and the animation parameter
  63303. * under the API methods. The following properties are supported:
  63304. *
  63305. * - `defer`: The animation delay time in milliseconds.
  63306. *
  63307. * - `duration`: The duration of the animation in milliseconds.
  63308. *
  63309. * - `easing`: Can be a string reference to an easing function set on the `Math`
  63310. * object or a function. See the _Custom easing function_ demo below.
  63311. *
  63312. * Due to poor performance, animation is disabled in old IE browsers for several
  63313. * chart types.
  63314. */
  63315. export interface PlotMfiAnimationOptions {
  63316. defer?: number;
  63317. }
  63318. /**
  63319. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  63320. * animation when a series is displayed for the `dataLabels`. The animation can
  63321. * also be set as a configuration object. Please note that this option only
  63322. * applies to the initial animation. For other animations, see chart.animation
  63323. * and the animation parameter under the API methods. The following properties
  63324. * are supported:
  63325. *
  63326. * - `defer`: The animation delay time in milliseconds.
  63327. */
  63328. export interface PlotMfiDataLabelsAnimationOptions {
  63329. /**
  63330. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  63331. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  63332. * inherits defer time from the series.animation.defer.
  63333. */
  63334. defer?: number;
  63335. }
  63336. /**
  63337. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  63338. * appearing next to each data point.
  63339. *
  63340. * Since v6.2.0, multiple data labels can be applied to each single point by
  63341. * defining them as an array of configs.
  63342. *
  63343. * In styled mode, the data labels can be styled with the
  63344. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  63345. * example).
  63346. */
  63347. export interface PlotMfiDataLabelsOptions {
  63348. /**
  63349. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  63350. * compared to the point. If `right`, the right side of the label should be
  63351. * touching the point. For points with an extent, like columns, the
  63352. * alignments also dictates how to align it inside the box, as given with
  63353. * the inside option. Can be one of `left`, `center` or `right`.
  63354. */
  63355. align?: (AlignValue|null);
  63356. /**
  63357. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  63358. * overlap. To make the labels less sensitive for overlapping, the
  63359. * dataLabels.padding can be set to 0.
  63360. */
  63361. allowOverlap?: boolean;
  63362. /**
  63363. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  63364. * animation when a series is displayed for the `dataLabels`. The animation
  63365. * can also be set as a configuration object. Please note that this option
  63366. * only applies to the initial animation. For other animations, see
  63367. * chart.animation and the animation parameter under the API methods. The
  63368. * following properties are supported:
  63369. *
  63370. * - `defer`: The animation delay time in milliseconds.
  63371. */
  63372. animation?: (boolean|PlotMfiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  63373. /**
  63374. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  63375. * for the data label.
  63376. */
  63377. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  63378. /**
  63379. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  63380. * label. Defaults to `undefined`.
  63381. */
  63382. borderColor?: (ColorString|GradientColorObject|PatternObject);
  63383. /**
  63384. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  63385. * the data label.
  63386. */
  63387. borderRadius?: number;
  63388. /**
  63389. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  63390. * the data label.
  63391. */
  63392. borderWidth?: number;
  63393. /**
  63394. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  63395. * Particularly in styled mode, this can be used to give each series' or
  63396. * point's data label unique styling. In addition to this option, a default
  63397. * color class name is added so that we can give the labels a contrast text
  63398. * shadow.
  63399. */
  63400. className?: string;
  63401. /**
  63402. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  63403. * labels. Defaults to `undefined`. For certain series types, like column or
  63404. * map, the data labels can be drawn inside the points. In this case the
  63405. * data label will be drawn with maximum contrast by default. Additionally,
  63406. * it will be given a `text-outline` style with the opposite color, to
  63407. * further increase the contrast. This can be overridden by setting the
  63408. * `text-outline` style to `none` in the `dataLabels.style` option.
  63409. */
  63410. color?: (ColorString|GradientColorObject|PatternObject);
  63411. /**
  63412. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  63413. * are outside the plot area. By default, the data label is moved inside the
  63414. * plot area according to the overflow option.
  63415. */
  63416. crop?: boolean;
  63417. /**
  63418. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  63419. * labels until the initial series animation has finished. Setting to
  63420. * `false` renders the data label immediately. If set to `true` inherits the
  63421. * defer time set in plotOptions.series.animation. If set to a number, a
  63422. * defer time is specified in milliseconds.
  63423. */
  63424. defer?: (boolean|number);
  63425. /**
  63426. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  63427. * labels.
  63428. */
  63429. enabled?: boolean;
  63430. /**
  63431. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  63432. * of which data labels to display. The declarative filter is designed for
  63433. * use when callback functions are not available, like when the chart
  63434. * options require a pure JSON structure or for use with graphical editors.
  63435. * For programmatic control, use the `formatter` instead, and return
  63436. * `undefined` to disable a single data label.
  63437. */
  63438. filter?: DataLabelsFilterOptionsObject;
  63439. /**
  63440. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  63441. * label. Available variables are the same as for `formatter`.
  63442. */
  63443. format?: string;
  63444. /**
  63445. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  63446. * format the data label. Note that if a `format` is defined, the format
  63447. * takes precedence and the formatter is ignored.
  63448. */
  63449. formatter?: DataLabelsFormatterCallbackFunction;
  63450. /**
  63451. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  63452. * columns or map areas, whether to align the data label inside the box or
  63453. * to the actual value point. Defaults to `false` in most cases, `true` in
  63454. * stacked columns.
  63455. */
  63456. inside?: boolean;
  63457. /**
  63458. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  63459. * of null. Works analogously to format. `nullFormat` can be applied only to
  63460. * series which support displaying null points.
  63461. */
  63462. nullFormat?: (boolean|string);
  63463. /**
  63464. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  63465. * that defines formatting for points with the value of null. Works
  63466. * analogously to formatter. `nullPointFormatter` can be applied only to
  63467. * series which support displaying null points.
  63468. */
  63469. nullFormatter?: DataLabelsFormatterCallbackFunction;
  63470. /**
  63471. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  63472. * flow outside the plot area. The default is `"justify"`, which aligns them
  63473. * inside the plot area. For columns and bars, this means it will be moved
  63474. * inside the bar. To display data labels outside the plot area, set `crop`
  63475. * to `false` and `overflow` to `"allow"`.
  63476. */
  63477. overflow?: DataLabelsOverflowValue;
  63478. /**
  63479. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  63480. * the `backgroundColor` is set, this is the padding within the box.
  63481. */
  63482. padding?: number;
  63483. /**
  63484. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  63485. * points. If `center` alignment is not possible, it defaults to `right`.
  63486. */
  63487. position?: AlignValue;
  63488. /**
  63489. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  63490. * that due to a more complex structure, backgrounds, borders and padding
  63491. * will be lost on a rotated data label.
  63492. */
  63493. rotation?: number;
  63494. /**
  63495. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  63496. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  63497. * an object configuration containing `color`, `offsetX`, `offsetY`,
  63498. * `opacity` and `width`.
  63499. */
  63500. shadow?: (boolean|ShadowOptionsObject);
  63501. /**
  63502. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  63503. * the border around the label. Symbols are predefined functions on the
  63504. * Renderer object.
  63505. */
  63506. shape?: string;
  63507. /**
  63508. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  63509. * default `color` setting is `"contrast"`, which is a pseudo color that
  63510. * Highcharts picks up and applies the maximum contrast to the underlying
  63511. * point item, for example the bar in a bar chart.
  63512. *
  63513. * The `textOutline` is a pseudo property that applies an outline of the
  63514. * given width with the given color, which by default is the maximum
  63515. * contrast to the text. So a bright text color will result in a black text
  63516. * outline for maximum readability on a mixed background. In some cases,
  63517. * especially with grayscale text, the text outline doesn't work well, in
  63518. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  63519. * is true, the `textOutline` will not be picked up. In this, case, the same
  63520. * effect can be acheived through the `text-shadow` CSS property.
  63521. *
  63522. * For some series types, where each point has an extent, like for example
  63523. * tree maps, the data label may overflow the point. There are two
  63524. * strategies for handling overflow. By default, the text will wrap to
  63525. * multiple lines. The other strategy is to set `style.textOverflow` to
  63526. * `ellipsis`, which will keep the text on one line plus it will break
  63527. * inside long words.
  63528. */
  63529. style?: CSSObject;
  63530. /**
  63531. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  63532. * should follow marker's shape. Border and background are disabled for a
  63533. * label that follows a path.
  63534. *
  63535. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  63536. * to true will disable this option.
  63537. */
  63538. textPath?: DataLabelsTextPathOptionsObject;
  63539. /**
  63540. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  63541. * the labels.
  63542. */
  63543. useHTML?: boolean;
  63544. /**
  63545. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  63546. * label. Can be one of `top`, `middle` or `bottom`. The default value
  63547. * depends on the data, for instance in a column chart, the label is above
  63548. * positive values and below negative values.
  63549. */
  63550. verticalAlign?: (VerticalAlignValue|null);
  63551. /**
  63552. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  63553. * label relative to the point in pixels.
  63554. */
  63555. x?: number;
  63556. /**
  63557. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  63558. * label relative to the point in pixels.
  63559. */
  63560. y?: number;
  63561. /**
  63562. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  63563. * The default Z index puts it above the series. Use a Z index of 2 to
  63564. * display it behind the series.
  63565. */
  63566. z?: number;
  63567. }
  63568. /**
  63569. * (Highcharts, Highstock) Options for the series data sorting.
  63570. */
  63571. export interface PlotMfiDataSortingOptions {
  63572. /**
  63573. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  63574. * Use xAxis.reversed to change the sorting order.
  63575. */
  63576. enabled?: boolean;
  63577. /**
  63578. * (Highcharts, Highstock) Whether to allow matching points by name in an
  63579. * update. If this option is disabled, points will be matched by order.
  63580. */
  63581. matchByName?: boolean;
  63582. /**
  63583. * (Highcharts, Highstock) Determines what data value should be used to sort
  63584. * by.
  63585. */
  63586. sortKey?: string;
  63587. }
  63588. /**
  63589. * (Highstock) Money Flow Index. This series requires `linkedTo` option to be
  63590. * set and should be loaded after the `stock/indicators/indicators.js` file.
  63591. *
  63592. * In TypeScript the type option must always be set.
  63593. *
  63594. * Configuration options for the series are given in three levels:
  63595. *
  63596. * 1. Options for all series in a chart are defined in the plotOptions.series
  63597. * object.
  63598. *
  63599. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  63600. *
  63601. * 3. Options for one single series are given in the series instance array. (see
  63602. * online documentation for example)
  63603. */
  63604. export interface PlotMfiOptions {
  63605. /**
  63606. * (Highstock) Accessibility options for a series.
  63607. */
  63608. accessibility?: SeriesAccessibilityOptionsObject;
  63609. /**
  63610. * (Highstock) Allow this series' points to be selected by clicking on the
  63611. * graphic (columns, point markers, pie slices, map areas etc).
  63612. *
  63613. * The selected points can be handled by point select and unselect events,
  63614. * or collectively by the getSelectedPoints function.
  63615. *
  63616. * And alternative way of selecting points is through dragging.
  63617. */
  63618. allowPointSelect?: boolean;
  63619. /**
  63620. * (Highstock) Enable or disable the initial animation when a series is
  63621. * displayed. The animation can also be set as a configuration object.
  63622. * Please note that this option only applies to the initial animation of the
  63623. * series itself. For other animations, see chart.animation and the
  63624. * animation parameter under the API methods. The following properties are
  63625. * supported:
  63626. *
  63627. * - `defer`: The animation delay time in milliseconds.
  63628. *
  63629. * - `duration`: The duration of the animation in milliseconds.
  63630. *
  63631. * - `easing`: Can be a string reference to an easing function set on the
  63632. * `Math` object or a function. See the _Custom easing function_ demo below.
  63633. *
  63634. * Due to poor performance, animation is disabled in old IE browsers for
  63635. * several chart types.
  63636. */
  63637. animation?: (boolean|PlotMfiAnimationOptions|Partial<AnimationOptionsObject>);
  63638. /**
  63639. * (Highstock) For some series, there is a limit that shuts down initial
  63640. * animation by default when the total number of points in the chart is too
  63641. * high. For example, for a column chart and its derivatives, animation does
  63642. * not run if there is more than 250 points totally. To disable this cap,
  63643. * set `animationLimit` to `Infinity`.
  63644. */
  63645. animationLimit?: number;
  63646. /**
  63647. * (Highstock) Sets the color blending in the boost module.
  63648. */
  63649. boostBlending?: OptionsBoostBlendingValue;
  63650. /**
  63651. * (Highstock) Set the point threshold for when a series should enter boost
  63652. * mode.
  63653. *
  63654. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  63655. * there are 2000 or more points in the series.
  63656. *
  63657. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  63658. * it to 1 will force boosting.
  63659. *
  63660. * Note that the cropThreshold also affects this setting. When zooming in on
  63661. * a series that has fewer points than the `cropThreshold`, all points are
  63662. * rendered although outside the visible plot area, and the `boostThreshold`
  63663. * won't take effect.
  63664. */
  63665. boostThreshold?: number;
  63666. /**
  63667. * (Highmaps) The border color of the map areas.
  63668. *
  63669. * In styled mode, the border stroke is given in the `.highcharts-point`
  63670. * class.
  63671. */
  63672. borderColor?: (ColorString|GradientColorObject|PatternObject);
  63673. /**
  63674. * (Highmaps) The border width of each map area.
  63675. *
  63676. * In styled mode, the border stroke width is given in the
  63677. * `.highcharts-point` class.
  63678. */
  63679. borderWidth?: number;
  63680. /**
  63681. * (Highstock) An additional class name to apply to the series' graphical
  63682. * elements. This option does not replace default class names of the
  63683. * graphical element.
  63684. */
  63685. className?: string;
  63686. /**
  63687. * (Highstock) Disable this option to allow series rendering in the whole
  63688. * plotting area.
  63689. *
  63690. * **Note:** Clipping should be always enabled when chart.zoomType is set
  63691. */
  63692. clip?: boolean;
  63693. /**
  63694. * (Highstock) The main color of the series. In line type series it applies
  63695. * to the line and the point markers unless otherwise specified. In bar type
  63696. * series it applies to the bars unless a color is specified per point. The
  63697. * default value is pulled from the `options.colors` array.
  63698. *
  63699. * In styled mode, the color can be defined by the colorIndex option. Also,
  63700. * the series color can be set with the `.highcharts-series`,
  63701. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  63702. * `.highcharts-series-{n}` class, or individual classes given by the
  63703. * `className` option.
  63704. */
  63705. color?: (ColorString|GradientColorObject|PatternObject);
  63706. /**
  63707. * (Highstock) Styled mode only. A specific color index to use for the
  63708. * series, so its graphic representations are given the class name
  63709. * `highcharts-color-{n}`.
  63710. */
  63711. colorIndex?: number;
  63712. /**
  63713. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  63714. * used to calculate point color if `colorAxis` is used. Requires to set
  63715. * `min` and `max` if some custom point property is used or if approximation
  63716. * for data grouping is set to `'sum'`.
  63717. */
  63718. colorKey?: string;
  63719. /**
  63720. * (Highstock) Compare the values of the series against the first non-null,
  63721. * non- zero value in the visible range. The y axis will show percentage or
  63722. * absolute change depending on whether `compare` is set to `"percent"` or
  63723. * `"value"`. When this is applied to multiple series, it allows comparing
  63724. * the development of the series against each other. Adds a `change` field
  63725. * to every point object.
  63726. */
  63727. compare?: string;
  63728. /**
  63729. * (Highstock) When compare is `percent`, this option dictates whether to
  63730. * use 0 or 100 as the base of comparison.
  63731. */
  63732. compareBase?: (0|100);
  63733. /**
  63734. * (Highstock) Defines if comparison should start from the first point
  63735. * within the visible range or should start from the first point **before**
  63736. * the range.
  63737. *
  63738. * In other words, this flag determines if first point within the visible
  63739. * range will have 0% (`compareStart=true`) or should have been already
  63740. * calculated according to the previous point (`compareStart=false`).
  63741. */
  63742. compareStart?: boolean;
  63743. /**
  63744. * (Highstock) Whether to compare indicator to the main series values or
  63745. * indicator values.
  63746. */
  63747. compareToMain?: boolean;
  63748. /**
  63749. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  63750. * series plot across the extremes.
  63751. */
  63752. connectEnds?: boolean;
  63753. /**
  63754. * (Highcharts, Highstock) Whether to connect a graph line across null
  63755. * points, or render a gap between the two points on either side of the
  63756. * null.
  63757. */
  63758. connectNulls?: boolean;
  63759. /**
  63760. * (Gantt) Override Pathfinder connector options for a series. Requires
  63761. * Highcharts Gantt to be loaded.
  63762. */
  63763. connectors?: SeriesConnectorsOptionsObject;
  63764. /**
  63765. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  63766. * rounded to its nearest pixel in order to render sharp on screen. In some
  63767. * cases, when there are a lot of densely packed columns, this leads to
  63768. * visible difference in column widths or distance between columns. In these
  63769. * cases, setting `crisp` to `false` may look better, even though each
  63770. * column is rendered blurry.
  63771. */
  63772. crisp?: boolean;
  63773. /**
  63774. * (Highcharts, Highstock) When the series contains less points than the
  63775. * crop threshold, all points are drawn, even if the points fall outside the
  63776. * visible plot area at the current zoom. The advantage of drawing all
  63777. * points (including markers and columns), is that animation is performed on
  63778. * updates. On the other hand, when the series contains more points than the
  63779. * crop threshold, the series data is cropped to only contain points that
  63780. * fall within the plot area. The advantage of cropping away invisible
  63781. * points is to increase performance on large series.
  63782. */
  63783. cropThreshold?: number;
  63784. /**
  63785. * (Highstock) You can set the cursor to "pointer" if you have click events
  63786. * attached to the series, to signal to the user that the points and lines
  63787. * can be clicked.
  63788. *
  63789. * In styled mode, the series cursor can be set with the same classes as
  63790. * listed under series.color.
  63791. */
  63792. cursor?: (string|CursorValue);
  63793. /**
  63794. * (Highstock) A reserved subspace to store options and values for
  63795. * customized functionality. Here you can add additional data for your own
  63796. * event callbacks and formatter callbacks.
  63797. */
  63798. custom?: Dictionary<any>;
  63799. /**
  63800. * (Highstock) Name of the dash style to use for the graph, or for some
  63801. * series types the outline of each shape.
  63802. *
  63803. * In styled mode, the stroke dash-array can be set with the same classes as
  63804. * listed under series.color.
  63805. */
  63806. dashStyle?: DashStyleValue;
  63807. /**
  63808. * (Highstock) Data grouping is the concept of sampling the data values into
  63809. * larger blocks in order to ease readability and increase performance of
  63810. * the JavaScript charts. Highcharts Stock by default applies data grouping
  63811. * when the points become closer than a certain pixel value, determined by
  63812. * the `groupPixelWidth` option.
  63813. *
  63814. * If data grouping is applied, the grouping information of grouped points
  63815. * can be read from the Point.dataGroup. If point options other than the
  63816. * data itself are set, for example `name` or `color` or custom properties,
  63817. * the grouping logic doesn't know how to group it. In this case the options
  63818. * of the first point instance are copied over to the group point. This can
  63819. * be altered through a custom `approximation` callback function.
  63820. */
  63821. dataGrouping?: DataGroupingOptionsObject;
  63822. /**
  63823. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  63824. * labels, appearing next to each data point.
  63825. *
  63826. * Since v6.2.0, multiple data labels can be applied to each single point by
  63827. * defining them as an array of configs.
  63828. *
  63829. * In styled mode, the data labels can be styled with the
  63830. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  63831. * (see example).
  63832. */
  63833. dataLabels?: (PlotMfiDataLabelsOptions|Array<PlotMfiDataLabelsOptions>);
  63834. /**
  63835. * (Highcharts, Highstock) Options for the series data sorting.
  63836. */
  63837. dataSorting?: (DataSortingOptionsObject|PlotMfiDataSortingOptions);
  63838. /**
  63839. * (Highstock) A description of the series to add to the screen reader
  63840. * information about the series.
  63841. */
  63842. description?: string;
  63843. /**
  63844. * (Highstock) Enable or disable the mouse tracking for a specific series.
  63845. * This includes point tooltips and click events on graphs and points. For
  63846. * large datasets it improves performance.
  63847. */
  63848. enableMouseTracking?: boolean;
  63849. /**
  63850. * (Highstock) General event handlers for the series items. These event
  63851. * hooks can also be attached to the series at run time using the
  63852. * `Highcharts.addEvent` function.
  63853. */
  63854. events?: SeriesEventsOptionsObject;
  63855. /**
  63856. * (Highstock) Determines whether the series should look for the nearest
  63857. * point in both dimensions or just the x-dimension when hovering the
  63858. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  63859. * series. If the data has duplicate x-values, it is recommended to set this
  63860. * to `'xy'` to allow hovering over all points.
  63861. *
  63862. * Applies only to series types using nearest neighbor search (not direct
  63863. * hover) for tooltip.
  63864. */
  63865. findNearestPointBy?: OptionsFindNearestPointByValue;
  63866. /**
  63867. * (Highstock) Defines when to display a gap in the graph, together with the
  63868. * gapUnit option.
  63869. *
  63870. * In case when `dataGrouping` is enabled, points can be grouped into a
  63871. * larger time span. This can make the grouped points to have a greater
  63872. * distance than the absolute value of `gapSize` property, which will result
  63873. * in disappearing graph completely. To prevent this situation the mentioned
  63874. * distance between grouped points is used instead of previously defined
  63875. * `gapSize`.
  63876. *
  63877. * In practice, this option is most often used to visualize gaps in time
  63878. * series. In a stock chart, intraday data is available for daytime hours,
  63879. * while gaps will appear in nights and weekends.
  63880. */
  63881. gapSize?: number;
  63882. /**
  63883. * (Highstock) Together with gapSize, this option defines where to draw gaps
  63884. * in the graph.
  63885. *
  63886. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  63887. * if the distance between two points is greater than 5 times that of the
  63888. * two closest points, the graph will be broken.
  63889. *
  63890. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  63891. * values, which on a datetime axis is milliseconds. This also applies to
  63892. * the navigator series that inherits gap options from the base series.
  63893. */
  63894. gapUnit?: OptionsGapUnitValue;
  63895. /**
  63896. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  63897. * chart width or only the zoomed area when zooming in on parts of the X
  63898. * axis. By default, the Y axis adjusts to the min and max of the visible
  63899. * data. Cartesian series only.
  63900. */
  63901. getExtremesFromAll?: boolean;
  63902. /**
  63903. * (Highstock) When set to `false` will prevent the series data from being
  63904. * included in any form of data export.
  63905. *
  63906. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  63907. * `includeInCSVExport`.
  63908. */
  63909. includeInDataExport?: boolean;
  63910. /**
  63911. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  63912. * series as possible in a natural way, seeking to avoid other series. The
  63913. * goal of this feature is to make the chart more easily readable, like if a
  63914. * human designer placed the labels in the optimal position.
  63915. *
  63916. * The series labels currently work with series types having a `graph` or an
  63917. * `area`.
  63918. */
  63919. label?: SeriesLabelOptionsObject;
  63920. /**
  63921. * (Highstock) The line marks the last price from all points.
  63922. */
  63923. lastPrice?: SeriesLastPriceOptionsObject;
  63924. /**
  63925. * (Highstock) The line marks the last price from visible range of points.
  63926. */
  63927. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  63928. /**
  63929. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  63930. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  63931. * the ends and bends.
  63932. */
  63933. linecap?: SeriesLinecapValue;
  63934. /**
  63935. * (Highcharts, Highstock) Pixel width of the graph line.
  63936. */
  63937. lineWidth?: number;
  63938. /**
  63939. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  63940. * based on. Required for this indicator.
  63941. */
  63942. linkedTo?: string;
  63943. /**
  63944. * (Highstock) Options for the point markers of line-like series. Properties
  63945. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  63946. * appearance of the markers. Other series types, like column series, don't
  63947. * have markers, but have visual options on the series level instead.
  63948. *
  63949. * In styled mode, the markers can be styled with the `.highcharts-point`,
  63950. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  63951. */
  63952. marker?: PointMarkerOptionsObject;
  63953. /**
  63954. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  63955. * If not set, it will be based on a technical indicator type and default
  63956. * params.
  63957. */
  63958. name?: string;
  63959. /**
  63960. * (Highstock) The color for the parts of the graph or points that are below
  63961. * the threshold. Note that `zones` takes precedence over the negative
  63962. * color. Using `negativeColor` is equivalent to applying a zone with value
  63963. * of 0.
  63964. */
  63965. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  63966. /**
  63967. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  63968. * dataLabels.
  63969. */
  63970. opacity?: number;
  63971. /**
  63972. * (Highstock) Paramters used in calculation of regression series' points.
  63973. */
  63974. params?: PlotMfiParamsOptions;
  63975. /**
  63976. * (Highstock) Properties for each single point.
  63977. */
  63978. point?: PlotSeriesPointOptions;
  63979. /**
  63980. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  63981. * individual series. Overrides the chart wide configuration.
  63982. */
  63983. pointDescriptionFormatter?: Function;
  63984. /**
  63985. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  63986. * true, the checkbox next to the series name in the legend will be checked
  63987. * for a selected series.
  63988. */
  63989. selected?: boolean;
  63990. /**
  63991. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  63992. * the shadow can be an object configuration containing `color`, `offsetX`,
  63993. * `offsetY`, `opacity` and `width`.
  63994. */
  63995. shadow?: (boolean|ShadowOptionsObject);
  63996. /**
  63997. * (Highstock) If true, a checkbox is displayed next to the legend item to
  63998. * allow selecting the series. The state of the checkbox is determined by
  63999. * the `selected` option.
  64000. */
  64001. showCheckbox?: boolean;
  64002. /**
  64003. * (Highstock) Whether to display this particular series or series type in
  64004. * the legend. Standalone series are shown in legend by default, and linked
  64005. * series are not. Since v7.2.0 it is possible to show series that use
  64006. * colorAxis by setting this option to `true`.
  64007. */
  64008. showInLegend?: boolean;
  64009. /**
  64010. * (Highstock) If set to `true`, the accessibility module will skip past the
  64011. * points in this series for keyboard navigation.
  64012. */
  64013. skipKeyboardNavigation?: boolean;
  64014. /**
  64015. * (Highcharts, Highstock) When this is true, the series will not cause the
  64016. * Y axis to cross the zero plane (or threshold option) unless the data
  64017. * actually crosses the plane.
  64018. *
  64019. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  64020. * make the Y axis show negative values according to the `minPadding`
  64021. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  64022. */
  64023. softThreshold?: boolean;
  64024. states?: SeriesStatesOptionsObject;
  64025. /**
  64026. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  64027. * values are `left`, `center` and `right`.
  64028. */
  64029. step?: OptionsStepValue;
  64030. /**
  64031. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  64032. * event on a series isn't triggered until the mouse moves over another
  64033. * series, or out of the plot area. When false, the `mouseOut` event on a
  64034. * series is triggered when the mouse leaves the area around the series'
  64035. * graph or markers. This also implies the tooltip when not shared. When
  64036. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  64037. * be hidden when moving the mouse between series. Defaults to true for line
  64038. * and area type series, but to false for columns, pies etc.
  64039. *
  64040. * **Note:** The boost module will force this option because of technical
  64041. * limitations.
  64042. */
  64043. stickyTracking?: boolean;
  64044. /**
  64045. * (Highcharts, Highstock) The threshold, also called zero level or base
  64046. * level. For line type series this is only used in conjunction with
  64047. * negativeColor.
  64048. */
  64049. threshold?: (number|null);
  64050. /**
  64051. * (Highstock) A configuration object for the tooltip rendering of each
  64052. * single series. Properties are inherited from tooltip, but only the
  64053. * following properties can be defined on a series level.
  64054. */
  64055. tooltip?: SeriesTooltipOptionsObject;
  64056. /**
  64057. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  64058. * is longer than this, only one dimensional arrays of numbers, or two
  64059. * dimensional arrays with x and y values are allowed. Also, only the first
  64060. * point is tested, and the rest are assumed to be the same format. This
  64061. * saves expensive data checking and indexing in long series. Set it to `0`
  64062. * disable.
  64063. *
  64064. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  64065. * two dimensional arrays are allowed.
  64066. */
  64067. turboThreshold?: number;
  64068. /**
  64069. * (Highstock) Set the initial visibility of the series.
  64070. */
  64071. visible?: boolean;
  64072. /**
  64073. * (Highmaps) Define the z index of the series.
  64074. */
  64075. zIndex?: number;
  64076. /**
  64077. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  64078. */
  64079. zoneAxis?: string;
  64080. /**
  64081. * (Highcharts, Highstock) An array defining zones within a series. Zones
  64082. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  64083. * the `zoneAxis` option. The zone definitions have to be in ascending order
  64084. * regarding to the value.
  64085. *
  64086. * In styled mode, the color zones are styled with the
  64087. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  64088. * option (view live demo).
  64089. */
  64090. zones?: Array<SeriesZonesOptionsObject>;
  64091. }
  64092. /**
  64093. * (Highstock) Paramters used in calculation of regression series' points.
  64094. */
  64095. export interface PlotMfiParamsOptions {
  64096. /**
  64097. * (Highstock) Number of maximum decimals that are used in MFI calculations.
  64098. */
  64099. decimals?: number;
  64100. index?: string;
  64101. /**
  64102. * (Highstock) The base period for indicator calculations. This is the
  64103. * number of data points which are taken into account for the indicator
  64104. * calculations.
  64105. */
  64106. period?: number;
  64107. /**
  64108. * (Highstock) The id of volume series which is mandatory. For example using
  64109. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  64110. * using OHLC and volume values.
  64111. */
  64112. volumeSeriesID?: string;
  64113. }
  64114. /**
  64115. * (Highstock) Enable or disable the initial animation when a series is
  64116. * displayed. The animation can also be set as a configuration object. Please
  64117. * note that this option only applies to the initial animation of the series
  64118. * itself. For other animations, see chart.animation and the animation parameter
  64119. * under the API methods. The following properties are supported:
  64120. *
  64121. * - `defer`: The animation delay time in milliseconds.
  64122. *
  64123. * - `duration`: The duration of the animation in milliseconds.
  64124. *
  64125. * - `easing`: Can be a string reference to an easing function set on the `Math`
  64126. * object or a function. See the _Custom easing function_ demo below.
  64127. *
  64128. * Due to poor performance, animation is disabled in old IE browsers for several
  64129. * chart types.
  64130. */
  64131. export interface PlotMomentumAnimationOptions {
  64132. defer?: number;
  64133. }
  64134. /**
  64135. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64136. * animation when a series is displayed for the `dataLabels`. The animation can
  64137. * also be set as a configuration object. Please note that this option only
  64138. * applies to the initial animation. For other animations, see chart.animation
  64139. * and the animation parameter under the API methods. The following properties
  64140. * are supported:
  64141. *
  64142. * - `defer`: The animation delay time in milliseconds.
  64143. */
  64144. export interface PlotMomentumDataLabelsAnimationOptions {
  64145. /**
  64146. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  64147. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  64148. * inherits defer time from the series.animation.defer.
  64149. */
  64150. defer?: number;
  64151. }
  64152. /**
  64153. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  64154. * appearing next to each data point.
  64155. *
  64156. * Since v6.2.0, multiple data labels can be applied to each single point by
  64157. * defining them as an array of configs.
  64158. *
  64159. * In styled mode, the data labels can be styled with the
  64160. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  64161. * example).
  64162. */
  64163. export interface PlotMomentumDataLabelsOptions {
  64164. /**
  64165. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  64166. * compared to the point. If `right`, the right side of the label should be
  64167. * touching the point. For points with an extent, like columns, the
  64168. * alignments also dictates how to align it inside the box, as given with
  64169. * the inside option. Can be one of `left`, `center` or `right`.
  64170. */
  64171. align?: (AlignValue|null);
  64172. /**
  64173. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  64174. * overlap. To make the labels less sensitive for overlapping, the
  64175. * dataLabels.padding can be set to 0.
  64176. */
  64177. allowOverlap?: boolean;
  64178. /**
  64179. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64180. * animation when a series is displayed for the `dataLabels`. The animation
  64181. * can also be set as a configuration object. Please note that this option
  64182. * only applies to the initial animation. For other animations, see
  64183. * chart.animation and the animation parameter under the API methods. The
  64184. * following properties are supported:
  64185. *
  64186. * - `defer`: The animation delay time in milliseconds.
  64187. */
  64188. animation?: (boolean|PlotMomentumDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  64189. /**
  64190. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  64191. * for the data label.
  64192. */
  64193. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  64194. /**
  64195. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  64196. * label. Defaults to `undefined`.
  64197. */
  64198. borderColor?: (ColorString|GradientColorObject|PatternObject);
  64199. /**
  64200. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  64201. * the data label.
  64202. */
  64203. borderRadius?: number;
  64204. /**
  64205. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  64206. * the data label.
  64207. */
  64208. borderWidth?: number;
  64209. /**
  64210. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  64211. * Particularly in styled mode, this can be used to give each series' or
  64212. * point's data label unique styling. In addition to this option, a default
  64213. * color class name is added so that we can give the labels a contrast text
  64214. * shadow.
  64215. */
  64216. className?: string;
  64217. /**
  64218. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  64219. * labels. Defaults to `undefined`. For certain series types, like column or
  64220. * map, the data labels can be drawn inside the points. In this case the
  64221. * data label will be drawn with maximum contrast by default. Additionally,
  64222. * it will be given a `text-outline` style with the opposite color, to
  64223. * further increase the contrast. This can be overridden by setting the
  64224. * `text-outline` style to `none` in the `dataLabels.style` option.
  64225. */
  64226. color?: (ColorString|GradientColorObject|PatternObject);
  64227. /**
  64228. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  64229. * are outside the plot area. By default, the data label is moved inside the
  64230. * plot area according to the overflow option.
  64231. */
  64232. crop?: boolean;
  64233. /**
  64234. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  64235. * labels until the initial series animation has finished. Setting to
  64236. * `false` renders the data label immediately. If set to `true` inherits the
  64237. * defer time set in plotOptions.series.animation. If set to a number, a
  64238. * defer time is specified in milliseconds.
  64239. */
  64240. defer?: (boolean|number);
  64241. /**
  64242. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  64243. * labels.
  64244. */
  64245. enabled?: boolean;
  64246. /**
  64247. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  64248. * of which data labels to display. The declarative filter is designed for
  64249. * use when callback functions are not available, like when the chart
  64250. * options require a pure JSON structure or for use with graphical editors.
  64251. * For programmatic control, use the `formatter` instead, and return
  64252. * `undefined` to disable a single data label.
  64253. */
  64254. filter?: DataLabelsFilterOptionsObject;
  64255. /**
  64256. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  64257. * label. Available variables are the same as for `formatter`.
  64258. */
  64259. format?: string;
  64260. /**
  64261. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  64262. * format the data label. Note that if a `format` is defined, the format
  64263. * takes precedence and the formatter is ignored.
  64264. */
  64265. formatter?: DataLabelsFormatterCallbackFunction;
  64266. /**
  64267. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  64268. * columns or map areas, whether to align the data label inside the box or
  64269. * to the actual value point. Defaults to `false` in most cases, `true` in
  64270. * stacked columns.
  64271. */
  64272. inside?: boolean;
  64273. /**
  64274. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  64275. * of null. Works analogously to format. `nullFormat` can be applied only to
  64276. * series which support displaying null points.
  64277. */
  64278. nullFormat?: (boolean|string);
  64279. /**
  64280. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  64281. * that defines formatting for points with the value of null. Works
  64282. * analogously to formatter. `nullPointFormatter` can be applied only to
  64283. * series which support displaying null points.
  64284. */
  64285. nullFormatter?: DataLabelsFormatterCallbackFunction;
  64286. /**
  64287. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  64288. * flow outside the plot area. The default is `"justify"`, which aligns them
  64289. * inside the plot area. For columns and bars, this means it will be moved
  64290. * inside the bar. To display data labels outside the plot area, set `crop`
  64291. * to `false` and `overflow` to `"allow"`.
  64292. */
  64293. overflow?: DataLabelsOverflowValue;
  64294. /**
  64295. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  64296. * the `backgroundColor` is set, this is the padding within the box.
  64297. */
  64298. padding?: number;
  64299. /**
  64300. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  64301. * points. If `center` alignment is not possible, it defaults to `right`.
  64302. */
  64303. position?: AlignValue;
  64304. /**
  64305. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  64306. * that due to a more complex structure, backgrounds, borders and padding
  64307. * will be lost on a rotated data label.
  64308. */
  64309. rotation?: number;
  64310. /**
  64311. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  64312. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  64313. * an object configuration containing `color`, `offsetX`, `offsetY`,
  64314. * `opacity` and `width`.
  64315. */
  64316. shadow?: (boolean|ShadowOptionsObject);
  64317. /**
  64318. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  64319. * the border around the label. Symbols are predefined functions on the
  64320. * Renderer object.
  64321. */
  64322. shape?: string;
  64323. /**
  64324. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  64325. * default `color` setting is `"contrast"`, which is a pseudo color that
  64326. * Highcharts picks up and applies the maximum contrast to the underlying
  64327. * point item, for example the bar in a bar chart.
  64328. *
  64329. * The `textOutline` is a pseudo property that applies an outline of the
  64330. * given width with the given color, which by default is the maximum
  64331. * contrast to the text. So a bright text color will result in a black text
  64332. * outline for maximum readability on a mixed background. In some cases,
  64333. * especially with grayscale text, the text outline doesn't work well, in
  64334. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  64335. * is true, the `textOutline` will not be picked up. In this, case, the same
  64336. * effect can be acheived through the `text-shadow` CSS property.
  64337. *
  64338. * For some series types, where each point has an extent, like for example
  64339. * tree maps, the data label may overflow the point. There are two
  64340. * strategies for handling overflow. By default, the text will wrap to
  64341. * multiple lines. The other strategy is to set `style.textOverflow` to
  64342. * `ellipsis`, which will keep the text on one line plus it will break
  64343. * inside long words.
  64344. */
  64345. style?: CSSObject;
  64346. /**
  64347. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  64348. * should follow marker's shape. Border and background are disabled for a
  64349. * label that follows a path.
  64350. *
  64351. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  64352. * to true will disable this option.
  64353. */
  64354. textPath?: DataLabelsTextPathOptionsObject;
  64355. /**
  64356. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  64357. * the labels.
  64358. */
  64359. useHTML?: boolean;
  64360. /**
  64361. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  64362. * label. Can be one of `top`, `middle` or `bottom`. The default value
  64363. * depends on the data, for instance in a column chart, the label is above
  64364. * positive values and below negative values.
  64365. */
  64366. verticalAlign?: (VerticalAlignValue|null);
  64367. /**
  64368. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  64369. * label relative to the point in pixels.
  64370. */
  64371. x?: number;
  64372. /**
  64373. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  64374. * label relative to the point in pixels.
  64375. */
  64376. y?: number;
  64377. /**
  64378. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  64379. * The default Z index puts it above the series. Use a Z index of 2 to
  64380. * display it behind the series.
  64381. */
  64382. z?: number;
  64383. }
  64384. /**
  64385. * (Highcharts, Highstock) Options for the series data sorting.
  64386. */
  64387. export interface PlotMomentumDataSortingOptions {
  64388. /**
  64389. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  64390. * Use xAxis.reversed to change the sorting order.
  64391. */
  64392. enabled?: boolean;
  64393. /**
  64394. * (Highcharts, Highstock) Whether to allow matching points by name in an
  64395. * update. If this option is disabled, points will be matched by order.
  64396. */
  64397. matchByName?: boolean;
  64398. /**
  64399. * (Highcharts, Highstock) Determines what data value should be used to sort
  64400. * by.
  64401. */
  64402. sortKey?: string;
  64403. }
  64404. /**
  64405. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  64406. *
  64407. * In TypeScript the type option must always be set.
  64408. *
  64409. * Configuration options for the series are given in three levels:
  64410. *
  64411. * 1. Options for all series in a chart are defined in the plotOptions.series
  64412. * object.
  64413. *
  64414. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  64415. *
  64416. * 3. Options for one single series are given in the series instance array. (see
  64417. * online documentation for example)
  64418. */
  64419. export interface PlotMomentumOptions {
  64420. /**
  64421. * (Highstock) Accessibility options for a series.
  64422. */
  64423. accessibility?: SeriesAccessibilityOptionsObject;
  64424. /**
  64425. * (Highstock) Allow this series' points to be selected by clicking on the
  64426. * graphic (columns, point markers, pie slices, map areas etc).
  64427. *
  64428. * The selected points can be handled by point select and unselect events,
  64429. * or collectively by the getSelectedPoints function.
  64430. *
  64431. * And alternative way of selecting points is through dragging.
  64432. */
  64433. allowPointSelect?: boolean;
  64434. /**
  64435. * (Highstock) Enable or disable the initial animation when a series is
  64436. * displayed. The animation can also be set as a configuration object.
  64437. * Please note that this option only applies to the initial animation of the
  64438. * series itself. For other animations, see chart.animation and the
  64439. * animation parameter under the API methods. The following properties are
  64440. * supported:
  64441. *
  64442. * - `defer`: The animation delay time in milliseconds.
  64443. *
  64444. * - `duration`: The duration of the animation in milliseconds.
  64445. *
  64446. * - `easing`: Can be a string reference to an easing function set on the
  64447. * `Math` object or a function. See the _Custom easing function_ demo below.
  64448. *
  64449. * Due to poor performance, animation is disabled in old IE browsers for
  64450. * several chart types.
  64451. */
  64452. animation?: (boolean|PlotMomentumAnimationOptions|Partial<AnimationOptionsObject>);
  64453. /**
  64454. * (Highstock) For some series, there is a limit that shuts down initial
  64455. * animation by default when the total number of points in the chart is too
  64456. * high. For example, for a column chart and its derivatives, animation does
  64457. * not run if there is more than 250 points totally. To disable this cap,
  64458. * set `animationLimit` to `Infinity`.
  64459. */
  64460. animationLimit?: number;
  64461. /**
  64462. * (Highstock) Sets the color blending in the boost module.
  64463. */
  64464. boostBlending?: OptionsBoostBlendingValue;
  64465. /**
  64466. * (Highstock) Set the point threshold for when a series should enter boost
  64467. * mode.
  64468. *
  64469. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  64470. * there are 2000 or more points in the series.
  64471. *
  64472. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  64473. * it to 1 will force boosting.
  64474. *
  64475. * Note that the cropThreshold also affects this setting. When zooming in on
  64476. * a series that has fewer points than the `cropThreshold`, all points are
  64477. * rendered although outside the visible plot area, and the `boostThreshold`
  64478. * won't take effect.
  64479. */
  64480. boostThreshold?: number;
  64481. /**
  64482. * (Highmaps) The border color of the map areas.
  64483. *
  64484. * In styled mode, the border stroke is given in the `.highcharts-point`
  64485. * class.
  64486. */
  64487. borderColor?: (ColorString|GradientColorObject|PatternObject);
  64488. /**
  64489. * (Highmaps) The border width of each map area.
  64490. *
  64491. * In styled mode, the border stroke width is given in the
  64492. * `.highcharts-point` class.
  64493. */
  64494. borderWidth?: number;
  64495. /**
  64496. * (Highstock) An additional class name to apply to the series' graphical
  64497. * elements. This option does not replace default class names of the
  64498. * graphical element.
  64499. */
  64500. className?: string;
  64501. /**
  64502. * (Highstock) Disable this option to allow series rendering in the whole
  64503. * plotting area.
  64504. *
  64505. * **Note:** Clipping should be always enabled when chart.zoomType is set
  64506. */
  64507. clip?: boolean;
  64508. /**
  64509. * (Highstock) The main color of the series. In line type series it applies
  64510. * to the line and the point markers unless otherwise specified. In bar type
  64511. * series it applies to the bars unless a color is specified per point. The
  64512. * default value is pulled from the `options.colors` array.
  64513. *
  64514. * In styled mode, the color can be defined by the colorIndex option. Also,
  64515. * the series color can be set with the `.highcharts-series`,
  64516. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  64517. * `.highcharts-series-{n}` class, or individual classes given by the
  64518. * `className` option.
  64519. */
  64520. color?: (ColorString|GradientColorObject|PatternObject);
  64521. /**
  64522. * (Highstock) Styled mode only. A specific color index to use for the
  64523. * series, so its graphic representations are given the class name
  64524. * `highcharts-color-{n}`.
  64525. */
  64526. colorIndex?: number;
  64527. /**
  64528. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  64529. * used to calculate point color if `colorAxis` is used. Requires to set
  64530. * `min` and `max` if some custom point property is used or if approximation
  64531. * for data grouping is set to `'sum'`.
  64532. */
  64533. colorKey?: string;
  64534. /**
  64535. * (Highstock) Compare the values of the series against the first non-null,
  64536. * non- zero value in the visible range. The y axis will show percentage or
  64537. * absolute change depending on whether `compare` is set to `"percent"` or
  64538. * `"value"`. When this is applied to multiple series, it allows comparing
  64539. * the development of the series against each other. Adds a `change` field
  64540. * to every point object.
  64541. */
  64542. compare?: string;
  64543. /**
  64544. * (Highstock) When compare is `percent`, this option dictates whether to
  64545. * use 0 or 100 as the base of comparison.
  64546. */
  64547. compareBase?: (0|100);
  64548. /**
  64549. * (Highstock) Defines if comparison should start from the first point
  64550. * within the visible range or should start from the first point **before**
  64551. * the range.
  64552. *
  64553. * In other words, this flag determines if first point within the visible
  64554. * range will have 0% (`compareStart=true`) or should have been already
  64555. * calculated according to the previous point (`compareStart=false`).
  64556. */
  64557. compareStart?: boolean;
  64558. /**
  64559. * (Highstock) Whether to compare indicator to the main series values or
  64560. * indicator values.
  64561. */
  64562. compareToMain?: boolean;
  64563. /**
  64564. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  64565. * series plot across the extremes.
  64566. */
  64567. connectEnds?: boolean;
  64568. /**
  64569. * (Highcharts, Highstock) Whether to connect a graph line across null
  64570. * points, or render a gap between the two points on either side of the
  64571. * null.
  64572. */
  64573. connectNulls?: boolean;
  64574. /**
  64575. * (Gantt) Override Pathfinder connector options for a series. Requires
  64576. * Highcharts Gantt to be loaded.
  64577. */
  64578. connectors?: SeriesConnectorsOptionsObject;
  64579. /**
  64580. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  64581. * rounded to its nearest pixel in order to render sharp on screen. In some
  64582. * cases, when there are a lot of densely packed columns, this leads to
  64583. * visible difference in column widths or distance between columns. In these
  64584. * cases, setting `crisp` to `false` may look better, even though each
  64585. * column is rendered blurry.
  64586. */
  64587. crisp?: boolean;
  64588. /**
  64589. * (Highcharts, Highstock) When the series contains less points than the
  64590. * crop threshold, all points are drawn, even if the points fall outside the
  64591. * visible plot area at the current zoom. The advantage of drawing all
  64592. * points (including markers and columns), is that animation is performed on
  64593. * updates. On the other hand, when the series contains more points than the
  64594. * crop threshold, the series data is cropped to only contain points that
  64595. * fall within the plot area. The advantage of cropping away invisible
  64596. * points is to increase performance on large series.
  64597. */
  64598. cropThreshold?: number;
  64599. /**
  64600. * (Highstock) You can set the cursor to "pointer" if you have click events
  64601. * attached to the series, to signal to the user that the points and lines
  64602. * can be clicked.
  64603. *
  64604. * In styled mode, the series cursor can be set with the same classes as
  64605. * listed under series.color.
  64606. */
  64607. cursor?: (string|CursorValue);
  64608. /**
  64609. * (Highstock) A reserved subspace to store options and values for
  64610. * customized functionality. Here you can add additional data for your own
  64611. * event callbacks and formatter callbacks.
  64612. */
  64613. custom?: Dictionary<any>;
  64614. /**
  64615. * (Highstock) Name of the dash style to use for the graph, or for some
  64616. * series types the outline of each shape.
  64617. *
  64618. * In styled mode, the stroke dash-array can be set with the same classes as
  64619. * listed under series.color.
  64620. */
  64621. dashStyle?: DashStyleValue;
  64622. /**
  64623. * (Highstock) Data grouping is the concept of sampling the data values into
  64624. * larger blocks in order to ease readability and increase performance of
  64625. * the JavaScript charts. Highcharts Stock by default applies data grouping
  64626. * when the points become closer than a certain pixel value, determined by
  64627. * the `groupPixelWidth` option.
  64628. *
  64629. * If data grouping is applied, the grouping information of grouped points
  64630. * can be read from the Point.dataGroup. If point options other than the
  64631. * data itself are set, for example `name` or `color` or custom properties,
  64632. * the grouping logic doesn't know how to group it. In this case the options
  64633. * of the first point instance are copied over to the group point. This can
  64634. * be altered through a custom `approximation` callback function.
  64635. */
  64636. dataGrouping?: DataGroupingOptionsObject;
  64637. /**
  64638. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  64639. * labels, appearing next to each data point.
  64640. *
  64641. * Since v6.2.0, multiple data labels can be applied to each single point by
  64642. * defining them as an array of configs.
  64643. *
  64644. * In styled mode, the data labels can be styled with the
  64645. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  64646. * (see example).
  64647. */
  64648. dataLabels?: (PlotMomentumDataLabelsOptions|Array<PlotMomentumDataLabelsOptions>);
  64649. /**
  64650. * (Highcharts, Highstock) Options for the series data sorting.
  64651. */
  64652. dataSorting?: (DataSortingOptionsObject|PlotMomentumDataSortingOptions);
  64653. /**
  64654. * (Highstock) A description of the series to add to the screen reader
  64655. * information about the series.
  64656. */
  64657. description?: string;
  64658. /**
  64659. * (Highstock) Enable or disable the mouse tracking for a specific series.
  64660. * This includes point tooltips and click events on graphs and points. For
  64661. * large datasets it improves performance.
  64662. */
  64663. enableMouseTracking?: boolean;
  64664. /**
  64665. * (Highstock) General event handlers for the series items. These event
  64666. * hooks can also be attached to the series at run time using the
  64667. * `Highcharts.addEvent` function.
  64668. */
  64669. events?: SeriesEventsOptionsObject;
  64670. /**
  64671. * (Highstock) Determines whether the series should look for the nearest
  64672. * point in both dimensions or just the x-dimension when hovering the
  64673. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  64674. * series. If the data has duplicate x-values, it is recommended to set this
  64675. * to `'xy'` to allow hovering over all points.
  64676. *
  64677. * Applies only to series types using nearest neighbor search (not direct
  64678. * hover) for tooltip.
  64679. */
  64680. findNearestPointBy?: OptionsFindNearestPointByValue;
  64681. /**
  64682. * (Highstock) Defines when to display a gap in the graph, together with the
  64683. * gapUnit option.
  64684. *
  64685. * In case when `dataGrouping` is enabled, points can be grouped into a
  64686. * larger time span. This can make the grouped points to have a greater
  64687. * distance than the absolute value of `gapSize` property, which will result
  64688. * in disappearing graph completely. To prevent this situation the mentioned
  64689. * distance between grouped points is used instead of previously defined
  64690. * `gapSize`.
  64691. *
  64692. * In practice, this option is most often used to visualize gaps in time
  64693. * series. In a stock chart, intraday data is available for daytime hours,
  64694. * while gaps will appear in nights and weekends.
  64695. */
  64696. gapSize?: number;
  64697. /**
  64698. * (Highstock) Together with gapSize, this option defines where to draw gaps
  64699. * in the graph.
  64700. *
  64701. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  64702. * if the distance between two points is greater than 5 times that of the
  64703. * two closest points, the graph will be broken.
  64704. *
  64705. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  64706. * values, which on a datetime axis is milliseconds. This also applies to
  64707. * the navigator series that inherits gap options from the base series.
  64708. */
  64709. gapUnit?: OptionsGapUnitValue;
  64710. /**
  64711. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  64712. * chart width or only the zoomed area when zooming in on parts of the X
  64713. * axis. By default, the Y axis adjusts to the min and max of the visible
  64714. * data. Cartesian series only.
  64715. */
  64716. getExtremesFromAll?: boolean;
  64717. /**
  64718. * (Highstock) When set to `false` will prevent the series data from being
  64719. * included in any form of data export.
  64720. *
  64721. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  64722. * `includeInCSVExport`.
  64723. */
  64724. includeInDataExport?: boolean;
  64725. /**
  64726. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  64727. * series as possible in a natural way, seeking to avoid other series. The
  64728. * goal of this feature is to make the chart more easily readable, like if a
  64729. * human designer placed the labels in the optimal position.
  64730. *
  64731. * The series labels currently work with series types having a `graph` or an
  64732. * `area`.
  64733. */
  64734. label?: SeriesLabelOptionsObject;
  64735. /**
  64736. * (Highstock) The line marks the last price from all points.
  64737. */
  64738. lastPrice?: SeriesLastPriceOptionsObject;
  64739. /**
  64740. * (Highstock) The line marks the last price from visible range of points.
  64741. */
  64742. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  64743. /**
  64744. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  64745. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  64746. * the ends and bends.
  64747. */
  64748. linecap?: SeriesLinecapValue;
  64749. /**
  64750. * (Highcharts, Highstock) Pixel width of the graph line.
  64751. */
  64752. lineWidth?: number;
  64753. /**
  64754. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  64755. * based on. Required for this indicator.
  64756. */
  64757. linkedTo?: string;
  64758. /**
  64759. * (Highstock) Options for the point markers of line-like series. Properties
  64760. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  64761. * appearance of the markers. Other series types, like column series, don't
  64762. * have markers, but have visual options on the series level instead.
  64763. *
  64764. * In styled mode, the markers can be styled with the `.highcharts-point`,
  64765. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  64766. */
  64767. marker?: PointMarkerOptionsObject;
  64768. /**
  64769. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  64770. * If not set, it will be based on a technical indicator type and default
  64771. * params.
  64772. */
  64773. name?: string;
  64774. /**
  64775. * (Highstock) The color for the parts of the graph or points that are below
  64776. * the threshold. Note that `zones` takes precedence over the negative
  64777. * color. Using `negativeColor` is equivalent to applying a zone with value
  64778. * of 0.
  64779. */
  64780. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  64781. /**
  64782. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  64783. * dataLabels.
  64784. */
  64785. opacity?: number;
  64786. /**
  64787. * (Highstock) Paramters used in calculation of regression series' points.
  64788. */
  64789. params?: PlotMomentumParamsOptions;
  64790. /**
  64791. * (Highstock) Properties for each single point.
  64792. */
  64793. point?: PlotSeriesPointOptions;
  64794. /**
  64795. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  64796. * individual series. Overrides the chart wide configuration.
  64797. */
  64798. pointDescriptionFormatter?: Function;
  64799. /**
  64800. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  64801. * true, the checkbox next to the series name in the legend will be checked
  64802. * for a selected series.
  64803. */
  64804. selected?: boolean;
  64805. /**
  64806. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  64807. * the shadow can be an object configuration containing `color`, `offsetX`,
  64808. * `offsetY`, `opacity` and `width`.
  64809. */
  64810. shadow?: (boolean|ShadowOptionsObject);
  64811. /**
  64812. * (Highstock) If true, a checkbox is displayed next to the legend item to
  64813. * allow selecting the series. The state of the checkbox is determined by
  64814. * the `selected` option.
  64815. */
  64816. showCheckbox?: boolean;
  64817. /**
  64818. * (Highstock) Whether to display this particular series or series type in
  64819. * the legend. Standalone series are shown in legend by default, and linked
  64820. * series are not. Since v7.2.0 it is possible to show series that use
  64821. * colorAxis by setting this option to `true`.
  64822. */
  64823. showInLegend?: boolean;
  64824. /**
  64825. * (Highstock) If set to `true`, the accessibility module will skip past the
  64826. * points in this series for keyboard navigation.
  64827. */
  64828. skipKeyboardNavigation?: boolean;
  64829. /**
  64830. * (Highcharts, Highstock) When this is true, the series will not cause the
  64831. * Y axis to cross the zero plane (or threshold option) unless the data
  64832. * actually crosses the plane.
  64833. *
  64834. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  64835. * make the Y axis show negative values according to the `minPadding`
  64836. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  64837. */
  64838. softThreshold?: boolean;
  64839. states?: SeriesStatesOptionsObject;
  64840. /**
  64841. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  64842. * values are `left`, `center` and `right`.
  64843. */
  64844. step?: OptionsStepValue;
  64845. /**
  64846. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  64847. * event on a series isn't triggered until the mouse moves over another
  64848. * series, or out of the plot area. When false, the `mouseOut` event on a
  64849. * series is triggered when the mouse leaves the area around the series'
  64850. * graph or markers. This also implies the tooltip when not shared. When
  64851. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  64852. * be hidden when moving the mouse between series. Defaults to true for line
  64853. * and area type series, but to false for columns, pies etc.
  64854. *
  64855. * **Note:** The boost module will force this option because of technical
  64856. * limitations.
  64857. */
  64858. stickyTracking?: boolean;
  64859. /**
  64860. * (Highcharts, Highstock) The threshold, also called zero level or base
  64861. * level. For line type series this is only used in conjunction with
  64862. * negativeColor.
  64863. */
  64864. threshold?: (number|null);
  64865. /**
  64866. * (Highstock) A configuration object for the tooltip rendering of each
  64867. * single series. Properties are inherited from tooltip, but only the
  64868. * following properties can be defined on a series level.
  64869. */
  64870. tooltip?: SeriesTooltipOptionsObject;
  64871. /**
  64872. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  64873. * is longer than this, only one dimensional arrays of numbers, or two
  64874. * dimensional arrays with x and y values are allowed. Also, only the first
  64875. * point is tested, and the rest are assumed to be the same format. This
  64876. * saves expensive data checking and indexing in long series. Set it to `0`
  64877. * disable.
  64878. *
  64879. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  64880. * two dimensional arrays are allowed.
  64881. */
  64882. turboThreshold?: number;
  64883. /**
  64884. * (Highstock) Set the initial visibility of the series.
  64885. */
  64886. visible?: boolean;
  64887. /**
  64888. * (Highmaps) Define the z index of the series.
  64889. */
  64890. zIndex?: number;
  64891. /**
  64892. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  64893. */
  64894. zoneAxis?: string;
  64895. /**
  64896. * (Highcharts, Highstock) An array defining zones within a series. Zones
  64897. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  64898. * the `zoneAxis` option. The zone definitions have to be in ascending order
  64899. * regarding to the value.
  64900. *
  64901. * In styled mode, the color zones are styled with the
  64902. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  64903. * option (view live demo).
  64904. */
  64905. zones?: Array<SeriesZonesOptionsObject>;
  64906. }
  64907. /**
  64908. * (Highstock) Paramters used in calculation of regression series' points.
  64909. */
  64910. export interface PlotMomentumParamsOptions {
  64911. /**
  64912. * (Highstock) The point index which indicator calculations will base. For
  64913. * example using OHLC data, index=2 means the indicator will be calculated
  64914. * using Low values.
  64915. */
  64916. index?: number;
  64917. /**
  64918. * (Highstock) The base period for indicator calculations. This is the
  64919. * number of data points which are taken into account for the indicator
  64920. * calculations.
  64921. */
  64922. period?: number;
  64923. }
  64924. /**
  64925. * (Highstock) Enable or disable the initial animation when a series is
  64926. * displayed. The animation can also be set as a configuration object. Please
  64927. * note that this option only applies to the initial animation of the series
  64928. * itself. For other animations, see chart.animation and the animation parameter
  64929. * under the API methods. The following properties are supported:
  64930. *
  64931. * - `defer`: The animation delay time in milliseconds.
  64932. *
  64933. * - `duration`: The duration of the animation in milliseconds.
  64934. *
  64935. * - `easing`: Can be a string reference to an easing function set on the `Math`
  64936. * object or a function. See the _Custom easing function_ demo below.
  64937. *
  64938. * Due to poor performance, animation is disabled in old IE browsers for several
  64939. * chart types.
  64940. */
  64941. export interface PlotNatrAnimationOptions {
  64942. defer?: number;
  64943. }
  64944. /**
  64945. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64946. * animation when a series is displayed for the `dataLabels`. The animation can
  64947. * also be set as a configuration object. Please note that this option only
  64948. * applies to the initial animation. For other animations, see chart.animation
  64949. * and the animation parameter under the API methods. The following properties
  64950. * are supported:
  64951. *
  64952. * - `defer`: The animation delay time in milliseconds.
  64953. */
  64954. export interface PlotNatrDataLabelsAnimationOptions {
  64955. /**
  64956. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  64957. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  64958. * inherits defer time from the series.animation.defer.
  64959. */
  64960. defer?: number;
  64961. }
  64962. /**
  64963. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  64964. * appearing next to each data point.
  64965. *
  64966. * Since v6.2.0, multiple data labels can be applied to each single point by
  64967. * defining them as an array of configs.
  64968. *
  64969. * In styled mode, the data labels can be styled with the
  64970. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  64971. * example).
  64972. */
  64973. export interface PlotNatrDataLabelsOptions {
  64974. /**
  64975. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  64976. * compared to the point. If `right`, the right side of the label should be
  64977. * touching the point. For points with an extent, like columns, the
  64978. * alignments also dictates how to align it inside the box, as given with
  64979. * the inside option. Can be one of `left`, `center` or `right`.
  64980. */
  64981. align?: (AlignValue|null);
  64982. /**
  64983. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  64984. * overlap. To make the labels less sensitive for overlapping, the
  64985. * dataLabels.padding can be set to 0.
  64986. */
  64987. allowOverlap?: boolean;
  64988. /**
  64989. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  64990. * animation when a series is displayed for the `dataLabels`. The animation
  64991. * can also be set as a configuration object. Please note that this option
  64992. * only applies to the initial animation. For other animations, see
  64993. * chart.animation and the animation parameter under the API methods. The
  64994. * following properties are supported:
  64995. *
  64996. * - `defer`: The animation delay time in milliseconds.
  64997. */
  64998. animation?: (boolean|PlotNatrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  64999. /**
  65000. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  65001. * for the data label.
  65002. */
  65003. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  65004. /**
  65005. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  65006. * label. Defaults to `undefined`.
  65007. */
  65008. borderColor?: (ColorString|GradientColorObject|PatternObject);
  65009. /**
  65010. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  65011. * the data label.
  65012. */
  65013. borderRadius?: number;
  65014. /**
  65015. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  65016. * the data label.
  65017. */
  65018. borderWidth?: number;
  65019. /**
  65020. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  65021. * Particularly in styled mode, this can be used to give each series' or
  65022. * point's data label unique styling. In addition to this option, a default
  65023. * color class name is added so that we can give the labels a contrast text
  65024. * shadow.
  65025. */
  65026. className?: string;
  65027. /**
  65028. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  65029. * labels. Defaults to `undefined`. For certain series types, like column or
  65030. * map, the data labels can be drawn inside the points. In this case the
  65031. * data label will be drawn with maximum contrast by default. Additionally,
  65032. * it will be given a `text-outline` style with the opposite color, to
  65033. * further increase the contrast. This can be overridden by setting the
  65034. * `text-outline` style to `none` in the `dataLabels.style` option.
  65035. */
  65036. color?: (ColorString|GradientColorObject|PatternObject);
  65037. /**
  65038. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  65039. * are outside the plot area. By default, the data label is moved inside the
  65040. * plot area according to the overflow option.
  65041. */
  65042. crop?: boolean;
  65043. /**
  65044. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  65045. * labels until the initial series animation has finished. Setting to
  65046. * `false` renders the data label immediately. If set to `true` inherits the
  65047. * defer time set in plotOptions.series.animation. If set to a number, a
  65048. * defer time is specified in milliseconds.
  65049. */
  65050. defer?: (boolean|number);
  65051. /**
  65052. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  65053. * labels.
  65054. */
  65055. enabled?: boolean;
  65056. /**
  65057. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  65058. * of which data labels to display. The declarative filter is designed for
  65059. * use when callback functions are not available, like when the chart
  65060. * options require a pure JSON structure or for use with graphical editors.
  65061. * For programmatic control, use the `formatter` instead, and return
  65062. * `undefined` to disable a single data label.
  65063. */
  65064. filter?: DataLabelsFilterOptionsObject;
  65065. /**
  65066. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  65067. * label. Available variables are the same as for `formatter`.
  65068. */
  65069. format?: string;
  65070. /**
  65071. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  65072. * format the data label. Note that if a `format` is defined, the format
  65073. * takes precedence and the formatter is ignored.
  65074. */
  65075. formatter?: DataLabelsFormatterCallbackFunction;
  65076. /**
  65077. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  65078. * columns or map areas, whether to align the data label inside the box or
  65079. * to the actual value point. Defaults to `false` in most cases, `true` in
  65080. * stacked columns.
  65081. */
  65082. inside?: boolean;
  65083. /**
  65084. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  65085. * of null. Works analogously to format. `nullFormat` can be applied only to
  65086. * series which support displaying null points.
  65087. */
  65088. nullFormat?: (boolean|string);
  65089. /**
  65090. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  65091. * that defines formatting for points with the value of null. Works
  65092. * analogously to formatter. `nullPointFormatter` can be applied only to
  65093. * series which support displaying null points.
  65094. */
  65095. nullFormatter?: DataLabelsFormatterCallbackFunction;
  65096. /**
  65097. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  65098. * flow outside the plot area. The default is `"justify"`, which aligns them
  65099. * inside the plot area. For columns and bars, this means it will be moved
  65100. * inside the bar. To display data labels outside the plot area, set `crop`
  65101. * to `false` and `overflow` to `"allow"`.
  65102. */
  65103. overflow?: DataLabelsOverflowValue;
  65104. /**
  65105. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  65106. * the `backgroundColor` is set, this is the padding within the box.
  65107. */
  65108. padding?: number;
  65109. /**
  65110. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  65111. * points. If `center` alignment is not possible, it defaults to `right`.
  65112. */
  65113. position?: AlignValue;
  65114. /**
  65115. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  65116. * that due to a more complex structure, backgrounds, borders and padding
  65117. * will be lost on a rotated data label.
  65118. */
  65119. rotation?: number;
  65120. /**
  65121. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  65122. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  65123. * an object configuration containing `color`, `offsetX`, `offsetY`,
  65124. * `opacity` and `width`.
  65125. */
  65126. shadow?: (boolean|ShadowOptionsObject);
  65127. /**
  65128. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  65129. * the border around the label. Symbols are predefined functions on the
  65130. * Renderer object.
  65131. */
  65132. shape?: string;
  65133. /**
  65134. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  65135. * default `color` setting is `"contrast"`, which is a pseudo color that
  65136. * Highcharts picks up and applies the maximum contrast to the underlying
  65137. * point item, for example the bar in a bar chart.
  65138. *
  65139. * The `textOutline` is a pseudo property that applies an outline of the
  65140. * given width with the given color, which by default is the maximum
  65141. * contrast to the text. So a bright text color will result in a black text
  65142. * outline for maximum readability on a mixed background. In some cases,
  65143. * especially with grayscale text, the text outline doesn't work well, in
  65144. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  65145. * is true, the `textOutline` will not be picked up. In this, case, the same
  65146. * effect can be acheived through the `text-shadow` CSS property.
  65147. *
  65148. * For some series types, where each point has an extent, like for example
  65149. * tree maps, the data label may overflow the point. There are two
  65150. * strategies for handling overflow. By default, the text will wrap to
  65151. * multiple lines. The other strategy is to set `style.textOverflow` to
  65152. * `ellipsis`, which will keep the text on one line plus it will break
  65153. * inside long words.
  65154. */
  65155. style?: CSSObject;
  65156. /**
  65157. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  65158. * should follow marker's shape. Border and background are disabled for a
  65159. * label that follows a path.
  65160. *
  65161. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  65162. * to true will disable this option.
  65163. */
  65164. textPath?: DataLabelsTextPathOptionsObject;
  65165. /**
  65166. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  65167. * the labels.
  65168. */
  65169. useHTML?: boolean;
  65170. /**
  65171. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  65172. * label. Can be one of `top`, `middle` or `bottom`. The default value
  65173. * depends on the data, for instance in a column chart, the label is above
  65174. * positive values and below negative values.
  65175. */
  65176. verticalAlign?: (VerticalAlignValue|null);
  65177. /**
  65178. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  65179. * label relative to the point in pixels.
  65180. */
  65181. x?: number;
  65182. /**
  65183. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  65184. * label relative to the point in pixels.
  65185. */
  65186. y?: number;
  65187. /**
  65188. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  65189. * The default Z index puts it above the series. Use a Z index of 2 to
  65190. * display it behind the series.
  65191. */
  65192. z?: number;
  65193. }
  65194. /**
  65195. * (Highcharts, Highstock) Options for the series data sorting.
  65196. */
  65197. export interface PlotNatrDataSortingOptions {
  65198. /**
  65199. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  65200. * Use xAxis.reversed to change the sorting order.
  65201. */
  65202. enabled?: boolean;
  65203. /**
  65204. * (Highcharts, Highstock) Whether to allow matching points by name in an
  65205. * update. If this option is disabled, points will be matched by order.
  65206. */
  65207. matchByName?: boolean;
  65208. /**
  65209. * (Highcharts, Highstock) Determines what data value should be used to sort
  65210. * by.
  65211. */
  65212. sortKey?: string;
  65213. }
  65214. /**
  65215. * (Highstock) Normalized average true range indicator (NATR). This series
  65216. * requires `linkedTo` option to be set and should be loaded after the
  65217. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  65218. *
  65219. * In TypeScript the type option must always be set.
  65220. *
  65221. * Configuration options for the series are given in three levels:
  65222. *
  65223. * 1. Options for all series in a chart are defined in the plotOptions.series
  65224. * object.
  65225. *
  65226. * 2. Options for all `natr` series are defined in plotOptions.natr.
  65227. *
  65228. * 3. Options for one single series are given in the series instance array. (see
  65229. * online documentation for example)
  65230. */
  65231. export interface PlotNatrOptions {
  65232. /**
  65233. * (Highstock) Accessibility options for a series.
  65234. */
  65235. accessibility?: SeriesAccessibilityOptionsObject;
  65236. /**
  65237. * (Highstock) Allow this series' points to be selected by clicking on the
  65238. * graphic (columns, point markers, pie slices, map areas etc).
  65239. *
  65240. * The selected points can be handled by point select and unselect events,
  65241. * or collectively by the getSelectedPoints function.
  65242. *
  65243. * And alternative way of selecting points is through dragging.
  65244. */
  65245. allowPointSelect?: boolean;
  65246. /**
  65247. * (Highstock) Enable or disable the initial animation when a series is
  65248. * displayed. The animation can also be set as a configuration object.
  65249. * Please note that this option only applies to the initial animation of the
  65250. * series itself. For other animations, see chart.animation and the
  65251. * animation parameter under the API methods. The following properties are
  65252. * supported:
  65253. *
  65254. * - `defer`: The animation delay time in milliseconds.
  65255. *
  65256. * - `duration`: The duration of the animation in milliseconds.
  65257. *
  65258. * - `easing`: Can be a string reference to an easing function set on the
  65259. * `Math` object or a function. See the _Custom easing function_ demo below.
  65260. *
  65261. * Due to poor performance, animation is disabled in old IE browsers for
  65262. * several chart types.
  65263. */
  65264. animation?: (boolean|PlotNatrAnimationOptions|Partial<AnimationOptionsObject>);
  65265. /**
  65266. * (Highstock) For some series, there is a limit that shuts down initial
  65267. * animation by default when the total number of points in the chart is too
  65268. * high. For example, for a column chart and its derivatives, animation does
  65269. * not run if there is more than 250 points totally. To disable this cap,
  65270. * set `animationLimit` to `Infinity`.
  65271. */
  65272. animationLimit?: number;
  65273. /**
  65274. * (Highstock) Sets the color blending in the boost module.
  65275. */
  65276. boostBlending?: OptionsBoostBlendingValue;
  65277. /**
  65278. * (Highstock) Set the point threshold for when a series should enter boost
  65279. * mode.
  65280. *
  65281. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  65282. * there are 2000 or more points in the series.
  65283. *
  65284. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  65285. * it to 1 will force boosting.
  65286. *
  65287. * Note that the cropThreshold also affects this setting. When zooming in on
  65288. * a series that has fewer points than the `cropThreshold`, all points are
  65289. * rendered although outside the visible plot area, and the `boostThreshold`
  65290. * won't take effect.
  65291. */
  65292. boostThreshold?: number;
  65293. /**
  65294. * (Highmaps) The border color of the map areas.
  65295. *
  65296. * In styled mode, the border stroke is given in the `.highcharts-point`
  65297. * class.
  65298. */
  65299. borderColor?: (ColorString|GradientColorObject|PatternObject);
  65300. /**
  65301. * (Highmaps) The border width of each map area.
  65302. *
  65303. * In styled mode, the border stroke width is given in the
  65304. * `.highcharts-point` class.
  65305. */
  65306. borderWidth?: number;
  65307. /**
  65308. * (Highstock) An additional class name to apply to the series' graphical
  65309. * elements. This option does not replace default class names of the
  65310. * graphical element.
  65311. */
  65312. className?: string;
  65313. /**
  65314. * (Highstock) Disable this option to allow series rendering in the whole
  65315. * plotting area.
  65316. *
  65317. * **Note:** Clipping should be always enabled when chart.zoomType is set
  65318. */
  65319. clip?: boolean;
  65320. /**
  65321. * (Highstock) The main color of the series. In line type series it applies
  65322. * to the line and the point markers unless otherwise specified. In bar type
  65323. * series it applies to the bars unless a color is specified per point. The
  65324. * default value is pulled from the `options.colors` array.
  65325. *
  65326. * In styled mode, the color can be defined by the colorIndex option. Also,
  65327. * the series color can be set with the `.highcharts-series`,
  65328. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  65329. * `.highcharts-series-{n}` class, or individual classes given by the
  65330. * `className` option.
  65331. */
  65332. color?: (ColorString|GradientColorObject|PatternObject);
  65333. /**
  65334. * (Highstock) Styled mode only. A specific color index to use for the
  65335. * series, so its graphic representations are given the class name
  65336. * `highcharts-color-{n}`.
  65337. */
  65338. colorIndex?: number;
  65339. /**
  65340. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  65341. * used to calculate point color if `colorAxis` is used. Requires to set
  65342. * `min` and `max` if some custom point property is used or if approximation
  65343. * for data grouping is set to `'sum'`.
  65344. */
  65345. colorKey?: string;
  65346. /**
  65347. * (Highstock) Compare the values of the series against the first non-null,
  65348. * non- zero value in the visible range. The y axis will show percentage or
  65349. * absolute change depending on whether `compare` is set to `"percent"` or
  65350. * `"value"`. When this is applied to multiple series, it allows comparing
  65351. * the development of the series against each other. Adds a `change` field
  65352. * to every point object.
  65353. */
  65354. compare?: string;
  65355. /**
  65356. * (Highstock) When compare is `percent`, this option dictates whether to
  65357. * use 0 or 100 as the base of comparison.
  65358. */
  65359. compareBase?: (0|100);
  65360. /**
  65361. * (Highstock) Defines if comparison should start from the first point
  65362. * within the visible range or should start from the first point **before**
  65363. * the range.
  65364. *
  65365. * In other words, this flag determines if first point within the visible
  65366. * range will have 0% (`compareStart=true`) or should have been already
  65367. * calculated according to the previous point (`compareStart=false`).
  65368. */
  65369. compareStart?: boolean;
  65370. /**
  65371. * (Highstock) Whether to compare indicator to the main series values or
  65372. * indicator values.
  65373. */
  65374. compareToMain?: boolean;
  65375. /**
  65376. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  65377. * series plot across the extremes.
  65378. */
  65379. connectEnds?: boolean;
  65380. /**
  65381. * (Highcharts, Highstock) Whether to connect a graph line across null
  65382. * points, or render a gap between the two points on either side of the
  65383. * null.
  65384. */
  65385. connectNulls?: boolean;
  65386. /**
  65387. * (Gantt) Override Pathfinder connector options for a series. Requires
  65388. * Highcharts Gantt to be loaded.
  65389. */
  65390. connectors?: SeriesConnectorsOptionsObject;
  65391. /**
  65392. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  65393. * rounded to its nearest pixel in order to render sharp on screen. In some
  65394. * cases, when there are a lot of densely packed columns, this leads to
  65395. * visible difference in column widths or distance between columns. In these
  65396. * cases, setting `crisp` to `false` may look better, even though each
  65397. * column is rendered blurry.
  65398. */
  65399. crisp?: boolean;
  65400. /**
  65401. * (Highcharts, Highstock) When the series contains less points than the
  65402. * crop threshold, all points are drawn, even if the points fall outside the
  65403. * visible plot area at the current zoom. The advantage of drawing all
  65404. * points (including markers and columns), is that animation is performed on
  65405. * updates. On the other hand, when the series contains more points than the
  65406. * crop threshold, the series data is cropped to only contain points that
  65407. * fall within the plot area. The advantage of cropping away invisible
  65408. * points is to increase performance on large series.
  65409. */
  65410. cropThreshold?: number;
  65411. /**
  65412. * (Highstock) You can set the cursor to "pointer" if you have click events
  65413. * attached to the series, to signal to the user that the points and lines
  65414. * can be clicked.
  65415. *
  65416. * In styled mode, the series cursor can be set with the same classes as
  65417. * listed under series.color.
  65418. */
  65419. cursor?: (string|CursorValue);
  65420. /**
  65421. * (Highstock) A reserved subspace to store options and values for
  65422. * customized functionality. Here you can add additional data for your own
  65423. * event callbacks and formatter callbacks.
  65424. */
  65425. custom?: Dictionary<any>;
  65426. /**
  65427. * (Highstock) Name of the dash style to use for the graph, or for some
  65428. * series types the outline of each shape.
  65429. *
  65430. * In styled mode, the stroke dash-array can be set with the same classes as
  65431. * listed under series.color.
  65432. */
  65433. dashStyle?: DashStyleValue;
  65434. /**
  65435. * (Highstock) Data grouping is the concept of sampling the data values into
  65436. * larger blocks in order to ease readability and increase performance of
  65437. * the JavaScript charts. Highcharts Stock by default applies data grouping
  65438. * when the points become closer than a certain pixel value, determined by
  65439. * the `groupPixelWidth` option.
  65440. *
  65441. * If data grouping is applied, the grouping information of grouped points
  65442. * can be read from the Point.dataGroup. If point options other than the
  65443. * data itself are set, for example `name` or `color` or custom properties,
  65444. * the grouping logic doesn't know how to group it. In this case the options
  65445. * of the first point instance are copied over to the group point. This can
  65446. * be altered through a custom `approximation` callback function.
  65447. */
  65448. dataGrouping?: DataGroupingOptionsObject;
  65449. /**
  65450. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  65451. * labels, appearing next to each data point.
  65452. *
  65453. * Since v6.2.0, multiple data labels can be applied to each single point by
  65454. * defining them as an array of configs.
  65455. *
  65456. * In styled mode, the data labels can be styled with the
  65457. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  65458. * (see example).
  65459. */
  65460. dataLabels?: (PlotNatrDataLabelsOptions|Array<PlotNatrDataLabelsOptions>);
  65461. /**
  65462. * (Highcharts, Highstock) Options for the series data sorting.
  65463. */
  65464. dataSorting?: (DataSortingOptionsObject|PlotNatrDataSortingOptions);
  65465. /**
  65466. * (Highstock) A description of the series to add to the screen reader
  65467. * information about the series.
  65468. */
  65469. description?: string;
  65470. /**
  65471. * (Highstock) Enable or disable the mouse tracking for a specific series.
  65472. * This includes point tooltips and click events on graphs and points. For
  65473. * large datasets it improves performance.
  65474. */
  65475. enableMouseTracking?: boolean;
  65476. /**
  65477. * (Highstock) General event handlers for the series items. These event
  65478. * hooks can also be attached to the series at run time using the
  65479. * `Highcharts.addEvent` function.
  65480. */
  65481. events?: SeriesEventsOptionsObject;
  65482. /**
  65483. * (Highstock) Determines whether the series should look for the nearest
  65484. * point in both dimensions or just the x-dimension when hovering the
  65485. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  65486. * series. If the data has duplicate x-values, it is recommended to set this
  65487. * to `'xy'` to allow hovering over all points.
  65488. *
  65489. * Applies only to series types using nearest neighbor search (not direct
  65490. * hover) for tooltip.
  65491. */
  65492. findNearestPointBy?: OptionsFindNearestPointByValue;
  65493. /**
  65494. * (Highstock) Defines when to display a gap in the graph, together with the
  65495. * gapUnit option.
  65496. *
  65497. * In case when `dataGrouping` is enabled, points can be grouped into a
  65498. * larger time span. This can make the grouped points to have a greater
  65499. * distance than the absolute value of `gapSize` property, which will result
  65500. * in disappearing graph completely. To prevent this situation the mentioned
  65501. * distance between grouped points is used instead of previously defined
  65502. * `gapSize`.
  65503. *
  65504. * In practice, this option is most often used to visualize gaps in time
  65505. * series. In a stock chart, intraday data is available for daytime hours,
  65506. * while gaps will appear in nights and weekends.
  65507. */
  65508. gapSize?: number;
  65509. /**
  65510. * (Highstock) Together with gapSize, this option defines where to draw gaps
  65511. * in the graph.
  65512. *
  65513. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  65514. * if the distance between two points is greater than 5 times that of the
  65515. * two closest points, the graph will be broken.
  65516. *
  65517. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  65518. * values, which on a datetime axis is milliseconds. This also applies to
  65519. * the navigator series that inherits gap options from the base series.
  65520. */
  65521. gapUnit?: OptionsGapUnitValue;
  65522. /**
  65523. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  65524. * chart width or only the zoomed area when zooming in on parts of the X
  65525. * axis. By default, the Y axis adjusts to the min and max of the visible
  65526. * data. Cartesian series only.
  65527. */
  65528. getExtremesFromAll?: boolean;
  65529. /**
  65530. * (Highstock) When set to `false` will prevent the series data from being
  65531. * included in any form of data export.
  65532. *
  65533. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  65534. * `includeInCSVExport`.
  65535. */
  65536. includeInDataExport?: boolean;
  65537. /**
  65538. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  65539. * series as possible in a natural way, seeking to avoid other series. The
  65540. * goal of this feature is to make the chart more easily readable, like if a
  65541. * human designer placed the labels in the optimal position.
  65542. *
  65543. * The series labels currently work with series types having a `graph` or an
  65544. * `area`.
  65545. */
  65546. label?: SeriesLabelOptionsObject;
  65547. /**
  65548. * (Highstock) The line marks the last price from all points.
  65549. */
  65550. lastPrice?: SeriesLastPriceOptionsObject;
  65551. /**
  65552. * (Highstock) The line marks the last price from visible range of points.
  65553. */
  65554. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  65555. /**
  65556. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  65557. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  65558. * the ends and bends.
  65559. */
  65560. linecap?: SeriesLinecapValue;
  65561. /**
  65562. * (Highcharts, Highstock) Pixel width of the graph line.
  65563. */
  65564. lineWidth?: number;
  65565. /**
  65566. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  65567. * based on. Required for this indicator.
  65568. */
  65569. linkedTo?: string;
  65570. /**
  65571. * (Highstock) Options for the point markers of line-like series. Properties
  65572. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  65573. * appearance of the markers. Other series types, like column series, don't
  65574. * have markers, but have visual options on the series level instead.
  65575. *
  65576. * In styled mode, the markers can be styled with the `.highcharts-point`,
  65577. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  65578. */
  65579. marker?: PointMarkerOptionsObject;
  65580. /**
  65581. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  65582. * If not set, it will be based on a technical indicator type and default
  65583. * params.
  65584. */
  65585. name?: string;
  65586. /**
  65587. * (Highstock) The color for the parts of the graph or points that are below
  65588. * the threshold. Note that `zones` takes precedence over the negative
  65589. * color. Using `negativeColor` is equivalent to applying a zone with value
  65590. * of 0.
  65591. */
  65592. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  65593. /**
  65594. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  65595. * dataLabels.
  65596. */
  65597. opacity?: number;
  65598. /**
  65599. * (Highstock) Paramters used in calculation of regression series' points.
  65600. */
  65601. params?: PlotNatrParamsOptions;
  65602. /**
  65603. * (Highstock) Properties for each single point.
  65604. */
  65605. point?: PlotSeriesPointOptions;
  65606. /**
  65607. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  65608. * individual series. Overrides the chart wide configuration.
  65609. */
  65610. pointDescriptionFormatter?: Function;
  65611. /**
  65612. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  65613. * true, the checkbox next to the series name in the legend will be checked
  65614. * for a selected series.
  65615. */
  65616. selected?: boolean;
  65617. /**
  65618. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  65619. * the shadow can be an object configuration containing `color`, `offsetX`,
  65620. * `offsetY`, `opacity` and `width`.
  65621. */
  65622. shadow?: (boolean|ShadowOptionsObject);
  65623. /**
  65624. * (Highstock) If true, a checkbox is displayed next to the legend item to
  65625. * allow selecting the series. The state of the checkbox is determined by
  65626. * the `selected` option.
  65627. */
  65628. showCheckbox?: boolean;
  65629. /**
  65630. * (Highstock) Whether to display this particular series or series type in
  65631. * the legend. Standalone series are shown in legend by default, and linked
  65632. * series are not. Since v7.2.0 it is possible to show series that use
  65633. * colorAxis by setting this option to `true`.
  65634. */
  65635. showInLegend?: boolean;
  65636. /**
  65637. * (Highstock) If set to `true`, the accessibility module will skip past the
  65638. * points in this series for keyboard navigation.
  65639. */
  65640. skipKeyboardNavigation?: boolean;
  65641. /**
  65642. * (Highcharts, Highstock) When this is true, the series will not cause the
  65643. * Y axis to cross the zero plane (or threshold option) unless the data
  65644. * actually crosses the plane.
  65645. *
  65646. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  65647. * make the Y axis show negative values according to the `minPadding`
  65648. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  65649. */
  65650. softThreshold?: boolean;
  65651. states?: SeriesStatesOptionsObject;
  65652. /**
  65653. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  65654. * values are `left`, `center` and `right`.
  65655. */
  65656. step?: OptionsStepValue;
  65657. /**
  65658. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  65659. * event on a series isn't triggered until the mouse moves over another
  65660. * series, or out of the plot area. When false, the `mouseOut` event on a
  65661. * series is triggered when the mouse leaves the area around the series'
  65662. * graph or markers. This also implies the tooltip when not shared. When
  65663. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  65664. * be hidden when moving the mouse between series. Defaults to true for line
  65665. * and area type series, but to false for columns, pies etc.
  65666. *
  65667. * **Note:** The boost module will force this option because of technical
  65668. * limitations.
  65669. */
  65670. stickyTracking?: boolean;
  65671. /**
  65672. * (Highcharts, Highstock) The threshold, also called zero level or base
  65673. * level. For line type series this is only used in conjunction with
  65674. * negativeColor.
  65675. */
  65676. threshold?: (number|null);
  65677. /**
  65678. * (Highstock) A configuration object for the tooltip rendering of each
  65679. * single series. Properties are inherited from tooltip, but only the
  65680. * following properties can be defined on a series level.
  65681. */
  65682. tooltip?: SeriesTooltipOptionsObject;
  65683. /**
  65684. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  65685. * is longer than this, only one dimensional arrays of numbers, or two
  65686. * dimensional arrays with x and y values are allowed. Also, only the first
  65687. * point is tested, and the rest are assumed to be the same format. This
  65688. * saves expensive data checking and indexing in long series. Set it to `0`
  65689. * disable.
  65690. *
  65691. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  65692. * two dimensional arrays are allowed.
  65693. */
  65694. turboThreshold?: number;
  65695. /**
  65696. * (Highstock) Set the initial visibility of the series.
  65697. */
  65698. visible?: boolean;
  65699. /**
  65700. * (Highmaps) Define the z index of the series.
  65701. */
  65702. zIndex?: number;
  65703. /**
  65704. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  65705. */
  65706. zoneAxis?: string;
  65707. /**
  65708. * (Highcharts, Highstock) An array defining zones within a series. Zones
  65709. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  65710. * the `zoneAxis` option. The zone definitions have to be in ascending order
  65711. * regarding to the value.
  65712. *
  65713. * In styled mode, the color zones are styled with the
  65714. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  65715. * option (view live demo).
  65716. */
  65717. zones?: Array<SeriesZonesOptionsObject>;
  65718. }
  65719. /**
  65720. * (Highstock) Paramters used in calculation of regression series' points.
  65721. */
  65722. export interface PlotNatrParamsOptions {
  65723. index?: string;
  65724. /**
  65725. * (Highstock) The base period for indicator calculations. This is the
  65726. * number of data points which are taken into account for the indicator
  65727. * calculations.
  65728. */
  65729. period?: number;
  65730. }
  65731. /**
  65732. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  65733. * animation when a series is displayed for the `dataLabels`. The animation can
  65734. * also be set as a configuration object. Please note that this option only
  65735. * applies to the initial animation. For other animations, see chart.animation
  65736. * and the animation parameter under the API methods. The following properties
  65737. * are supported:
  65738. *
  65739. * - `defer`: The animation delay time in milliseconds.
  65740. */
  65741. export interface PlotNetworkgraphDataLabelsAnimationOptions {
  65742. /**
  65743. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  65744. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  65745. * inherits defer time from the series.animation.defer.
  65746. */
  65747. defer?: number;
  65748. }
  65749. /**
  65750. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  65751. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  65752. * picks up and applies the maximum contrast to the underlying point item, for
  65753. * example the bar in a bar chart.
  65754. *
  65755. * The `textOutline` is a pseudo property that applies an outline of the given
  65756. * width with the given color, which by default is the maximum contrast to the
  65757. * text. So a bright text color will result in a black text outline for maximum
  65758. * readability on a mixed background. In some cases, especially with grayscale
  65759. * text, the text outline doesn't work well, in which cases it can be disabled
  65760. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  65761. * be picked up. In this, case, the same effect can be acheived through the
  65762. * `text-shadow` CSS property.
  65763. *
  65764. * For some series types, where each point has an extent, like for example tree
  65765. * maps, the data label may overflow the point. There are two strategies for
  65766. * handling overflow. By default, the text will wrap to multiple lines. The
  65767. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  65768. * the text on one line plus it will break inside long words.
  65769. */
  65770. export interface PlotNetworkgraphDataLabelsStyleOptions {
  65771. transition?: string;
  65772. }
  65773. export interface PlotNetworkgraphLayoutAlgorithmOptions {
  65774. /**
  65775. * (Highcharts) Approximation used to calculate repulsive forces affecting
  65776. * nodes. By default, when calculateing net force, nodes are compared
  65777. * against each other, which gives O(N^2) complexity. Using Barnes-Hut
  65778. * approximation, we decrease this to O(N log N), but the resulting graph
  65779. * will have different layout. Barnes-Hut approximation divides space into
  65780. * rectangles via quad tree, where forces exerted on nodes are calculated
  65781. * directly for nearby cells, and for all others, cells are treated as a
  65782. * separate node with center of mass.
  65783. */
  65784. approximation?: OptionsApproximationValue;
  65785. /**
  65786. * (Highcharts) Attraction force applied on a node which is conected to
  65787. * another node by a link. Passed are two arguments:
  65788. *
  65789. * - `d` - which is current distance between two nodes
  65790. *
  65791. * - `k` - which is desired distance between two nodes
  65792. *
  65793. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  65794. * d; }`
  65795. */
  65796. attractiveForce?: Function;
  65797. /**
  65798. * (Highcharts) Experimental. Enables live simulation of the algorithm
  65799. * implementation. All nodes are animated as the forces applies on them.
  65800. */
  65801. enableSimulation?: boolean;
  65802. /**
  65803. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  65804. * to the desired positions.
  65805. */
  65806. friction?: number;
  65807. /**
  65808. * (Highcharts) Gravitational const used in the barycenter force of the
  65809. * algorithm.
  65810. */
  65811. gravitationalConstant?: number;
  65812. /**
  65813. * (Highcharts) When `initialPositions` are set to 'circle',
  65814. * `initialPositionRadius` is a distance from the center of circle, in which
  65815. * nodes are created.
  65816. */
  65817. initialPositionRadius?: number;
  65818. /**
  65819. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  65820. * of built-in options ("circle", "random") or a function where positions
  65821. * should be set on each node (`this.nodes`) as `node.plotX` and
  65822. * `node.plotY`
  65823. */
  65824. initialPositions?: ("circle"|"random"|Function);
  65825. /**
  65826. * (Highcharts) Integration type. Available options are `'euler'` and
  65827. * `'verlet'`. Integration determines how forces are applied on particles.
  65828. * In Euler integration, force is applied direct as `newPosition +=
  65829. * velocity;`. In Verlet integration, new position is based on a previous
  65830. * posittion without velocity: `newPosition += previousPosition -
  65831. * newPosition`.
  65832. *
  65833. * Note that different integrations give different results as forces are
  65834. * different.
  65835. *
  65836. * In Highcharts v7.0.x only `'euler'` integration was supported.
  65837. */
  65838. integration?: OptionsIntegrationValue;
  65839. /**
  65840. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  65841. * defined, length is calculated as: `Math.pow(availableWidth *
  65842. * availableHeight / nodesLength, 0.4);`
  65843. *
  65844. * Note: Because of the algorithm specification, length of each link might
  65845. * be not exactly as specified.
  65846. */
  65847. linkLength?: number;
  65848. /**
  65849. * (Highcharts) Max number of iterations before algorithm will stop. In
  65850. * general, algorithm should find positions sooner, but when rendering huge
  65851. * number of nodes, it is recommended to increase this value as finding
  65852. * perfect graph positions can require more time.
  65853. */
  65854. maxIterations?: number;
  65855. /**
  65856. * (Highcharts) Verlet integration only. Max speed that node can get in one
  65857. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  65858. * that node can move (in both, x and y, dimensions). While `friction` is
  65859. * applied on all nodes, max speed is applied only for nodes that move very
  65860. * fast, for example small or disconnected ones.
  65861. */
  65862. maxSpeed?: number;
  65863. /**
  65864. * (Highcharts) Repulsive force applied on a node. Passed are two arguments:
  65865. *
  65866. * - `d` - which is current distance between two nodes
  65867. *
  65868. * - `k` - which is desired distance between two nodes
  65869. *
  65870. * In `verlet` integration, defaults to: `function (d, k) { return (k - d) /
  65871. * d * (k > d ? 1 : 0) }`
  65872. */
  65873. repulsiveForce?: Function;
  65874. /**
  65875. * (Highcharts) Barnes-Hut approximation only. Deteremines when distance
  65876. * between cell and node is small enough to caculate forces. Value of
  65877. * `theta` is compared directly with quotient `s / d`, where `s` is the size
  65878. * of the cell, and `d` is distance between center of cell's mass and
  65879. * currently compared node.
  65880. */
  65881. theta?: number;
  65882. /**
  65883. * (Highcharts) Type of the algorithm used when positioning nodes.
  65884. */
  65885. type?: "reingold-fruchterman";
  65886. }
  65887. /**
  65888. * (Highcharts) Link style options
  65889. */
  65890. export interface PlotNetworkgraphLinkOptions {
  65891. /**
  65892. * (Highcharts) Color of the link between two nodes.
  65893. */
  65894. color?: string;
  65895. /**
  65896. * (Highcharts) A name for the dash style to use for links.
  65897. */
  65898. dashStyle?: string;
  65899. /**
  65900. * (Highcharts) Width (px) of the link between two nodes.
  65901. */
  65902. width?: number;
  65903. }
  65904. /**
  65905. * (Highcharts) A networkgraph is a type of relationship chart, where
  65906. * connnections (links) attracts nodes (points) and other nodes repulse each
  65907. * other.
  65908. *
  65909. * In TypeScript the type option must always be set.
  65910. *
  65911. * Configuration options for the series are given in three levels:
  65912. *
  65913. * 1. Options for all series in a chart are defined in the plotOptions.series
  65914. * object.
  65915. *
  65916. * 2. Options for all `networkgraph` series are defined in
  65917. * plotOptions.networkgraph.
  65918. *
  65919. * 3. Options for one single series are given in the series instance array. (see
  65920. * online documentation for example)
  65921. */
  65922. export interface PlotNetworkgraphOptions {
  65923. /**
  65924. * (Highcharts) Accessibility options for a series.
  65925. */
  65926. accessibility?: SeriesAccessibilityOptionsObject;
  65927. /**
  65928. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  65929. * rendered. If `true`, areas which don't correspond to a data point, are
  65930. * rendered as `null` points. If `false`, those areas are skipped.
  65931. */
  65932. allAreas?: boolean;
  65933. /**
  65934. * (Highcharts) Allow this series' points to be selected by clicking on the
  65935. * graphic (columns, point markers, pie slices, map areas etc).
  65936. *
  65937. * The selected points can be handled by point select and unselect events,
  65938. * or collectively by the getSelectedPoints function.
  65939. *
  65940. * And alternative way of selecting points is through dragging.
  65941. */
  65942. allowPointSelect?: boolean;
  65943. /**
  65944. * (Highmaps) The border color of the map areas.
  65945. *
  65946. * In styled mode, the border stroke is given in the `.highcharts-point`
  65947. * class.
  65948. */
  65949. borderColor?: (ColorString|GradientColorObject|PatternObject);
  65950. /**
  65951. * (Highmaps) The border width of each map area.
  65952. *
  65953. * In styled mode, the border stroke width is given in the
  65954. * `.highcharts-point` class.
  65955. */
  65956. borderWidth?: number;
  65957. /**
  65958. * (Highcharts) An additional class name to apply to the series' graphical
  65959. * elements. This option does not replace default class names of the
  65960. * graphical element.
  65961. */
  65962. className?: string;
  65963. /**
  65964. * (Highcharts) Disable this option to allow series rendering in the whole
  65965. * plotting area.
  65966. *
  65967. * **Note:** Clipping should be always enabled when chart.zoomType is set
  65968. */
  65969. clip?: boolean;
  65970. /**
  65971. * (Highcharts) The main color of the series. In line type series it applies
  65972. * to the line and the point markers unless otherwise specified. In bar type
  65973. * series it applies to the bars unless a color is specified per point. The
  65974. * default value is pulled from the `options.colors` array.
  65975. *
  65976. * In styled mode, the color can be defined by the colorIndex option. Also,
  65977. * the series color can be set with the `.highcharts-series`,
  65978. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  65979. * `.highcharts-series-{n}` class, or individual classes given by the
  65980. * `className` option.
  65981. */
  65982. color?: (ColorString|GradientColorObject|PatternObject);
  65983. /**
  65984. * (Highcharts) Styled mode only. A specific color index to use for the
  65985. * series, so its graphic representations are given the class name
  65986. * `highcharts-color-{n}`.
  65987. */
  65988. colorIndex?: number;
  65989. /**
  65990. * (Highstock) Compare the values of the series against the first non-null,
  65991. * non- zero value in the visible range. The y axis will show percentage or
  65992. * absolute change depending on whether `compare` is set to `"percent"` or
  65993. * `"value"`. When this is applied to multiple series, it allows comparing
  65994. * the development of the series against each other. Adds a `change` field
  65995. * to every point object.
  65996. */
  65997. compare?: string;
  65998. /**
  65999. * (Highstock) When compare is `percent`, this option dictates whether to
  66000. * use 0 or 100 as the base of comparison.
  66001. */
  66002. compareBase?: (0|100);
  66003. /**
  66004. * (Highstock) Defines if comparison should start from the first point
  66005. * within the visible range or should start from the first point **before**
  66006. * the range.
  66007. *
  66008. * In other words, this flag determines if first point within the visible
  66009. * range will have 0% (`compareStart=true`) or should have been already
  66010. * calculated according to the previous point (`compareStart=false`).
  66011. */
  66012. compareStart?: boolean;
  66013. /**
  66014. * (Gantt) Override Pathfinder connector options for a series. Requires
  66015. * Highcharts Gantt to be loaded.
  66016. */
  66017. connectors?: SeriesConnectorsOptionsObject;
  66018. /**
  66019. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  66020. * rounded to its nearest pixel in order to render sharp on screen. In some
  66021. * cases, when there are a lot of densely packed columns, this leads to
  66022. * visible difference in column widths or distance between columns. In these
  66023. * cases, setting `crisp` to `false` may look better, even though each
  66024. * column is rendered blurry.
  66025. */
  66026. crisp?: boolean;
  66027. /**
  66028. * (Highcharts) You can set the cursor to "pointer" if you have click events
  66029. * attached to the series, to signal to the user that the points and lines
  66030. * can be clicked.
  66031. *
  66032. * In styled mode, the series cursor can be set with the same classes as
  66033. * listed under series.color.
  66034. */
  66035. cursor?: (string|CursorValue);
  66036. /**
  66037. * (Highcharts) A reserved subspace to store options and values for
  66038. * customized functionality. Here you can add additional data for your own
  66039. * event callbacks and formatter callbacks.
  66040. */
  66041. custom?: Dictionary<any>;
  66042. /**
  66043. * (Highcharts) Name of the dash style to use for the graph, or for some
  66044. * series types the outline of each shape.
  66045. *
  66046. * In styled mode, the stroke dash-array can be set with the same classes as
  66047. * listed under series.color.
  66048. */
  66049. dashStyle?: DashStyleValue;
  66050. /**
  66051. * (Highstock) Data grouping is the concept of sampling the data values into
  66052. * larger blocks in order to ease readability and increase performance of
  66053. * the JavaScript charts. Highcharts Stock by default applies data grouping
  66054. * when the points become closer than a certain pixel value, determined by
  66055. * the `groupPixelWidth` option.
  66056. *
  66057. * If data grouping is applied, the grouping information of grouped points
  66058. * can be read from the Point.dataGroup. If point options other than the
  66059. * data itself are set, for example `name` or `color` or custom properties,
  66060. * the grouping logic doesn't know how to group it. In this case the options
  66061. * of the first point instance are copied over to the group point. This can
  66062. * be altered through a custom `approximation` callback function.
  66063. */
  66064. dataGrouping?: DataGroupingOptionsObject;
  66065. /**
  66066. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  66067. * labels, appearing next to each data point.
  66068. *
  66069. * Since v6.2.0, multiple data labels can be applied to each single point by
  66070. * defining them as an array of configs.
  66071. *
  66072. * In styled mode, the data labels can be styled with the
  66073. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  66074. * (see example).
  66075. */
  66076. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  66077. /**
  66078. * (Highcharts) A description of the series to add to the screen reader
  66079. * information about the series.
  66080. */
  66081. description?: string;
  66082. /**
  66083. * (Highcharts) Flag to determine if nodes are draggable or not.
  66084. */
  66085. draggable?: boolean;
  66086. /**
  66087. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  66088. * This includes point tooltips and click events on graphs and points. For
  66089. * large datasets it improves performance.
  66090. */
  66091. enableMouseTracking?: boolean;
  66092. /**
  66093. * (Highcharts) General event handlers for the series items. These event
  66094. * hooks can also be attached to the series at run time using the
  66095. * `Highcharts.addEvent` function.
  66096. */
  66097. events?: SeriesEventsOptionsObject;
  66098. /**
  66099. * (Highcharts) Determines whether the series should look for the nearest
  66100. * point in both dimensions or just the x-dimension when hovering the
  66101. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  66102. * series. If the data has duplicate x-values, it is recommended to set this
  66103. * to `'xy'` to allow hovering over all points.
  66104. *
  66105. * Applies only to series types using nearest neighbor search (not direct
  66106. * hover) for tooltip.
  66107. */
  66108. findNearestPointBy?: OptionsFindNearestPointByValue;
  66109. /**
  66110. * (Highstock) Defines when to display a gap in the graph, together with the
  66111. * gapUnit option.
  66112. *
  66113. * In case when `dataGrouping` is enabled, points can be grouped into a
  66114. * larger time span. This can make the grouped points to have a greater
  66115. * distance than the absolute value of `gapSize` property, which will result
  66116. * in disappearing graph completely. To prevent this situation the mentioned
  66117. * distance between grouped points is used instead of previously defined
  66118. * `gapSize`.
  66119. *
  66120. * In practice, this option is most often used to visualize gaps in time
  66121. * series. In a stock chart, intraday data is available for daytime hours,
  66122. * while gaps will appear in nights and weekends.
  66123. */
  66124. gapSize?: number;
  66125. /**
  66126. * (Highstock) Together with gapSize, this option defines where to draw gaps
  66127. * in the graph.
  66128. *
  66129. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  66130. * if the distance between two points is greater than 5 times that of the
  66131. * two closest points, the graph will be broken.
  66132. *
  66133. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  66134. * values, which on a datetime axis is milliseconds. This also applies to
  66135. * the navigator series that inherits gap options from the base series.
  66136. */
  66137. gapUnit?: OptionsGapUnitValue;
  66138. /**
  66139. * (Highcharts) When set to `false` will prevent the series data from being
  66140. * included in any form of data export.
  66141. *
  66142. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  66143. * `includeInCSVExport`.
  66144. */
  66145. includeInDataExport?: boolean;
  66146. /**
  66147. * (Highmaps) What property to join the `mapData` to the value data. For
  66148. * example, if joinBy is "code", the mapData items with a specific code is
  66149. * merged into the data with the same code. For maps loaded from GeoJSON,
  66150. * the keys may be held in each point's `properties` object.
  66151. *
  66152. * The joinBy option can also be an array of two values, where the first
  66153. * points to a key in the `mapData`, and the second points to another key in
  66154. * the `data`.
  66155. *
  66156. * When joinBy is `null`, the map items are joined by their position in the
  66157. * array, which performs much better in maps with many data points. This is
  66158. * the recommended option if you are printing more than a thousand data
  66159. * points and have a backend that can preprocess the data into a parallel
  66160. * array of the mapData.
  66161. */
  66162. joinBy?: (string|Array<string>);
  66163. /**
  66164. * (Highcharts) An array specifying which option maps to which key in the
  66165. * data point array. This makes it convenient to work with unstructured data
  66166. * arrays from different sources.
  66167. */
  66168. keys?: Array<string>;
  66169. /**
  66170. * (Highstock) The line marks the last price from all points.
  66171. */
  66172. lastPrice?: SeriesLastPriceOptionsObject;
  66173. /**
  66174. * (Highstock) The line marks the last price from visible range of points.
  66175. */
  66176. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  66177. layoutAlgorithm?: PlotNetworkgraphLayoutAlgorithmOptions;
  66178. /**
  66179. * (Highcharts, Highstock) Pixel width of the graph line.
  66180. */
  66181. lineWidth?: number;
  66182. /**
  66183. * (Highcharts) Link style options
  66184. */
  66185. link?: PlotNetworkgraphLinkOptions;
  66186. /**
  66187. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  66188. * Additionally, the value can be ":previous" to link to the previous
  66189. * series. When two series are linked, only the first one appears in the
  66190. * legend. Toggling the visibility of this also toggles the linked series.
  66191. *
  66192. * If master series uses data sorting and linked series does not have its
  66193. * own sorting definition, the linked series will be sorted in the same
  66194. * order as the master one.
  66195. */
  66196. linkedTo?: string;
  66197. /**
  66198. * (Highcharts) Options for the point markers of line-like series.
  66199. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  66200. * visual appearance of the markers. Other series types, like column series,
  66201. * don't have markers, but have visual options on the series level instead.
  66202. *
  66203. * In styled mode, the markers can be styled with the `.highcharts-point`,
  66204. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  66205. */
  66206. marker?: PointMarkerOptionsObject;
  66207. /**
  66208. * (Highstock) Options for the corresponding navigator series if
  66209. * `showInNavigator` is `true` for this series. Available options are the
  66210. * same as any series, documented at plotOptions and series.
  66211. *
  66212. * These options are merged with options in navigator.series, and will take
  66213. * precedence if the same option is defined both places.
  66214. */
  66215. navigatorOptions?: PlotSeriesOptions;
  66216. /**
  66217. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  66218. * dataLabels.
  66219. */
  66220. opacity?: number;
  66221. /**
  66222. * (Highcharts) Properties for each single point.
  66223. */
  66224. point?: PlotSeriesPointOptions;
  66225. /**
  66226. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  66227. * an individual series. Overrides the chart wide configuration.
  66228. */
  66229. pointDescriptionFormatter?: Function;
  66230. /**
  66231. * (Highstock) The width of each point on the x axis. For example in a
  66232. * column chart with one value each day, the pointRange would be 1 day (= 24
  66233. * * 3600
  66234. *
  66235. * * 1000 milliseconds). This is normally computed automatically, but this
  66236. * option can be used to override the automatic value.
  66237. */
  66238. pointRange?: number;
  66239. /**
  66240. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  66241. * true, the checkbox next to the series name in the legend will be checked
  66242. * for a selected series.
  66243. */
  66244. selected?: boolean;
  66245. /**
  66246. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  66247. * the shadow can be an object configuration containing `color`, `offsetX`,
  66248. * `offsetY`, `opacity` and `width`.
  66249. */
  66250. shadow?: (boolean|ShadowOptionsObject);
  66251. /**
  66252. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  66253. * allow selecting the series. The state of the checkbox is determined by
  66254. * the `selected` option.
  66255. */
  66256. showCheckbox?: boolean;
  66257. /**
  66258. * (Highcharts) Whether to display this particular series or series type in
  66259. * the legend. Standalone series are shown in legend by default, and linked
  66260. * series are not. Since v7.2.0 it is possible to show series that use
  66261. * colorAxis by setting this option to `true`.
  66262. */
  66263. showInLegend?: boolean;
  66264. /**
  66265. * (Highstock) Whether or not to show the series in the navigator. Takes
  66266. * precedence over navigator.baseSeries if defined.
  66267. */
  66268. showInNavigator?: boolean;
  66269. /**
  66270. * (Highcharts) If set to `true`, the accessibility module will skip past
  66271. * the points in this series for keyboard navigation.
  66272. */
  66273. skipKeyboardNavigation?: boolean;
  66274. states?: SeriesStatesOptionsObject;
  66275. /**
  66276. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  66277. * event on a series isn't triggered until the mouse moves over another
  66278. * series, or out of the plot area. When false, the `mouseOut` event on a
  66279. * series is triggered when the mouse leaves the area around the series'
  66280. * graph or markers. This also implies the tooltip when not shared. When
  66281. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  66282. * be hidden when moving the mouse between series. Defaults to true for line
  66283. * and area type series, but to false for columns, pies etc.
  66284. *
  66285. * **Note:** The boost module will force this option because of technical
  66286. * limitations.
  66287. */
  66288. stickyTracking?: boolean;
  66289. /**
  66290. * (Highcharts) A configuration object for the tooltip rendering of each
  66291. * single series. Properties are inherited from tooltip, but only the
  66292. * following properties can be defined on a series level.
  66293. */
  66294. tooltip?: SeriesTooltipOptionsObject;
  66295. /**
  66296. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  66297. * is longer than this, only one dimensional arrays of numbers, or two
  66298. * dimensional arrays with x and y values are allowed. Also, only the first
  66299. * point is tested, and the rest are assumed to be the same format. This
  66300. * saves expensive data checking and indexing in long series. Set it to `0`
  66301. * disable.
  66302. *
  66303. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  66304. * two dimensional arrays are allowed.
  66305. */
  66306. turboThreshold?: number;
  66307. /**
  66308. * (Highstock) The parameter allows setting line series type and use OHLC
  66309. * indicators. Data in OHLC format is required.
  66310. */
  66311. useOhlcData?: boolean;
  66312. /**
  66313. * (Highcharts) Set the initial visibility of the series.
  66314. */
  66315. visible?: boolean;
  66316. /**
  66317. * (Highmaps) Define the z index of the series.
  66318. */
  66319. zIndex?: number;
  66320. /**
  66321. * (Highcharts, Highstock) An array defining zones within a series. Zones
  66322. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  66323. * the `zoneAxis` option. The zone definitions have to be in ascending order
  66324. * regarding to the value.
  66325. *
  66326. * In styled mode, the color zones are styled with the
  66327. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  66328. * option (view live demo).
  66329. */
  66330. zones?: Array<SeriesZonesOptionsObject>;
  66331. }
  66332. /**
  66333. * (Highstock) Enable or disable the initial animation when a series is
  66334. * displayed. The animation can also be set as a configuration object. Please
  66335. * note that this option only applies to the initial animation of the series
  66336. * itself. For other animations, see chart.animation and the animation parameter
  66337. * under the API methods. The following properties are supported:
  66338. *
  66339. * - `defer`: The animation delay time in milliseconds.
  66340. *
  66341. * - `duration`: The duration of the animation in milliseconds.
  66342. *
  66343. * - `easing`: Can be a string reference to an easing function set on the `Math`
  66344. * object or a function. See the _Custom easing function_ demo below.
  66345. *
  66346. * Due to poor performance, animation is disabled in old IE browsers for several
  66347. * chart types.
  66348. */
  66349. export interface PlotObvAnimationOptions {
  66350. defer?: number;
  66351. }
  66352. /**
  66353. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66354. * animation when a series is displayed for the `dataLabels`. The animation can
  66355. * also be set as a configuration object. Please note that this option only
  66356. * applies to the initial animation. For other animations, see chart.animation
  66357. * and the animation parameter under the API methods. The following properties
  66358. * are supported:
  66359. *
  66360. * - `defer`: The animation delay time in milliseconds.
  66361. */
  66362. export interface PlotObvDataLabelsAnimationOptions {
  66363. /**
  66364. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  66365. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  66366. * inherits defer time from the series.animation.defer.
  66367. */
  66368. defer?: number;
  66369. }
  66370. /**
  66371. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  66372. * appearing next to each data point.
  66373. *
  66374. * Since v6.2.0, multiple data labels can be applied to each single point by
  66375. * defining them as an array of configs.
  66376. *
  66377. * In styled mode, the data labels can be styled with the
  66378. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  66379. * example).
  66380. */
  66381. export interface PlotObvDataLabelsOptions {
  66382. /**
  66383. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  66384. * compared to the point. If `right`, the right side of the label should be
  66385. * touching the point. For points with an extent, like columns, the
  66386. * alignments also dictates how to align it inside the box, as given with
  66387. * the inside option. Can be one of `left`, `center` or `right`.
  66388. */
  66389. align?: (AlignValue|null);
  66390. /**
  66391. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  66392. * overlap. To make the labels less sensitive for overlapping, the
  66393. * dataLabels.padding can be set to 0.
  66394. */
  66395. allowOverlap?: boolean;
  66396. /**
  66397. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  66398. * animation when a series is displayed for the `dataLabels`. The animation
  66399. * can also be set as a configuration object. Please note that this option
  66400. * only applies to the initial animation. For other animations, see
  66401. * chart.animation and the animation parameter under the API methods. The
  66402. * following properties are supported:
  66403. *
  66404. * - `defer`: The animation delay time in milliseconds.
  66405. */
  66406. animation?: (boolean|PlotObvDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  66407. /**
  66408. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  66409. * for the data label.
  66410. */
  66411. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  66412. /**
  66413. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  66414. * label. Defaults to `undefined`.
  66415. */
  66416. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66417. /**
  66418. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  66419. * the data label.
  66420. */
  66421. borderRadius?: number;
  66422. /**
  66423. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  66424. * the data label.
  66425. */
  66426. borderWidth?: number;
  66427. /**
  66428. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  66429. * Particularly in styled mode, this can be used to give each series' or
  66430. * point's data label unique styling. In addition to this option, a default
  66431. * color class name is added so that we can give the labels a contrast text
  66432. * shadow.
  66433. */
  66434. className?: string;
  66435. /**
  66436. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  66437. * labels. Defaults to `undefined`. For certain series types, like column or
  66438. * map, the data labels can be drawn inside the points. In this case the
  66439. * data label will be drawn with maximum contrast by default. Additionally,
  66440. * it will be given a `text-outline` style with the opposite color, to
  66441. * further increase the contrast. This can be overridden by setting the
  66442. * `text-outline` style to `none` in the `dataLabels.style` option.
  66443. */
  66444. color?: (ColorString|GradientColorObject|PatternObject);
  66445. /**
  66446. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  66447. * are outside the plot area. By default, the data label is moved inside the
  66448. * plot area according to the overflow option.
  66449. */
  66450. crop?: boolean;
  66451. /**
  66452. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  66453. * labels until the initial series animation has finished. Setting to
  66454. * `false` renders the data label immediately. If set to `true` inherits the
  66455. * defer time set in plotOptions.series.animation. If set to a number, a
  66456. * defer time is specified in milliseconds.
  66457. */
  66458. defer?: (boolean|number);
  66459. /**
  66460. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  66461. * labels.
  66462. */
  66463. enabled?: boolean;
  66464. /**
  66465. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  66466. * of which data labels to display. The declarative filter is designed for
  66467. * use when callback functions are not available, like when the chart
  66468. * options require a pure JSON structure or for use with graphical editors.
  66469. * For programmatic control, use the `formatter` instead, and return
  66470. * `undefined` to disable a single data label.
  66471. */
  66472. filter?: DataLabelsFilterOptionsObject;
  66473. /**
  66474. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  66475. * label. Available variables are the same as for `formatter`.
  66476. */
  66477. format?: string;
  66478. /**
  66479. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  66480. * format the data label. Note that if a `format` is defined, the format
  66481. * takes precedence and the formatter is ignored.
  66482. */
  66483. formatter?: DataLabelsFormatterCallbackFunction;
  66484. /**
  66485. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  66486. * columns or map areas, whether to align the data label inside the box or
  66487. * to the actual value point. Defaults to `false` in most cases, `true` in
  66488. * stacked columns.
  66489. */
  66490. inside?: boolean;
  66491. /**
  66492. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  66493. * of null. Works analogously to format. `nullFormat` can be applied only to
  66494. * series which support displaying null points.
  66495. */
  66496. nullFormat?: (boolean|string);
  66497. /**
  66498. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  66499. * that defines formatting for points with the value of null. Works
  66500. * analogously to formatter. `nullPointFormatter` can be applied only to
  66501. * series which support displaying null points.
  66502. */
  66503. nullFormatter?: DataLabelsFormatterCallbackFunction;
  66504. /**
  66505. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  66506. * flow outside the plot area. The default is `"justify"`, which aligns them
  66507. * inside the plot area. For columns and bars, this means it will be moved
  66508. * inside the bar. To display data labels outside the plot area, set `crop`
  66509. * to `false` and `overflow` to `"allow"`.
  66510. */
  66511. overflow?: DataLabelsOverflowValue;
  66512. /**
  66513. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  66514. * the `backgroundColor` is set, this is the padding within the box.
  66515. */
  66516. padding?: number;
  66517. /**
  66518. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  66519. * points. If `center` alignment is not possible, it defaults to `right`.
  66520. */
  66521. position?: AlignValue;
  66522. /**
  66523. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  66524. * that due to a more complex structure, backgrounds, borders and padding
  66525. * will be lost on a rotated data label.
  66526. */
  66527. rotation?: number;
  66528. /**
  66529. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  66530. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  66531. * an object configuration containing `color`, `offsetX`, `offsetY`,
  66532. * `opacity` and `width`.
  66533. */
  66534. shadow?: (boolean|ShadowOptionsObject);
  66535. /**
  66536. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  66537. * the border around the label. Symbols are predefined functions on the
  66538. * Renderer object.
  66539. */
  66540. shape?: string;
  66541. /**
  66542. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  66543. * default `color` setting is `"contrast"`, which is a pseudo color that
  66544. * Highcharts picks up and applies the maximum contrast to the underlying
  66545. * point item, for example the bar in a bar chart.
  66546. *
  66547. * The `textOutline` is a pseudo property that applies an outline of the
  66548. * given width with the given color, which by default is the maximum
  66549. * contrast to the text. So a bright text color will result in a black text
  66550. * outline for maximum readability on a mixed background. In some cases,
  66551. * especially with grayscale text, the text outline doesn't work well, in
  66552. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  66553. * is true, the `textOutline` will not be picked up. In this, case, the same
  66554. * effect can be acheived through the `text-shadow` CSS property.
  66555. *
  66556. * For some series types, where each point has an extent, like for example
  66557. * tree maps, the data label may overflow the point. There are two
  66558. * strategies for handling overflow. By default, the text will wrap to
  66559. * multiple lines. The other strategy is to set `style.textOverflow` to
  66560. * `ellipsis`, which will keep the text on one line plus it will break
  66561. * inside long words.
  66562. */
  66563. style?: CSSObject;
  66564. /**
  66565. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  66566. * should follow marker's shape. Border and background are disabled for a
  66567. * label that follows a path.
  66568. *
  66569. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  66570. * to true will disable this option.
  66571. */
  66572. textPath?: DataLabelsTextPathOptionsObject;
  66573. /**
  66574. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  66575. * the labels.
  66576. */
  66577. useHTML?: boolean;
  66578. /**
  66579. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  66580. * label. Can be one of `top`, `middle` or `bottom`. The default value
  66581. * depends on the data, for instance in a column chart, the label is above
  66582. * positive values and below negative values.
  66583. */
  66584. verticalAlign?: (VerticalAlignValue|null);
  66585. /**
  66586. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  66587. * label relative to the point in pixels.
  66588. */
  66589. x?: number;
  66590. /**
  66591. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  66592. * label relative to the point in pixels.
  66593. */
  66594. y?: number;
  66595. /**
  66596. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  66597. * The default Z index puts it above the series. Use a Z index of 2 to
  66598. * display it behind the series.
  66599. */
  66600. z?: number;
  66601. }
  66602. /**
  66603. * (Highcharts, Highstock) Options for the series data sorting.
  66604. */
  66605. export interface PlotObvDataSortingOptions {
  66606. /**
  66607. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  66608. * Use xAxis.reversed to change the sorting order.
  66609. */
  66610. enabled?: boolean;
  66611. /**
  66612. * (Highcharts, Highstock) Whether to allow matching points by name in an
  66613. * update. If this option is disabled, points will be matched by order.
  66614. */
  66615. matchByName?: boolean;
  66616. /**
  66617. * (Highcharts, Highstock) Determines what data value should be used to sort
  66618. * by.
  66619. */
  66620. sortKey?: string;
  66621. }
  66622. /**
  66623. * (Highstock) On-Balance Volume (OBV) technical indicator. This series requires
  66624. * the `linkedTo` option to be set and should be loaded after the
  66625. * `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
  66626. * also should be linked the volume series.
  66627. *
  66628. * In TypeScript the type option must always be set.
  66629. *
  66630. * Configuration options for the series are given in three levels:
  66631. *
  66632. * 1. Options for all series in a chart are defined in the plotOptions.series
  66633. * object.
  66634. *
  66635. * 2. Options for all `obv` series are defined in plotOptions.obv.
  66636. *
  66637. * 3. Options for one single series are given in the series instance array. (see
  66638. * online documentation for example)
  66639. */
  66640. export interface PlotObvOptions {
  66641. /**
  66642. * (Highstock) Accessibility options for a series.
  66643. */
  66644. accessibility?: SeriesAccessibilityOptionsObject;
  66645. /**
  66646. * (Highstock) Allow this series' points to be selected by clicking on the
  66647. * graphic (columns, point markers, pie slices, map areas etc).
  66648. *
  66649. * The selected points can be handled by point select and unselect events,
  66650. * or collectively by the getSelectedPoints function.
  66651. *
  66652. * And alternative way of selecting points is through dragging.
  66653. */
  66654. allowPointSelect?: boolean;
  66655. /**
  66656. * (Highstock) Enable or disable the initial animation when a series is
  66657. * displayed. The animation can also be set as a configuration object.
  66658. * Please note that this option only applies to the initial animation of the
  66659. * series itself. For other animations, see chart.animation and the
  66660. * animation parameter under the API methods. The following properties are
  66661. * supported:
  66662. *
  66663. * - `defer`: The animation delay time in milliseconds.
  66664. *
  66665. * - `duration`: The duration of the animation in milliseconds.
  66666. *
  66667. * - `easing`: Can be a string reference to an easing function set on the
  66668. * `Math` object or a function. See the _Custom easing function_ demo below.
  66669. *
  66670. * Due to poor performance, animation is disabled in old IE browsers for
  66671. * several chart types.
  66672. */
  66673. animation?: (boolean|PlotObvAnimationOptions|Partial<AnimationOptionsObject>);
  66674. /**
  66675. * (Highstock) For some series, there is a limit that shuts down initial
  66676. * animation by default when the total number of points in the chart is too
  66677. * high. For example, for a column chart and its derivatives, animation does
  66678. * not run if there is more than 250 points totally. To disable this cap,
  66679. * set `animationLimit` to `Infinity`.
  66680. */
  66681. animationLimit?: number;
  66682. /**
  66683. * (Highstock) Sets the color blending in the boost module.
  66684. */
  66685. boostBlending?: OptionsBoostBlendingValue;
  66686. /**
  66687. * (Highstock) Set the point threshold for when a series should enter boost
  66688. * mode.
  66689. *
  66690. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  66691. * there are 2000 or more points in the series.
  66692. *
  66693. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  66694. * it to 1 will force boosting.
  66695. *
  66696. * Note that the cropThreshold also affects this setting. When zooming in on
  66697. * a series that has fewer points than the `cropThreshold`, all points are
  66698. * rendered although outside the visible plot area, and the `boostThreshold`
  66699. * won't take effect.
  66700. */
  66701. boostThreshold?: number;
  66702. /**
  66703. * (Highmaps) The border color of the map areas.
  66704. *
  66705. * In styled mode, the border stroke is given in the `.highcharts-point`
  66706. * class.
  66707. */
  66708. borderColor?: (ColorString|GradientColorObject|PatternObject);
  66709. /**
  66710. * (Highmaps) The border width of each map area.
  66711. *
  66712. * In styled mode, the border stroke width is given in the
  66713. * `.highcharts-point` class.
  66714. */
  66715. borderWidth?: number;
  66716. /**
  66717. * (Highstock) An additional class name to apply to the series' graphical
  66718. * elements. This option does not replace default class names of the
  66719. * graphical element.
  66720. */
  66721. className?: string;
  66722. /**
  66723. * (Highstock) Disable this option to allow series rendering in the whole
  66724. * plotting area.
  66725. *
  66726. * **Note:** Clipping should be always enabled when chart.zoomType is set
  66727. */
  66728. clip?: boolean;
  66729. /**
  66730. * (Highstock) The main color of the series. In line type series it applies
  66731. * to the line and the point markers unless otherwise specified. In bar type
  66732. * series it applies to the bars unless a color is specified per point. The
  66733. * default value is pulled from the `options.colors` array.
  66734. *
  66735. * In styled mode, the color can be defined by the colorIndex option. Also,
  66736. * the series color can be set with the `.highcharts-series`,
  66737. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  66738. * `.highcharts-series-{n}` class, or individual classes given by the
  66739. * `className` option.
  66740. */
  66741. color?: (ColorString|GradientColorObject|PatternObject);
  66742. /**
  66743. * (Highstock) Styled mode only. A specific color index to use for the
  66744. * series, so its graphic representations are given the class name
  66745. * `highcharts-color-{n}`.
  66746. */
  66747. colorIndex?: number;
  66748. /**
  66749. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  66750. * used to calculate point color if `colorAxis` is used. Requires to set
  66751. * `min` and `max` if some custom point property is used or if approximation
  66752. * for data grouping is set to `'sum'`.
  66753. */
  66754. colorKey?: string;
  66755. /**
  66756. * (Highstock) Compare the values of the series against the first non-null,
  66757. * non- zero value in the visible range. The y axis will show percentage or
  66758. * absolute change depending on whether `compare` is set to `"percent"` or
  66759. * `"value"`. When this is applied to multiple series, it allows comparing
  66760. * the development of the series against each other. Adds a `change` field
  66761. * to every point object.
  66762. */
  66763. compare?: string;
  66764. /**
  66765. * (Highstock) When compare is `percent`, this option dictates whether to
  66766. * use 0 or 100 as the base of comparison.
  66767. */
  66768. compareBase?: (0|100);
  66769. /**
  66770. * (Highstock) Defines if comparison should start from the first point
  66771. * within the visible range or should start from the first point **before**
  66772. * the range.
  66773. *
  66774. * In other words, this flag determines if first point within the visible
  66775. * range will have 0% (`compareStart=true`) or should have been already
  66776. * calculated according to the previous point (`compareStart=false`).
  66777. */
  66778. compareStart?: boolean;
  66779. /**
  66780. * (Highstock) Whether to compare indicator to the main series values or
  66781. * indicator values.
  66782. */
  66783. compareToMain?: boolean;
  66784. /**
  66785. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  66786. * series plot across the extremes.
  66787. */
  66788. connectEnds?: boolean;
  66789. /**
  66790. * (Highcharts, Highstock) Whether to connect a graph line across null
  66791. * points, or render a gap between the two points on either side of the
  66792. * null.
  66793. */
  66794. connectNulls?: boolean;
  66795. /**
  66796. * (Gantt) Override Pathfinder connector options for a series. Requires
  66797. * Highcharts Gantt to be loaded.
  66798. */
  66799. connectors?: SeriesConnectorsOptionsObject;
  66800. /**
  66801. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  66802. * rounded to its nearest pixel in order to render sharp on screen. In some
  66803. * cases, when there are a lot of densely packed columns, this leads to
  66804. * visible difference in column widths or distance between columns. In these
  66805. * cases, setting `crisp` to `false` may look better, even though each
  66806. * column is rendered blurry.
  66807. */
  66808. crisp?: boolean;
  66809. /**
  66810. * (Highcharts, Highstock) When the series contains less points than the
  66811. * crop threshold, all points are drawn, even if the points fall outside the
  66812. * visible plot area at the current zoom. The advantage of drawing all
  66813. * points (including markers and columns), is that animation is performed on
  66814. * updates. On the other hand, when the series contains more points than the
  66815. * crop threshold, the series data is cropped to only contain points that
  66816. * fall within the plot area. The advantage of cropping away invisible
  66817. * points is to increase performance on large series.
  66818. */
  66819. cropThreshold?: number;
  66820. /**
  66821. * (Highstock) You can set the cursor to "pointer" if you have click events
  66822. * attached to the series, to signal to the user that the points and lines
  66823. * can be clicked.
  66824. *
  66825. * In styled mode, the series cursor can be set with the same classes as
  66826. * listed under series.color.
  66827. */
  66828. cursor?: (string|CursorValue);
  66829. /**
  66830. * (Highstock) A reserved subspace to store options and values for
  66831. * customized functionality. Here you can add additional data for your own
  66832. * event callbacks and formatter callbacks.
  66833. */
  66834. custom?: Dictionary<any>;
  66835. /**
  66836. * (Highstock) Name of the dash style to use for the graph, or for some
  66837. * series types the outline of each shape.
  66838. *
  66839. * In styled mode, the stroke dash-array can be set with the same classes as
  66840. * listed under series.color.
  66841. */
  66842. dashStyle?: DashStyleValue;
  66843. /**
  66844. * (Highstock) Data grouping is the concept of sampling the data values into
  66845. * larger blocks in order to ease readability and increase performance of
  66846. * the JavaScript charts. Highcharts Stock by default applies data grouping
  66847. * when the points become closer than a certain pixel value, determined by
  66848. * the `groupPixelWidth` option.
  66849. *
  66850. * If data grouping is applied, the grouping information of grouped points
  66851. * can be read from the Point.dataGroup. If point options other than the
  66852. * data itself are set, for example `name` or `color` or custom properties,
  66853. * the grouping logic doesn't know how to group it. In this case the options
  66854. * of the first point instance are copied over to the group point. This can
  66855. * be altered through a custom `approximation` callback function.
  66856. */
  66857. dataGrouping?: DataGroupingOptionsObject;
  66858. /**
  66859. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  66860. * labels, appearing next to each data point.
  66861. *
  66862. * Since v6.2.0, multiple data labels can be applied to each single point by
  66863. * defining them as an array of configs.
  66864. *
  66865. * In styled mode, the data labels can be styled with the
  66866. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  66867. * (see example).
  66868. */
  66869. dataLabels?: (PlotObvDataLabelsOptions|Array<PlotObvDataLabelsOptions>);
  66870. /**
  66871. * (Highcharts, Highstock) Options for the series data sorting.
  66872. */
  66873. dataSorting?: (DataSortingOptionsObject|PlotObvDataSortingOptions);
  66874. /**
  66875. * (Highstock) A description of the series to add to the screen reader
  66876. * information about the series.
  66877. */
  66878. description?: string;
  66879. /**
  66880. * (Highstock) Enable or disable the mouse tracking for a specific series.
  66881. * This includes point tooltips and click events on graphs and points. For
  66882. * large datasets it improves performance.
  66883. */
  66884. enableMouseTracking?: boolean;
  66885. /**
  66886. * (Highstock) General event handlers for the series items. These event
  66887. * hooks can also be attached to the series at run time using the
  66888. * `Highcharts.addEvent` function.
  66889. */
  66890. events?: SeriesEventsOptionsObject;
  66891. /**
  66892. * (Highstock) Determines whether the series should look for the nearest
  66893. * point in both dimensions or just the x-dimension when hovering the
  66894. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  66895. * series. If the data has duplicate x-values, it is recommended to set this
  66896. * to `'xy'` to allow hovering over all points.
  66897. *
  66898. * Applies only to series types using nearest neighbor search (not direct
  66899. * hover) for tooltip.
  66900. */
  66901. findNearestPointBy?: OptionsFindNearestPointByValue;
  66902. /**
  66903. * (Highstock) Defines when to display a gap in the graph, together with the
  66904. * gapUnit option.
  66905. *
  66906. * In case when `dataGrouping` is enabled, points can be grouped into a
  66907. * larger time span. This can make the grouped points to have a greater
  66908. * distance than the absolute value of `gapSize` property, which will result
  66909. * in disappearing graph completely. To prevent this situation the mentioned
  66910. * distance between grouped points is used instead of previously defined
  66911. * `gapSize`.
  66912. *
  66913. * In practice, this option is most often used to visualize gaps in time
  66914. * series. In a stock chart, intraday data is available for daytime hours,
  66915. * while gaps will appear in nights and weekends.
  66916. */
  66917. gapSize?: number;
  66918. /**
  66919. * (Highstock) Together with gapSize, this option defines where to draw gaps
  66920. * in the graph.
  66921. *
  66922. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  66923. * if the distance between two points is greater than 5 times that of the
  66924. * two closest points, the graph will be broken.
  66925. *
  66926. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  66927. * values, which on a datetime axis is milliseconds. This also applies to
  66928. * the navigator series that inherits gap options from the base series.
  66929. */
  66930. gapUnit?: OptionsGapUnitValue;
  66931. /**
  66932. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  66933. * chart width or only the zoomed area when zooming in on parts of the X
  66934. * axis. By default, the Y axis adjusts to the min and max of the visible
  66935. * data. Cartesian series only.
  66936. */
  66937. getExtremesFromAll?: boolean;
  66938. /**
  66939. * (Highstock) When set to `false` will prevent the series data from being
  66940. * included in any form of data export.
  66941. *
  66942. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  66943. * `includeInCSVExport`.
  66944. */
  66945. includeInDataExport?: boolean;
  66946. /**
  66947. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  66948. * series as possible in a natural way, seeking to avoid other series. The
  66949. * goal of this feature is to make the chart more easily readable, like if a
  66950. * human designer placed the labels in the optimal position.
  66951. *
  66952. * The series labels currently work with series types having a `graph` or an
  66953. * `area`.
  66954. */
  66955. label?: SeriesLabelOptionsObject;
  66956. /**
  66957. * (Highstock) The line marks the last price from all points.
  66958. */
  66959. lastPrice?: SeriesLastPriceOptionsObject;
  66960. /**
  66961. * (Highstock) The line marks the last price from visible range of points.
  66962. */
  66963. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  66964. /**
  66965. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  66966. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  66967. * the ends and bends.
  66968. */
  66969. linecap?: SeriesLinecapValue;
  66970. /**
  66971. * (Highcharts, Highstock) Pixel width of the graph line.
  66972. */
  66973. lineWidth?: number;
  66974. /**
  66975. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  66976. * based on. Required for this indicator.
  66977. */
  66978. linkedTo?: string;
  66979. /**
  66980. * (Highstock) Options for the point markers of line-like series. Properties
  66981. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  66982. * appearance of the markers. Other series types, like column series, don't
  66983. * have markers, but have visual options on the series level instead.
  66984. *
  66985. * In styled mode, the markers can be styled with the `.highcharts-point`,
  66986. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  66987. */
  66988. marker?: PointMarkerOptionsObject;
  66989. /**
  66990. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  66991. * If not set, it will be based on a technical indicator type and default
  66992. * params.
  66993. */
  66994. name?: string;
  66995. /**
  66996. * (Highstock) The color for the parts of the graph or points that are below
  66997. * the threshold. Note that `zones` takes precedence over the negative
  66998. * color. Using `negativeColor` is equivalent to applying a zone with value
  66999. * of 0.
  67000. */
  67001. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  67002. /**
  67003. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  67004. * dataLabels.
  67005. */
  67006. opacity?: number;
  67007. /**
  67008. * (Highstock) Paramters used in calculation of regression series' points.
  67009. */
  67010. params?: PlotObvParamsOptions;
  67011. /**
  67012. * (Highstock) Properties for each single point.
  67013. */
  67014. point?: PlotSeriesPointOptions;
  67015. /**
  67016. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  67017. * individual series. Overrides the chart wide configuration.
  67018. */
  67019. pointDescriptionFormatter?: Function;
  67020. /**
  67021. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  67022. * true, the checkbox next to the series name in the legend will be checked
  67023. * for a selected series.
  67024. */
  67025. selected?: boolean;
  67026. /**
  67027. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  67028. * the shadow can be an object configuration containing `color`, `offsetX`,
  67029. * `offsetY`, `opacity` and `width`.
  67030. */
  67031. shadow?: (boolean|ShadowOptionsObject);
  67032. /**
  67033. * (Highstock) If true, a checkbox is displayed next to the legend item to
  67034. * allow selecting the series. The state of the checkbox is determined by
  67035. * the `selected` option.
  67036. */
  67037. showCheckbox?: boolean;
  67038. /**
  67039. * (Highstock) Whether to display this particular series or series type in
  67040. * the legend. Standalone series are shown in legend by default, and linked
  67041. * series are not. Since v7.2.0 it is possible to show series that use
  67042. * colorAxis by setting this option to `true`.
  67043. */
  67044. showInLegend?: boolean;
  67045. /**
  67046. * (Highstock) If set to `true`, the accessibility module will skip past the
  67047. * points in this series for keyboard navigation.
  67048. */
  67049. skipKeyboardNavigation?: boolean;
  67050. /**
  67051. * (Highcharts, Highstock) When this is true, the series will not cause the
  67052. * Y axis to cross the zero plane (or threshold option) unless the data
  67053. * actually crosses the plane.
  67054. *
  67055. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  67056. * make the Y axis show negative values according to the `minPadding`
  67057. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  67058. */
  67059. softThreshold?: boolean;
  67060. states?: SeriesStatesOptionsObject;
  67061. /**
  67062. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  67063. * values are `left`, `center` and `right`.
  67064. */
  67065. step?: OptionsStepValue;
  67066. /**
  67067. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  67068. * event on a series isn't triggered until the mouse moves over another
  67069. * series, or out of the plot area. When false, the `mouseOut` event on a
  67070. * series is triggered when the mouse leaves the area around the series'
  67071. * graph or markers. This also implies the tooltip when not shared. When
  67072. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  67073. * be hidden when moving the mouse between series. Defaults to true for line
  67074. * and area type series, but to false for columns, pies etc.
  67075. *
  67076. * **Note:** The boost module will force this option because of technical
  67077. * limitations.
  67078. */
  67079. stickyTracking?: boolean;
  67080. /**
  67081. * (Highcharts, Highstock) The threshold, also called zero level or base
  67082. * level. For line type series this is only used in conjunction with
  67083. * negativeColor.
  67084. */
  67085. threshold?: (number|null);
  67086. /**
  67087. * (Highstock) A configuration object for the tooltip rendering of each
  67088. * single series. Properties are inherited from tooltip, but only the
  67089. * following properties can be defined on a series level.
  67090. */
  67091. tooltip?: SeriesTooltipOptionsObject;
  67092. /**
  67093. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  67094. * is longer than this, only one dimensional arrays of numbers, or two
  67095. * dimensional arrays with x and y values are allowed. Also, only the first
  67096. * point is tested, and the rest are assumed to be the same format. This
  67097. * saves expensive data checking and indexing in long series. Set it to `0`
  67098. * disable.
  67099. *
  67100. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  67101. * two dimensional arrays are allowed.
  67102. */
  67103. turboThreshold?: number;
  67104. /**
  67105. * (Highstock) Set the initial visibility of the series.
  67106. */
  67107. visible?: boolean;
  67108. /**
  67109. * (Highmaps) Define the z index of the series.
  67110. */
  67111. zIndex?: number;
  67112. /**
  67113. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  67114. */
  67115. zoneAxis?: string;
  67116. /**
  67117. * (Highcharts, Highstock) An array defining zones within a series. Zones
  67118. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  67119. * the `zoneAxis` option. The zone definitions have to be in ascending order
  67120. * regarding to the value.
  67121. *
  67122. * In styled mode, the color zones are styled with the
  67123. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  67124. * option (view live demo).
  67125. */
  67126. zones?: Array<SeriesZonesOptionsObject>;
  67127. }
  67128. /**
  67129. * (Highstock) Paramters used in calculation of regression series' points.
  67130. */
  67131. export interface PlotObvParamsOptions {
  67132. index?: string;
  67133. period?: string;
  67134. /**
  67135. * (Highstock) The id of another series to use its data as volume data for
  67136. * the indiator calculation.
  67137. */
  67138. volumeSeriesID?: string;
  67139. }
  67140. /**
  67141. * (Highstock) Enable or disable the initial animation when a series is
  67142. * displayed. The animation can also be set as a configuration object. Please
  67143. * note that this option only applies to the initial animation of the series
  67144. * itself. For other animations, see chart.animation and the animation parameter
  67145. * under the API methods. The following properties are supported:
  67146. *
  67147. * - `defer`: The animation delay time in milliseconds.
  67148. *
  67149. * - `duration`: The duration of the animation in milliseconds.
  67150. *
  67151. * - `easing`: Can be a string reference to an easing function set on the `Math`
  67152. * object or a function. See the _Custom easing function_ demo below.
  67153. *
  67154. * Due to poor performance, animation is disabled in old IE browsers for several
  67155. * chart types.
  67156. */
  67157. export interface PlotOhlcAnimationOptions {
  67158. defer?: number;
  67159. }
  67160. /**
  67161. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67162. * animation when a series is displayed for the `dataLabels`. The animation can
  67163. * also be set as a configuration object. Please note that this option only
  67164. * applies to the initial animation. For other animations, see chart.animation
  67165. * and the animation parameter under the API methods. The following properties
  67166. * are supported:
  67167. *
  67168. * - `defer`: The animation delay time in milliseconds.
  67169. */
  67170. export interface PlotOhlcDataLabelsAnimationOptions {
  67171. /**
  67172. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  67173. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  67174. * inherits defer time from the series.animation.defer.
  67175. */
  67176. defer?: number;
  67177. }
  67178. /**
  67179. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  67180. * appearing next to each data point.
  67181. *
  67182. * Since v6.2.0, multiple data labels can be applied to each single point by
  67183. * defining them as an array of configs.
  67184. *
  67185. * In styled mode, the data labels can be styled with the
  67186. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  67187. * example).
  67188. */
  67189. export interface PlotOhlcDataLabelsOptions {
  67190. /**
  67191. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  67192. * compared to the point. If `right`, the right side of the label should be
  67193. * touching the point. For points with an extent, like columns, the
  67194. * alignments also dictates how to align it inside the box, as given with
  67195. * the inside option. Can be one of `left`, `center` or `right`.
  67196. */
  67197. align?: string;
  67198. /**
  67199. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  67200. * overlap. To make the labels less sensitive for overlapping, the
  67201. * dataLabels.padding can be set to 0.
  67202. */
  67203. allowOverlap?: boolean;
  67204. /**
  67205. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  67206. * animation when a series is displayed for the `dataLabels`. The animation
  67207. * can also be set as a configuration object. Please note that this option
  67208. * only applies to the initial animation. For other animations, see
  67209. * chart.animation and the animation parameter under the API methods. The
  67210. * following properties are supported:
  67211. *
  67212. * - `defer`: The animation delay time in milliseconds.
  67213. */
  67214. animation?: (boolean|PlotOhlcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  67215. /**
  67216. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  67217. * for the data label.
  67218. */
  67219. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  67220. /**
  67221. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  67222. * label. Defaults to `undefined`.
  67223. */
  67224. borderColor?: (ColorString|GradientColorObject|PatternObject);
  67225. /**
  67226. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  67227. * the data label.
  67228. */
  67229. borderRadius?: number;
  67230. /**
  67231. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  67232. * the data label.
  67233. */
  67234. borderWidth?: number;
  67235. /**
  67236. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  67237. * Particularly in styled mode, this can be used to give each series' or
  67238. * point's data label unique styling. In addition to this option, a default
  67239. * color class name is added so that we can give the labels a contrast text
  67240. * shadow.
  67241. */
  67242. className?: string;
  67243. /**
  67244. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  67245. * labels. Defaults to `undefined`. For certain series types, like column or
  67246. * map, the data labels can be drawn inside the points. In this case the
  67247. * data label will be drawn with maximum contrast by default. Additionally,
  67248. * it will be given a `text-outline` style with the opposite color, to
  67249. * further increase the contrast. This can be overridden by setting the
  67250. * `text-outline` style to `none` in the `dataLabels.style` option.
  67251. */
  67252. color?: (ColorString|GradientColorObject|PatternObject);
  67253. /**
  67254. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  67255. * are outside the plot area. By default, the data label is moved inside the
  67256. * plot area according to the overflow option.
  67257. */
  67258. crop?: boolean;
  67259. /**
  67260. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  67261. * labels until the initial series animation has finished. Setting to
  67262. * `false` renders the data label immediately. If set to `true` inherits the
  67263. * defer time set in plotOptions.series.animation. If set to a number, a
  67264. * defer time is specified in milliseconds.
  67265. */
  67266. defer?: (boolean|number);
  67267. /**
  67268. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  67269. * labels.
  67270. */
  67271. enabled?: boolean;
  67272. /**
  67273. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  67274. * of which data labels to display. The declarative filter is designed for
  67275. * use when callback functions are not available, like when the chart
  67276. * options require a pure JSON structure or for use with graphical editors.
  67277. * For programmatic control, use the `formatter` instead, and return
  67278. * `undefined` to disable a single data label.
  67279. */
  67280. filter?: DataLabelsFilterOptionsObject;
  67281. /**
  67282. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  67283. * label. Available variables are the same as for `formatter`.
  67284. */
  67285. format?: string;
  67286. /**
  67287. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  67288. * format the data label. Note that if a `format` is defined, the format
  67289. * takes precedence and the formatter is ignored.
  67290. */
  67291. formatter?: DataLabelsFormatterCallbackFunction;
  67292. /**
  67293. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  67294. * columns or map areas, whether to align the data label inside the box or
  67295. * to the actual value point. Defaults to `false` in most cases, `true` in
  67296. * stacked columns.
  67297. */
  67298. inside?: boolean;
  67299. /**
  67300. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  67301. * of null. Works analogously to format. `nullFormat` can be applied only to
  67302. * series which support displaying null points.
  67303. */
  67304. nullFormat?: (boolean|string);
  67305. /**
  67306. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  67307. * that defines formatting for points with the value of null. Works
  67308. * analogously to formatter. `nullPointFormatter` can be applied only to
  67309. * series which support displaying null points.
  67310. */
  67311. nullFormatter?: DataLabelsFormatterCallbackFunction;
  67312. /**
  67313. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  67314. * flow outside the plot area. The default is `"justify"`, which aligns them
  67315. * inside the plot area. For columns and bars, this means it will be moved
  67316. * inside the bar. To display data labels outside the plot area, set `crop`
  67317. * to `false` and `overflow` to `"allow"`.
  67318. */
  67319. overflow?: DataLabelsOverflowValue;
  67320. /**
  67321. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  67322. * the `backgroundColor` is set, this is the padding within the box.
  67323. */
  67324. padding?: number;
  67325. /**
  67326. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  67327. * points. If `center` alignment is not possible, it defaults to `right`.
  67328. */
  67329. position?: AlignValue;
  67330. /**
  67331. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  67332. * that due to a more complex structure, backgrounds, borders and padding
  67333. * will be lost on a rotated data label.
  67334. */
  67335. rotation?: number;
  67336. /**
  67337. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  67338. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  67339. * an object configuration containing `color`, `offsetX`, `offsetY`,
  67340. * `opacity` and `width`.
  67341. */
  67342. shadow?: (boolean|ShadowOptionsObject);
  67343. /**
  67344. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  67345. * the border around the label. Symbols are predefined functions on the
  67346. * Renderer object.
  67347. */
  67348. shape?: string;
  67349. /**
  67350. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  67351. * default `color` setting is `"contrast"`, which is a pseudo color that
  67352. * Highcharts picks up and applies the maximum contrast to the underlying
  67353. * point item, for example the bar in a bar chart.
  67354. *
  67355. * The `textOutline` is a pseudo property that applies an outline of the
  67356. * given width with the given color, which by default is the maximum
  67357. * contrast to the text. So a bright text color will result in a black text
  67358. * outline for maximum readability on a mixed background. In some cases,
  67359. * especially with grayscale text, the text outline doesn't work well, in
  67360. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  67361. * is true, the `textOutline` will not be picked up. In this, case, the same
  67362. * effect can be acheived through the `text-shadow` CSS property.
  67363. *
  67364. * For some series types, where each point has an extent, like for example
  67365. * tree maps, the data label may overflow the point. There are two
  67366. * strategies for handling overflow. By default, the text will wrap to
  67367. * multiple lines. The other strategy is to set `style.textOverflow` to
  67368. * `ellipsis`, which will keep the text on one line plus it will break
  67369. * inside long words.
  67370. */
  67371. style?: CSSObject;
  67372. /**
  67373. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  67374. * should follow marker's shape. Border and background are disabled for a
  67375. * label that follows a path.
  67376. *
  67377. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  67378. * to true will disable this option.
  67379. */
  67380. textPath?: DataLabelsTextPathOptionsObject;
  67381. /**
  67382. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  67383. * the labels.
  67384. */
  67385. useHTML?: boolean;
  67386. /**
  67387. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  67388. * label. Can be one of `top`, `middle` or `bottom`. The default value
  67389. * depends on the data, for instance in a column chart, the label is above
  67390. * positive values and below negative values.
  67391. */
  67392. verticalAlign?: string;
  67393. /**
  67394. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  67395. * label relative to the point in pixels.
  67396. */
  67397. x?: number;
  67398. /**
  67399. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  67400. * label relative to the point in pixels.
  67401. */
  67402. y?: number;
  67403. /**
  67404. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  67405. * The default Z index puts it above the series. Use a Z index of 2 to
  67406. * display it behind the series.
  67407. */
  67408. z?: number;
  67409. }
  67410. /**
  67411. * (Highcharts, Highstock) Options for the series data sorting.
  67412. */
  67413. export interface PlotOhlcDataSortingOptions {
  67414. /**
  67415. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  67416. * Use xAxis.reversed to change the sorting order.
  67417. */
  67418. enabled?: boolean;
  67419. /**
  67420. * (Highcharts, Highstock) Whether to allow matching points by name in an
  67421. * update. If this option is disabled, points will be matched by order.
  67422. */
  67423. matchByName?: boolean;
  67424. /**
  67425. * (Highcharts, Highstock) Determines what data value should be used to sort
  67426. * by.
  67427. */
  67428. sortKey?: string;
  67429. }
  67430. /**
  67431. * (Highstock) Style options for the guide box. The guide box has one state by
  67432. * default, the `default` state.
  67433. */
  67434. export interface PlotOhlcDragDropGuideBoxOptions {
  67435. /**
  67436. * (Highstock) Style options for the guide box default state.
  67437. */
  67438. default?: DragDropGuideBoxOptionsObject;
  67439. }
  67440. /**
  67441. * (Highstock) An OHLC chart is a style of financial chart used to describe
  67442. * price movements over time. It displays open, high, low and close values per
  67443. * data point.
  67444. *
  67445. * In TypeScript the type option must always be set.
  67446. *
  67447. * Configuration options for the series are given in three levels:
  67448. *
  67449. * 1. Options for all series in a chart are defined in the plotOptions.series
  67450. * object.
  67451. *
  67452. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  67453. *
  67454. * 3. Options for one single series are given in the series instance array. (see
  67455. * online documentation for example)
  67456. */
  67457. export interface PlotOhlcOptions {
  67458. /**
  67459. * (Highstock) Accessibility options for a series.
  67460. */
  67461. accessibility?: SeriesAccessibilityOptionsObject;
  67462. /**
  67463. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  67464. * rendered. If `true`, areas which don't correspond to a data point, are
  67465. * rendered as `null` points. If `false`, those areas are skipped.
  67466. */
  67467. allAreas?: boolean;
  67468. /**
  67469. * (Highstock) Allow this series' points to be selected by clicking on the
  67470. * graphic (columns, point markers, pie slices, map areas etc).
  67471. *
  67472. * The selected points can be handled by point select and unselect events,
  67473. * or collectively by the getSelectedPoints function.
  67474. *
  67475. * And alternative way of selecting points is through dragging.
  67476. */
  67477. allowPointSelect?: boolean;
  67478. /**
  67479. * (Highstock) Enable or disable the initial animation when a series is
  67480. * displayed. The animation can also be set as a configuration object.
  67481. * Please note that this option only applies to the initial animation of the
  67482. * series itself. For other animations, see chart.animation and the
  67483. * animation parameter under the API methods. The following properties are
  67484. * supported:
  67485. *
  67486. * - `defer`: The animation delay time in milliseconds.
  67487. *
  67488. * - `duration`: The duration of the animation in milliseconds.
  67489. *
  67490. * - `easing`: Can be a string reference to an easing function set on the
  67491. * `Math` object or a function. See the _Custom easing function_ demo below.
  67492. *
  67493. * Due to poor performance, animation is disabled in old IE browsers for
  67494. * several chart types.
  67495. */
  67496. animation?: (boolean|PlotOhlcAnimationOptions|Partial<AnimationOptionsObject>);
  67497. /**
  67498. * (Highstock) For some series, there is a limit that shuts down initial
  67499. * animation by default when the total number of points in the chart is too
  67500. * high. For example, for a column chart and its derivatives, animation does
  67501. * not run if there is more than 250 points totally. To disable this cap,
  67502. * set `animationLimit` to `Infinity`.
  67503. */
  67504. animationLimit?: number;
  67505. /**
  67506. * (Highstock) Sets the color blending in the boost module.
  67507. */
  67508. boostBlending?: OptionsBoostBlendingValue;
  67509. /**
  67510. * (Highstock) Set the point threshold for when a series should enter boost
  67511. * mode.
  67512. *
  67513. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  67514. * there are 2000 or more points in the series.
  67515. *
  67516. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  67517. * it to 1 will force boosting.
  67518. *
  67519. * Note that the cropThreshold also affects this setting. When zooming in on
  67520. * a series that has fewer points than the `cropThreshold`, all points are
  67521. * rendered although outside the visible plot area, and the `boostThreshold`
  67522. * won't take effect.
  67523. */
  67524. boostThreshold?: number;
  67525. /**
  67526. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  67527. * the category, ignoring null or missing points. When `false`, space will
  67528. * be reserved for null or missing points.
  67529. */
  67530. centerInCategory?: boolean;
  67531. /**
  67532. * (Highstock) An additional class name to apply to the series' graphical
  67533. * elements. This option does not replace default class names of the
  67534. * graphical element.
  67535. */
  67536. className?: string;
  67537. /**
  67538. * (Highstock) Disable this option to allow series rendering in the whole
  67539. * plotting area.
  67540. *
  67541. * **Note:** Clipping should be always enabled when chart.zoomType is set
  67542. */
  67543. clip?: boolean;
  67544. /**
  67545. * (Highstock) The main color of the series. In line type series it applies
  67546. * to the line and the point markers unless otherwise specified. In bar type
  67547. * series it applies to the bars unless a color is specified per point. The
  67548. * default value is pulled from the `options.colors` array.
  67549. *
  67550. * In styled mode, the color can be defined by the colorIndex option. Also,
  67551. * the series color can be set with the `.highcharts-series`,
  67552. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  67553. * `.highcharts-series-{n}` class, or individual classes given by the
  67554. * `className` option.
  67555. */
  67556. color?: (ColorString|GradientColorObject|PatternObject);
  67557. /**
  67558. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  67559. * this number defines which colorAxis the particular series is connected
  67560. * to. It refers to either the axis id or the index of the axis in the
  67561. * colorAxis array, with 0 being the first. Set this option to false to
  67562. * prevent a series from connecting to the default color axis.
  67563. *
  67564. * Since v7.2.0 the option can also be an axis id or an axis index instead
  67565. * of a boolean flag.
  67566. */
  67567. colorAxis?: (boolean|number|string);
  67568. /**
  67569. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  67570. * from the global colors or series-specific plotOptions.column.colors
  67571. * collections, this option determines whether the chart should receive one
  67572. * color per series or one color per point.
  67573. *
  67574. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  67575. * and instead this option gives the points individual color class names on
  67576. * the form `highcharts-color-{n}`.
  67577. */
  67578. colorByPoint?: boolean;
  67579. /**
  67580. * (Highstock) Styled mode only. A specific color index to use for the
  67581. * series, so its graphic representations are given the class name
  67582. * `highcharts-color-{n}`.
  67583. */
  67584. colorIndex?: number;
  67585. /**
  67586. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  67587. * used to calculate point color if `colorAxis` is used. Requires to set
  67588. * `min` and `max` if some custom point property is used or if approximation
  67589. * for data grouping is set to `'sum'`.
  67590. */
  67591. colorKey?: string;
  67592. /**
  67593. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  67594. * color set to apply instead of the global colors when colorByPoint is
  67595. * true.
  67596. */
  67597. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  67598. /**
  67599. * (Highstock) Compare the values of the series against the first non-null,
  67600. * non- zero value in the visible range. The y axis will show percentage or
  67601. * absolute change depending on whether `compare` is set to `"percent"` or
  67602. * `"value"`. When this is applied to multiple series, it allows comparing
  67603. * the development of the series against each other. Adds a `change` field
  67604. * to every point object.
  67605. */
  67606. compare?: string;
  67607. /**
  67608. * (Highstock) When compare is `percent`, this option dictates whether to
  67609. * use 0 or 100 as the base of comparison.
  67610. */
  67611. compareBase?: (0|100);
  67612. /**
  67613. * (Highstock) Defines if comparison should start from the first point
  67614. * within the visible range or should start from the first point **before**
  67615. * the range.
  67616. *
  67617. * In other words, this flag determines if first point within the visible
  67618. * range will have 0% (`compareStart=true`) or should have been already
  67619. * calculated according to the previous point (`compareStart=false`).
  67620. */
  67621. compareStart?: boolean;
  67622. /**
  67623. * (Gantt) Override Pathfinder connector options for a series. Requires
  67624. * Highcharts Gantt to be loaded.
  67625. */
  67626. connectors?: SeriesConnectorsOptionsObject;
  67627. /**
  67628. * (Highcharts, Highstock, Gantt) When the series contains less points than
  67629. * the crop threshold, all points are drawn, event if the points fall
  67630. * outside the visible plot area at the current zoom. The advantage of
  67631. * drawing all points (including markers and columns), is that animation is
  67632. * performed on updates. On the other hand, when the series contains more
  67633. * points than the crop threshold, the series data is cropped to only
  67634. * contain points that fall within the plot area. The advantage of cropping
  67635. * away invisible points is to increase performance on large series.
  67636. */
  67637. cropThreshold?: number;
  67638. /**
  67639. * (Highstock) You can set the cursor to "pointer" if you have click events
  67640. * attached to the series, to signal to the user that the points and lines
  67641. * can be clicked.
  67642. *
  67643. * In styled mode, the series cursor can be set with the same classes as
  67644. * listed under series.color.
  67645. */
  67646. cursor?: (string|CursorValue);
  67647. /**
  67648. * (Highstock) A reserved subspace to store options and values for
  67649. * customized functionality. Here you can add additional data for your own
  67650. * event callbacks and formatter callbacks.
  67651. */
  67652. custom?: Dictionary<any>;
  67653. /**
  67654. * (Highstock) Name of the dash style to use for the graph, or for some
  67655. * series types the outline of each shape.
  67656. *
  67657. * In styled mode, the stroke dash-array can be set with the same classes as
  67658. * listed under series.color.
  67659. */
  67660. dashStyle?: DashStyleValue;
  67661. /**
  67662. * (Highstock) Data grouping is the concept of sampling the data values into
  67663. * larger blocks in order to ease readability and increase performance of
  67664. * the JavaScript charts. Highcharts Stock by default applies data grouping
  67665. * when the points become closer than a certain pixel value, determined by
  67666. * the `groupPixelWidth` option.
  67667. *
  67668. * If data grouping is applied, the grouping information of grouped points
  67669. * can be read from the Point.dataGroup. If point options other than the
  67670. * data itself are set, for example `name` or `color` or custom properties,
  67671. * the grouping logic doesn't know how to group it. In this case the options
  67672. * of the first point instance are copied over to the group point. This can
  67673. * be altered through a custom `approximation` callback function.
  67674. */
  67675. dataGrouping?: DataGroupingOptionsObject;
  67676. /**
  67677. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  67678. * labels, appearing next to each data point.
  67679. *
  67680. * Since v6.2.0, multiple data labels can be applied to each single point by
  67681. * defining them as an array of configs.
  67682. *
  67683. * In styled mode, the data labels can be styled with the
  67684. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  67685. * (see example).
  67686. */
  67687. dataLabels?: (PlotOhlcDataLabelsOptions|Array<PlotOhlcDataLabelsOptions>);
  67688. /**
  67689. * (Highcharts, Highstock) Options for the series data sorting.
  67690. */
  67691. dataSorting?: (DataSortingOptionsObject|PlotOhlcDataSortingOptions);
  67692. /**
  67693. * (Highcharts) Depth of the columns in a 3D column chart.
  67694. */
  67695. depth?: number;
  67696. /**
  67697. * (Highstock) A description of the series to add to the screen reader
  67698. * information about the series.
  67699. */
  67700. description?: string;
  67701. /**
  67702. * (Highstock) The draggable-points module allows points to be moved around
  67703. * or modified in the chart. In addition to the options mentioned under the
  67704. * `dragDrop` API structure, the module fires three events, point.dragStart,
  67705. * point.drag and point.drop.
  67706. */
  67707. dragDrop?: SeriesDragDropOptionsObject;
  67708. /**
  67709. * (Highcharts) 3D columns only. The color of the edges. Similar to
  67710. * `borderColor`, except it defaults to the same color as the column.
  67711. */
  67712. edgeColor?: ColorString;
  67713. /**
  67714. * (Highcharts) 3D columns only. The width of the colored edges.
  67715. */
  67716. edgeWidth?: number;
  67717. /**
  67718. * (Highstock) Enable or disable the mouse tracking for a specific series.
  67719. * This includes point tooltips and click events on graphs and points. For
  67720. * large datasets it improves performance.
  67721. */
  67722. enableMouseTracking?: boolean;
  67723. /**
  67724. * (Highstock) General event handlers for the series items. These event
  67725. * hooks can also be attached to the series at run time using the
  67726. * `Highcharts.addEvent` function.
  67727. */
  67728. events?: SeriesEventsOptionsObject;
  67729. /**
  67730. * (Highstock) Determines whether the series should look for the nearest
  67731. * point in both dimensions or just the x-dimension when hovering the
  67732. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  67733. * series. If the data has duplicate x-values, it is recommended to set this
  67734. * to `'xy'` to allow hovering over all points.
  67735. *
  67736. * Applies only to series types using nearest neighbor search (not direct
  67737. * hover) for tooltip.
  67738. */
  67739. findNearestPointBy?: OptionsFindNearestPointByValue;
  67740. /**
  67741. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  67742. * chart width or only the zoomed area when zooming in on parts of the X
  67743. * axis. By default, the Y axis adjusts to the min and max of the visible
  67744. * data. Cartesian series only.
  67745. */
  67746. getExtremesFromAll?: boolean;
  67747. /**
  67748. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  67749. * let them render independent of each other. Non-grouped columns will be
  67750. * laid out individually and overlap each other.
  67751. */
  67752. grouping?: boolean;
  67753. /**
  67754. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  67755. * axis units.
  67756. */
  67757. groupPadding?: number;
  67758. /**
  67759. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  67760. */
  67761. groupZPadding?: number;
  67762. /**
  67763. * (Highstock) When set to `false` will prevent the series data from being
  67764. * included in any form of data export.
  67765. *
  67766. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  67767. * `includeInCSVExport`.
  67768. */
  67769. includeInDataExport?: boolean;
  67770. /**
  67771. * (Highmaps) What property to join the `mapData` to the value data. For
  67772. * example, if joinBy is "code", the mapData items with a specific code is
  67773. * merged into the data with the same code. For maps loaded from GeoJSON,
  67774. * the keys may be held in each point's `properties` object.
  67775. *
  67776. * The joinBy option can also be an array of two values, where the first
  67777. * points to a key in the `mapData`, and the second points to another key in
  67778. * the `data`.
  67779. *
  67780. * When joinBy is `null`, the map items are joined by their position in the
  67781. * array, which performs much better in maps with many data points. This is
  67782. * the recommended option if you are printing more than a thousand data
  67783. * points and have a backend that can preprocess the data into a parallel
  67784. * array of the mapData.
  67785. */
  67786. joinBy?: (string|Array<string>);
  67787. /**
  67788. * (Highstock) An array specifying which option maps to which key in the
  67789. * data point array. This makes it convenient to work with unstructured data
  67790. * arrays from different sources.
  67791. */
  67792. keys?: Array<string>;
  67793. /**
  67794. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  67795. * series as possible in a natural way, seeking to avoid other series. The
  67796. * goal of this feature is to make the chart more easily readable, like if a
  67797. * human designer placed the labels in the optimal position.
  67798. *
  67799. * The series labels currently work with series types having a `graph` or an
  67800. * `area`.
  67801. */
  67802. label?: SeriesLabelOptionsObject;
  67803. /**
  67804. * (Highstock) The line marks the last price from all points.
  67805. */
  67806. lastPrice?: SeriesLastPriceOptionsObject;
  67807. /**
  67808. * (Highstock) The line marks the last price from visible range of points.
  67809. */
  67810. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  67811. /**
  67812. * (Highstock) The pixel width of the line/border. Defaults to `1`.
  67813. */
  67814. lineWidth?: number;
  67815. /**
  67816. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  67817. * Additionally, the value can be ":previous" to link to the previous
  67818. * series. When two series are linked, only the first one appears in the
  67819. * legend. Toggling the visibility of this also toggles the linked series.
  67820. *
  67821. * If master series uses data sorting and linked series does not have its
  67822. * own sorting definition, the linked series will be sorted in the same
  67823. * order as the master one.
  67824. */
  67825. linkedTo?: string;
  67826. /**
  67827. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  67828. * column, translated to the height of a bar in a bar chart. This prevents
  67829. * the columns from becoming too wide when there is a small number of points
  67830. * in the chart.
  67831. */
  67832. maxPointWidth?: number;
  67833. /**
  67834. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  67835. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  67836. * to zero) point, set the minimal point length to a pixel value like 3\. In
  67837. * stacked column charts, minPointLength might not be respected for tightly
  67838. * packed values.
  67839. */
  67840. minPointLength?: number;
  67841. /**
  67842. * (Highstock) Options for the corresponding navigator series if
  67843. * `showInNavigator` is `true` for this series. Available options are the
  67844. * same as any series, documented at plotOptions and series.
  67845. *
  67846. * These options are merged with options in navigator.series, and will take
  67847. * precedence if the same option is defined both places.
  67848. */
  67849. navigatorOptions?: PlotSeriesOptions;
  67850. /**
  67851. * (Highstock) The color for the parts of the graph or points that are below
  67852. * the threshold. Note that `zones` takes precedence over the negative
  67853. * color. Using `negativeColor` is equivalent to applying a zone with value
  67854. * of 0.
  67855. */
  67856. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  67857. /**
  67858. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  67859. * dataLabels.
  67860. */
  67861. opacity?: number;
  67862. /**
  67863. * (Highstock) Properties for each single point.
  67864. */
  67865. point?: PlotSeriesPointOptions;
  67866. /**
  67867. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  67868. * individual series. Overrides the chart wide configuration.
  67869. */
  67870. pointDescriptionFormatter?: Function;
  67871. /**
  67872. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  67873. * a series, `pointInterval` defines the interval of the x values. For
  67874. * example, if a series contains one value every decade starting from year
  67875. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  67876. * `pointInterval` is set in milliseconds.
  67877. *
  67878. * It can be also be combined with `pointIntervalUnit` to draw irregular
  67879. * time intervals.
  67880. *
  67881. * Please note that this options applies to the _series data_, not the
  67882. * interval of the axis ticks, which is independent.
  67883. */
  67884. pointInterval?: number;
  67885. /**
  67886. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  67887. * setting the pointInterval to irregular time units, `day`, `month` and
  67888. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  67889. * also takes the DST crossover into consideration when dealing with local
  67890. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  67891. * months, 10 years etc.
  67892. *
  67893. * Please note that this options applies to the _series data_, not the
  67894. * interval of the axis ticks, which is independent.
  67895. */
  67896. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  67897. /**
  67898. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  67899. * axis units.
  67900. */
  67901. pointPadding?: number;
  67902. /**
  67903. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  67904. * `number`.
  67905. *
  67906. * In a column chart, when pointPlacement is `"on"`, the point will not
  67907. * create any padding of the X axis. In a polar column chart this means that
  67908. * the first column points directly north. If the pointPlacement is
  67909. * `"between"`, the columns will be laid out between ticks. This is useful
  67910. * for example for visualising an amount between two points in time or in a
  67911. * certain sector of a polar chart.
  67912. *
  67913. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  67914. * is on the axis value, -0.5 is between this value and the previous, and
  67915. * 0.5 is between this value and the next. Unlike the textual options,
  67916. * numeric point placement options won't affect axis padding.
  67917. *
  67918. * Note that pointPlacement needs a pointRange to work. For column series
  67919. * this is computed, but for line-type series it needs to be set.
  67920. *
  67921. * For the `xrange` series type and gantt charts, if the Y axis is a
  67922. * category axis, the `pointPlacement` applies to the Y axis rather than the
  67923. * (typically datetime) X axis.
  67924. *
  67925. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  67926. */
  67927. pointPlacement?: (number|string);
  67928. /**
  67929. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  67930. * for. This determines the width of the column. On a categorized axis, the
  67931. * range will be 1 by default (one category unit). On linear and datetime
  67932. * axes, the range will be computed as the distance between the two closest
  67933. * data points.
  67934. *
  67935. * The default `null` means it is computed automatically, but this option
  67936. * can be used to override the automatic value.
  67937. *
  67938. * This option is set by default to 1 if data sorting is enabled.
  67939. */
  67940. pointRange?: (number|null);
  67941. /**
  67942. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  67943. * a series, pointStart defines on what value to start. For example, if a
  67944. * series contains one yearly value starting from 1945, set pointStart to
  67945. * 1945.
  67946. */
  67947. pointStart?: number;
  67948. /**
  67949. * (Highstock) Determines which one of `open`, `high`, `low`, `close` values
  67950. * should be represented as `point.y`, which is later used to set dataLabel
  67951. * position and compare.
  67952. */
  67953. pointValKey?: OptionsPointValKeyValue;
  67954. /**
  67955. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  67956. * each column or bar point. When set to `undefined`, the width is
  67957. * calculated from the `pointPadding` and `groupPadding`. The width effects
  67958. * the dimension that is not based on the point value. For column series it
  67959. * is the hoizontal length and for bar series it is the vertical length.
  67960. */
  67961. pointWidth?: number;
  67962. /**
  67963. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  67964. * true, the checkbox next to the series name in the legend will be checked
  67965. * for a selected series.
  67966. */
  67967. selected?: boolean;
  67968. /**
  67969. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  67970. * the shadow can be an object configuration containing `color`, `offsetX`,
  67971. * `offsetY`, `opacity` and `width`.
  67972. */
  67973. shadow?: (boolean|ShadowOptionsObject);
  67974. /**
  67975. * (Highstock) If true, a checkbox is displayed next to the legend item to
  67976. * allow selecting the series. The state of the checkbox is determined by
  67977. * the `selected` option.
  67978. */
  67979. showCheckbox?: boolean;
  67980. /**
  67981. * (Highstock) Whether to display this particular series or series type in
  67982. * the legend. Standalone series are shown in legend by default, and linked
  67983. * series are not. Since v7.2.0 it is possible to show series that use
  67984. * colorAxis by setting this option to `true`.
  67985. */
  67986. showInLegend?: boolean;
  67987. /**
  67988. * (Highstock) Whether or not to show the series in the navigator. Takes
  67989. * precedence over navigator.baseSeries if defined.
  67990. */
  67991. showInNavigator?: boolean;
  67992. /**
  67993. * (Highstock) If set to `true`, the accessibility module will skip past the
  67994. * points in this series for keyboard navigation.
  67995. */
  67996. skipKeyboardNavigation?: boolean;
  67997. /**
  67998. * (Highcharts, Highstock) When this is true, the series will not cause the
  67999. * Y axis to cross the zero plane (or threshold option) unless the data
  68000. * actually crosses the plane.
  68001. *
  68002. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  68003. * make the Y axis show negative values according to the `minPadding`
  68004. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  68005. */
  68006. softThreshold?: boolean;
  68007. states?: SeriesStatesOptionsObject;
  68008. /**
  68009. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  68010. * event on a series isn't triggered until the mouse moves over another
  68011. * series, or out of the plot area. When false, the `mouseOut` event on a
  68012. * series is triggered when the mouse leaves the area around the series'
  68013. * graph or markers. This also implies the tooltip when not shared. When
  68014. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  68015. * be hidden when moving the mouse between series. Defaults to true for line
  68016. * and area type series, but to false for columns, pies etc.
  68017. *
  68018. * **Note:** The boost module will force this option because of technical
  68019. * limitations.
  68020. */
  68021. stickyTracking?: boolean;
  68022. /**
  68023. * (Highcharts) The Y axis value to serve as the base for the columns, for
  68024. * distinguishing between values above and below a threshold. If `null`, the
  68025. * columns extend from the padding Y axis minimum.
  68026. */
  68027. threshold?: (number|null);
  68028. /**
  68029. * (Highstock) A configuration object for the tooltip rendering of each
  68030. * single series. Properties are inherited from tooltip, but only the
  68031. * following properties can be defined on a series level.
  68032. */
  68033. tooltip?: SeriesTooltipOptionsObject;
  68034. /**
  68035. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  68036. * is longer than this, only one dimensional arrays of numbers, or two
  68037. * dimensional arrays with x and y values are allowed. Also, only the first
  68038. * point is tested, and the rest are assumed to be the same format. This
  68039. * saves expensive data checking and indexing in long series. Set it to `0`
  68040. * disable.
  68041. *
  68042. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  68043. * two dimensional arrays are allowed.
  68044. */
  68045. turboThreshold?: number;
  68046. /**
  68047. * (Highstock) Line color for up points.
  68048. */
  68049. upColor?: (ColorString|GradientColorObject|PatternObject);
  68050. /**
  68051. * (Highstock) Set the initial visibility of the series.
  68052. */
  68053. visible?: boolean;
  68054. /**
  68055. * (Highmaps) Define the z index of the series.
  68056. */
  68057. zIndex?: number;
  68058. /**
  68059. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  68060. */
  68061. zoneAxis?: string;
  68062. /**
  68063. * (Highcharts, Highstock) An array defining zones within a series. Zones
  68064. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  68065. * the `zoneAxis` option. The zone definitions have to be in ascending order
  68066. * regarding to the value.
  68067. *
  68068. * In styled mode, the color zones are styled with the
  68069. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  68070. * option (view live demo).
  68071. */
  68072. zones?: Array<SeriesZonesOptionsObject>;
  68073. }
  68074. /**
  68075. * (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper object
  68076. * for config objects for each series type. The config objects for each series
  68077. * can also be overridden for each series item as given in the series array.
  68078. *
  68079. * Configuration options for the series are given in three levels. Options for
  68080. * all series in a chart are given in the plotOptions.series object. Then
  68081. * options for all series of a specific type are given in the plotOptions of
  68082. * that type, for example `plotOptions.line`. Next, options for one single
  68083. * series are given in the series array.
  68084. */
  68085. export interface PlotOptions {
  68086. /**
  68087. * (Highstock) Acceleration bands (ABANDS). This series requires the
  68088. * `linkedTo` option to be set and should be loaded after the
  68089. * `stock/indicators/indicators.js`.
  68090. *
  68091. * In TypeScript the type option must always be set.
  68092. *
  68093. * Configuration options for the series are given in three levels:
  68094. *
  68095. * 1. Options for all series in a chart are defined in the
  68096. * plotOptions.series object.
  68097. *
  68098. * 2. Options for all `abands` series are defined in plotOptions.abands.
  68099. *
  68100. * 3. Options for one single series are given in the series instance array.
  68101. * (see online documentation for example)
  68102. */
  68103. abands?: PlotAbandsOptions;
  68104. /**
  68105. * (Highstock) Accumulation Distribution (AD). This series requires
  68106. * `linkedTo` option to be set.
  68107. *
  68108. * In TypeScript the type option must always be set.
  68109. *
  68110. * Configuration options for the series are given in three levels:
  68111. *
  68112. * 1. Options for all series in a chart are defined in the
  68113. * plotOptions.series object.
  68114. *
  68115. * 2. Options for all `ad` series are defined in plotOptions.ad.
  68116. *
  68117. * 3. Options for one single series are given in the series instance array.
  68118. * (see online documentation for example)
  68119. */
  68120. ad?: PlotAdOptions;
  68121. /**
  68122. * (Highstock) Awesome Oscillator. This series requires the `linkedTo`
  68123. * option to be set and should be loaded after the
  68124. * `stock/indicators/indicators.js`
  68125. *
  68126. * In TypeScript the type option must always be set.
  68127. *
  68128. * Configuration options for the series are given in three levels:
  68129. *
  68130. * 1. Options for all series in a chart are defined in the
  68131. * plotOptions.series object.
  68132. *
  68133. * 2. Options for all `ao` series are defined in plotOptions.ao.
  68134. *
  68135. * 3. Options for one single series are given in the series instance array.
  68136. * (see online documentation for example)
  68137. */
  68138. ao?: PlotAoOptions;
  68139. /**
  68140. * (Highstock) Absolute Price Oscillator. This series requires the
  68141. * `linkedTo` option to be set and should be loaded after the
  68142. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68143. *
  68144. * In TypeScript the type option must always be set.
  68145. *
  68146. * Configuration options for the series are given in three levels:
  68147. *
  68148. * 1. Options for all series in a chart are defined in the
  68149. * plotOptions.series object.
  68150. *
  68151. * 2. Options for all `apo` series are defined in plotOptions.apo.
  68152. *
  68153. * 3. Options for one single series are given in the series instance array.
  68154. * (see online documentation for example)
  68155. */
  68156. apo?: PlotApoOptions;
  68157. /**
  68158. * (Highcharts, Highstock) The area series type.
  68159. *
  68160. * In TypeScript the type option must always be set.
  68161. *
  68162. * Configuration options for the series are given in three levels:
  68163. *
  68164. * 1. Options for all series in a chart are defined in the
  68165. * plotOptions.series object.
  68166. *
  68167. * 2. Options for all `area` series are defined in plotOptions.area.
  68168. *
  68169. * 3. Options for one single series are given in the series instance array.
  68170. * (see online documentation for example)
  68171. */
  68172. area?: PlotAreaOptions;
  68173. /**
  68174. * (Highcharts, Highstock) The area range series is a carteseian series with
  68175. * higher and lower values for each point along an X axis, where the area
  68176. * between the values is shaded.
  68177. *
  68178. * In TypeScript the type option must always be set.
  68179. *
  68180. * Configuration options for the series are given in three levels:
  68181. *
  68182. * 1. Options for all series in a chart are defined in the
  68183. * plotOptions.series object.
  68184. *
  68185. * 2. Options for all `arearange` series are defined in
  68186. * plotOptions.arearange.
  68187. *
  68188. * 3. Options for one single series are given in the series instance array.
  68189. * (see online documentation for example)
  68190. */
  68191. arearange?: PlotArearangeOptions;
  68192. /**
  68193. * (Highcharts, Highstock) The area spline series is an area series where
  68194. * the graph between the points is smoothed into a spline.
  68195. *
  68196. * In TypeScript the type option must always be set.
  68197. *
  68198. * Configuration options for the series are given in three levels:
  68199. *
  68200. * 1. Options for all series in a chart are defined in the
  68201. * plotOptions.series object.
  68202. *
  68203. * 2. Options for all `areaspline` series are defined in
  68204. * plotOptions.areaspline.
  68205. *
  68206. * 3. Options for one single series are given in the series instance array.
  68207. * (see online documentation for example)
  68208. */
  68209. areaspline?: PlotAreasplineOptions;
  68210. /**
  68211. * (Highcharts, Highstock) The area spline range is a cartesian series type
  68212. * with higher and lower Y values along an X axis. The area inside the range
  68213. * is colored, and the graph outlining the area is a smoothed spline.
  68214. *
  68215. * In TypeScript the type option must always be set.
  68216. *
  68217. * Configuration options for the series are given in three levels:
  68218. *
  68219. * 1. Options for all series in a chart are defined in the
  68220. * plotOptions.series object.
  68221. *
  68222. * 2. Options for all `areasplinerange` series are defined in
  68223. * plotOptions.areasplinerange.
  68224. *
  68225. * 3. Options for one single series are given in the series instance array.
  68226. * (see online documentation for example)
  68227. */
  68228. areasplinerange?: PlotAreasplinerangeOptions;
  68229. /**
  68230. * (Highstock) Aroon. This series requires the `linkedTo` option to be set
  68231. * and should be loaded after the `stock/indicators/indicators.js`.
  68232. *
  68233. * In TypeScript the type option must always be set.
  68234. *
  68235. * Configuration options for the series are given in three levels:
  68236. *
  68237. * 1. Options for all series in a chart are defined in the
  68238. * plotOptions.series object.
  68239. *
  68240. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  68241. *
  68242. * 3. Options for one single series are given in the series instance array.
  68243. * (see online documentation for example)
  68244. */
  68245. aroon?: PlotAroonOptions;
  68246. /**
  68247. * (Highstock) Aroon Oscillator. This series requires the `linkedTo` option
  68248. * to be set and should be loaded after the `stock/indicators/indicators.js`
  68249. * and `stock/indicators/aroon.js`.
  68250. *
  68251. * In TypeScript the type option must always be set.
  68252. *
  68253. * Configuration options for the series are given in three levels:
  68254. *
  68255. * 1. Options for all series in a chart are defined in the
  68256. * plotOptions.series object.
  68257. *
  68258. * 2. Options for all `aroonoscillator` series are defined in
  68259. * plotOptions.aroonoscillator.
  68260. *
  68261. * 3. Options for one single series are given in the series instance array.
  68262. * (see online documentation for example)
  68263. */
  68264. aroonoscillator?: PlotAroonoscillatorOptions;
  68265. /**
  68266. * (Highstock) Average true range indicator (ATR). This series requires
  68267. * `linkedTo` option to be set.
  68268. *
  68269. * In TypeScript the type option must always be set.
  68270. *
  68271. * Configuration options for the series are given in three levels:
  68272. *
  68273. * 1. Options for all series in a chart are defined in the
  68274. * plotOptions.series object.
  68275. *
  68276. * 2. Options for all `atr` series are defined in plotOptions.atr.
  68277. *
  68278. * 3. Options for one single series are given in the series instance array.
  68279. * (see online documentation for example)
  68280. */
  68281. atr?: PlotAtrOptions;
  68282. /**
  68283. * (Highcharts) A bar series is a special type of column series where the
  68284. * columns are horizontal.
  68285. *
  68286. * In TypeScript the type option must always be set.
  68287. *
  68288. * Configuration options for the series are given in three levels:
  68289. *
  68290. * 1. Options for all series in a chart are defined in the
  68291. * plotOptions.series object.
  68292. *
  68293. * 2. Options for all `bar` series are defined in plotOptions.bar.
  68294. *
  68295. * 3. Options for one single series are given in the series instance array.
  68296. * (see online documentation for example)
  68297. */
  68298. bar?: PlotBarOptions;
  68299. /**
  68300. * (Highstock) Bollinger bands (BB). This series requires the `linkedTo`
  68301. * option to be set and should be loaded after the
  68302. * `stock/indicators/indicators.js` file.
  68303. *
  68304. * In TypeScript the type option must always be set.
  68305. *
  68306. * Configuration options for the series are given in three levels:
  68307. *
  68308. * 1. Options for all series in a chart are defined in the
  68309. * plotOptions.series object.
  68310. *
  68311. * 2. Options for all `bb` series are defined in plotOptions.bb.
  68312. *
  68313. * 3. Options for one single series are given in the series instance array.
  68314. * (see online documentation for example)
  68315. */
  68316. bb?: PlotBbOptions;
  68317. /**
  68318. * (Highcharts) A bell curve is an areaspline series which represents the
  68319. * probability density function of the normal distribution. It calculates
  68320. * mean and standard deviation of the base series data and plots the curve
  68321. * according to the calculated parameters.
  68322. *
  68323. * In TypeScript the type option must always be set.
  68324. *
  68325. * Configuration options for the series are given in three levels:
  68326. *
  68327. * 1. Options for all series in a chart are defined in the
  68328. * plotOptions.series object.
  68329. *
  68330. * 2. Options for all `bellcurve` series are defined in
  68331. * plotOptions.bellcurve.
  68332. *
  68333. * 3. Options for one single series are given in the series instance array.
  68334. * (see online documentation for example)
  68335. */
  68336. bellcurve?: PlotBellcurveOptions;
  68337. /**
  68338. * (Highcharts) A box plot is a convenient way of depicting groups of data
  68339. * through their five-number summaries: the smallest observation (sample
  68340. * minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and
  68341. * largest observation (sample maximum).
  68342. *
  68343. * In TypeScript the type option must always be set.
  68344. *
  68345. * Configuration options for the series are given in three levels:
  68346. *
  68347. * 1. Options for all series in a chart are defined in the
  68348. * plotOptions.series object.
  68349. *
  68350. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  68351. *
  68352. * 3. Options for one single series are given in the series instance array.
  68353. * (see online documentation for example)
  68354. */
  68355. boxplot?: PlotBoxplotOptions;
  68356. /**
  68357. * (Highcharts, Highstock) A bubble series is a three dimensional series
  68358. * type where each point renders an X, Y and Z value. Each points is drawn
  68359. * as a bubble where the position along the X and Y axes mark the X and Y
  68360. * values, and the size of the bubble relates to the Z value.
  68361. *
  68362. * In TypeScript the type option must always be set.
  68363. *
  68364. * Configuration options for the series are given in three levels:
  68365. *
  68366. * 1. Options for all series in a chart are defined in the
  68367. * plotOptions.series object.
  68368. *
  68369. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  68370. *
  68371. * 3. Options for one single series are given in the series instance array.
  68372. * (see online documentation for example)
  68373. */
  68374. bubble?: PlotBubbleOptions;
  68375. /**
  68376. * (Highcharts) A bullet graph is a variation of a bar graph. The bullet
  68377. * graph features a single measure, compares it to a target, and displays it
  68378. * in the context of qualitative ranges of performance that could be set
  68379. * using plotBands on yAxis.
  68380. *
  68381. * In TypeScript the type option must always be set.
  68382. *
  68383. * Configuration options for the series are given in three levels:
  68384. *
  68385. * 1. Options for all series in a chart are defined in the
  68386. * plotOptions.series object.
  68387. *
  68388. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  68389. *
  68390. * 3. Options for one single series are given in the series instance array.
  68391. * (see online documentation for example)
  68392. */
  68393. bullet?: PlotBulletOptions;
  68394. /**
  68395. * (Highstock) A candlestick chart is a style of financial chart used to
  68396. * describe price movements over time.
  68397. *
  68398. * In TypeScript the type option must always be set.
  68399. *
  68400. * Configuration options for the series are given in three levels:
  68401. *
  68402. * 1. Options for all series in a chart are defined in the
  68403. * plotOptions.series object.
  68404. *
  68405. * 2. Options for all `candlestick` series are defined in
  68406. * plotOptions.candlestick.
  68407. *
  68408. * 3. Options for one single series are given in the series instance array.
  68409. * (see online documentation for example)
  68410. */
  68411. candlestick?: PlotCandlestickOptions;
  68412. /**
  68413. * (Highstock) Commodity Channel Index (CCI). This series requires
  68414. * `linkedTo` option to be set.
  68415. *
  68416. * In TypeScript the type option must always be set.
  68417. *
  68418. * Configuration options for the series are given in three levels:
  68419. *
  68420. * 1. Options for all series in a chart are defined in the
  68421. * plotOptions.series object.
  68422. *
  68423. * 2. Options for all `cci` series are defined in plotOptions.cci.
  68424. *
  68425. * 3. Options for one single series are given in the series instance array.
  68426. * (see online documentation for example)
  68427. */
  68428. cci?: PlotCciOptions;
  68429. /**
  68430. * (Highstock) Chaikin Oscillator. This series requires the `linkedTo`
  68431. * option to be set and should be loaded after the
  68432. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  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 `chaikin` series are defined in plotOptions.chaikin.
  68442. *
  68443. * 3. Options for one single series are given in the series instance array.
  68444. * (see online documentation for example)
  68445. */
  68446. chaikin?: PlotChaikinOptions;
  68447. /**
  68448. * (Highstock) Chaikin Money Flow indicator (cmf).
  68449. *
  68450. * In TypeScript the type option must always be set.
  68451. *
  68452. * Configuration options for the series are given in three levels:
  68453. *
  68454. * 1. Options for all series in a chart are defined in the
  68455. * plotOptions.series object.
  68456. *
  68457. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  68458. *
  68459. * 3. Options for one single series are given in the series instance array.
  68460. * (see online documentation for example)
  68461. */
  68462. cmf?: PlotCmfOptions;
  68463. /**
  68464. * (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This
  68465. * series requires the `linkedTo` option to be set and should be loaded
  68466. * after the `stock/indicators/indicators.js` file.
  68467. *
  68468. * In TypeScript the type option must always be set.
  68469. *
  68470. * Configuration options for the series are given in three levels:
  68471. *
  68472. * 1. Options for all series in a chart are defined in the
  68473. * plotOptions.series object.
  68474. *
  68475. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  68476. *
  68477. * 3. Options for one single series are given in the series instance array.
  68478. * (see online documentation for example)
  68479. */
  68480. cmo?: PlotCmoOptions;
  68481. /**
  68482. * (Highcharts, Highstock) Column series display one column per value along
  68483. * an X axis.
  68484. *
  68485. * In TypeScript the type option must always be set.
  68486. *
  68487. * Configuration options for the series are given in three levels:
  68488. *
  68489. * 1. Options for all series in a chart are defined in the
  68490. * plotOptions.series object.
  68491. *
  68492. * 2. Options for all `column` series are defined in plotOptions.column.
  68493. *
  68494. * 3. Options for one single series are given in the series instance array.
  68495. * (see online documentation for example)
  68496. */
  68497. column?: PlotColumnOptions;
  68498. /**
  68499. * (Highcharts, Highstock) Column pyramid series display one pyramid per
  68500. * value along an X axis. To display horizontal pyramids, set chart.inverted
  68501. * to `true`.
  68502. *
  68503. * In TypeScript the type option must always be set.
  68504. *
  68505. * Configuration options for the series are given in three levels:
  68506. *
  68507. * 1. Options for all series in a chart are defined in the
  68508. * plotOptions.series object.
  68509. *
  68510. * 2. Options for all `columnpyramid` series are defined in
  68511. * plotOptions.columnpyramid.
  68512. *
  68513. * 3. Options for one single series are given in the series instance array.
  68514. * (see online documentation for example)
  68515. */
  68516. columnpyramid?: PlotColumnpyramidOptions;
  68517. /**
  68518. * (Highcharts, Highstock) The column range is a cartesian series type with
  68519. * higher and lower Y values along an X axis. To display horizontal bars,
  68520. * set chart.inverted to `true`.
  68521. *
  68522. * In TypeScript the type option must always be set.
  68523. *
  68524. * Configuration options for the series are given in three levels:
  68525. *
  68526. * 1. Options for all series in a chart are defined in the
  68527. * plotOptions.series object.
  68528. *
  68529. * 2. Options for all `columnrange` series are defined in
  68530. * plotOptions.columnrange.
  68531. *
  68532. * 3. Options for one single series are given in the series instance array.
  68533. * (see online documentation for example)
  68534. */
  68535. columnrange?: PlotColumnrangeOptions;
  68536. /**
  68537. * (Highcharts) A cylinder graph is a variation of a 3d column graph. The
  68538. * cylinder graph features cylindrical points.
  68539. *
  68540. * In TypeScript the type option must always be set.
  68541. *
  68542. * Configuration options for the series are given in three levels:
  68543. *
  68544. * 1. Options for all series in a chart are defined in the
  68545. * plotOptions.series object.
  68546. *
  68547. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  68548. *
  68549. * 3. Options for one single series are given in the series instance array.
  68550. * (see online documentation for example)
  68551. */
  68552. cylinder?: PlotCylinderOptions;
  68553. /**
  68554. * (Highstock) Double exponential moving average (DEMA) indicator. This
  68555. * series requires `linkedTo` option to be set and should be loaded after
  68556. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  68557. *
  68558. * In TypeScript the type option must always be set.
  68559. *
  68560. * Configuration options for the series are given in three levels:
  68561. *
  68562. * 1. Options for all series in a chart are defined in the
  68563. * plotOptions.series object.
  68564. *
  68565. * 2. Options for all `dema` series are defined in plotOptions.dema.
  68566. *
  68567. * 3. Options for one single series are given in the series instance array.
  68568. * (see online documentation for example)
  68569. */
  68570. dema?: PlotDemaOptions;
  68571. /**
  68572. * (Highcharts) A dependency wheel chart is a type of flow diagram, where
  68573. * all nodes are laid out in a circle, and the flow between the are drawn as
  68574. * link bands.
  68575. *
  68576. * In TypeScript the type option must always be set.
  68577. *
  68578. * Configuration options for the series are given in three levels:
  68579. *
  68580. * 1. Options for all series in a chart are defined in the
  68581. * plotOptions.series object.
  68582. *
  68583. * 2. Options for all `dependencywheel` series are defined in
  68584. * plotOptions.dependencywheel.
  68585. *
  68586. * 3. Options for one single series are given in the series instance array.
  68587. * (see online documentation for example)
  68588. */
  68589. dependencywheel?: PlotDependencywheelOptions;
  68590. /**
  68591. * (Highstock) Disparity Index. This series requires the `linkedTo` option
  68592. * to be set and should be loaded after the `stock/indicators/indicators.js`
  68593. * file.
  68594. *
  68595. * In TypeScript the type option must always be set.
  68596. *
  68597. * Configuration options for the series are given in three levels:
  68598. *
  68599. * 1. Options for all series in a chart are defined in the
  68600. * plotOptions.series object.
  68601. *
  68602. * 2. Options for all `disparityindex` series are defined in
  68603. * plotOptions.disparityindex.
  68604. *
  68605. * 3. Options for one single series are given in the series instance array.
  68606. * (see online documentation for example)
  68607. */
  68608. disparityindex?: PlotDisparityindexOptions;
  68609. /**
  68610. * (Highstock) Directional Movement Index (DMI). This series requires the
  68611. * `linkedTo` option to be set and should be loaded after the
  68612. * `stock/indicators/indicators.js` file.
  68613. *
  68614. * In TypeScript the type option must always be set.
  68615. *
  68616. * Configuration options for the series are given in three levels:
  68617. *
  68618. * 1. Options for all series in a chart are defined in the
  68619. * plotOptions.series object.
  68620. *
  68621. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  68622. *
  68623. * 3. Options for one single series are given in the series instance array.
  68624. * (see online documentation for example)
  68625. */
  68626. dmi?: PlotDmiOptions;
  68627. /**
  68628. * (Highstock) Detrended Price Oscillator. This series requires the
  68629. * `linkedTo` option to be set and should be loaded after the
  68630. * `stock/indicators/indicators.js`.
  68631. *
  68632. * In TypeScript the type option must always be set.
  68633. *
  68634. * Configuration options for the series are given in three levels:
  68635. *
  68636. * 1. Options for all series in a chart are defined in the
  68637. * plotOptions.series object.
  68638. *
  68639. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  68640. *
  68641. * 3. Options for one single series are given in the series instance array.
  68642. * (see online documentation for example)
  68643. */
  68644. dpo?: PlotDpoOptions;
  68645. /**
  68646. * (Highcharts, Highstock) The dumbbell series is a cartesian series with
  68647. * higher and lower values for each point along an X axis, connected with a
  68648. * line between the values.
  68649. *
  68650. * Requires `highcharts-more.js` and `modules/dumbbell.js`.
  68651. *
  68652. * In TypeScript the type option must always be set.
  68653. *
  68654. * Configuration options for the series are given in three levels:
  68655. *
  68656. * 1. Options for all series in a chart are defined in the
  68657. * plotOptions.series object.
  68658. *
  68659. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  68660. *
  68661. * 3. Options for one single series are given in the series instance array.
  68662. * (see online documentation for example)
  68663. */
  68664. dumbbell?: PlotDumbbellOptions;
  68665. /**
  68666. * (Highstock) Exponential moving average indicator (EMA). This series
  68667. * requires the `linkedTo` option to be set.
  68668. *
  68669. * In TypeScript the type option must always be set.
  68670. *
  68671. * Configuration options for the series are given in three levels:
  68672. *
  68673. * 1. Options for all series in a chart are defined in the
  68674. * plotOptions.series object.
  68675. *
  68676. * 2. Options for all `ema` series are defined in plotOptions.ema.
  68677. *
  68678. * 3. Options for one single series are given in the series instance array.
  68679. * (see online documentation for example)
  68680. */
  68681. ema?: PlotEmaOptions;
  68682. /**
  68683. * (Highcharts, Highstock) Error bars are a graphical representation of the
  68684. * variability of data and are used on graphs to indicate the error, or
  68685. * uncertainty in a reported measurement.
  68686. *
  68687. * In TypeScript the type option must always be set.
  68688. *
  68689. * Configuration options for the series are given in three levels:
  68690. *
  68691. * 1. Options for all series in a chart are defined in the
  68692. * plotOptions.series object.
  68693. *
  68694. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  68695. *
  68696. * 3. Options for one single series are given in the series instance array.
  68697. * (see online documentation for example)
  68698. */
  68699. errorbar?: PlotErrorbarOptions;
  68700. /**
  68701. * (Highstock) Flags are used to mark events in stock charts. They can be
  68702. * added on the timeline, or attached to a specific series.
  68703. *
  68704. * In TypeScript the type option must always be set.
  68705. *
  68706. * Configuration options for the series are given in three levels:
  68707. *
  68708. * 1. Options for all series in a chart are defined in the
  68709. * plotOptions.series object.
  68710. *
  68711. * 2. Options for all `flags` series are defined in plotOptions.flags.
  68712. *
  68713. * 3. Options for one single series are given in the series instance array.
  68714. * (see online documentation for example)
  68715. */
  68716. flags?: PlotFlagsOptions;
  68717. /**
  68718. * (Highcharts) Funnel charts are a type of chart often used to visualize
  68719. * stages in a sales project, where the top are the initial stages with the
  68720. * most clients. It requires that the modules/funnel.js file is loaded.
  68721. *
  68722. * In TypeScript the type option must always be set.
  68723. *
  68724. * Configuration options for the series are given in three levels:
  68725. *
  68726. * 1. Options for all series in a chart are defined in the
  68727. * plotOptions.series object.
  68728. *
  68729. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  68730. *
  68731. * 3. Options for one single series are given in the series instance array.
  68732. * (see online documentation for example)
  68733. */
  68734. funnel?: PlotFunnelOptions;
  68735. /**
  68736. * (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel
  68737. * charts are a type of chart often used to visualize stages in a sales
  68738. * project, where the top are the initial stages with the most clients.
  68739. *
  68740. * It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
  68741. * module are loaded.
  68742. *
  68743. * In TypeScript the type option must always be set.
  68744. *
  68745. * Configuration options for the series are given in three levels:
  68746. *
  68747. * 1. Options for all series in a chart are defined in the
  68748. * plotOptions.series object.
  68749. *
  68750. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  68751. *
  68752. * 3. Options for one single series are given in the series instance array.
  68753. * (see online documentation for example)
  68754. */
  68755. funnel3d?: PlotFunnel3dOptions;
  68756. /**
  68757. * (Gantt) A `gantt` series. If the type option is not specified, it is
  68758. * inherited from chart.type.
  68759. *
  68760. * In TypeScript the type option must always be set.
  68761. *
  68762. * Configuration options for the series are given in three levels:
  68763. *
  68764. * 1. Options for all series in a chart are defined in the
  68765. * plotOptions.series object.
  68766. *
  68767. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  68768. *
  68769. * 3. Options for one single series are given in the series instance array.
  68770. * (see online documentation for example)
  68771. */
  68772. gantt?: PlotGanttOptions;
  68773. /**
  68774. * (Highcharts) Gauges are circular plots displaying one or more values with
  68775. * a dial pointing to values along the perimeter.
  68776. *
  68777. * In TypeScript the type option must always be set.
  68778. *
  68779. * Configuration options for the series are given in three levels:
  68780. *
  68781. * 1. Options for all series in a chart are defined in the
  68782. * plotOptions.series object.
  68783. *
  68784. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  68785. *
  68786. * 3. Options for one single series are given in the series instance array.
  68787. * (see online documentation for example)
  68788. */
  68789. gauge?: PlotGaugeOptions;
  68790. /**
  68791. * (Highcharts, Highmaps) A heatmap is a graphical representation of data
  68792. * where the individual values contained in a matrix are represented as
  68793. * colors.
  68794. *
  68795. * In TypeScript the type option must always be set.
  68796. *
  68797. * Configuration options for the series are given in three levels:
  68798. *
  68799. * 1. Options for all series in a chart are defined in the
  68800. * plotOptions.series object.
  68801. *
  68802. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  68803. *
  68804. * 3. Options for one single series are given in the series instance array.
  68805. * (see online documentation for example)
  68806. */
  68807. heatmap?: PlotHeatmapOptions;
  68808. /**
  68809. * (Highcharts) A histogram is a column series which represents the
  68810. * distribution of the data set in the base series. Histogram splits data
  68811. * into bins and shows their frequencies.
  68812. *
  68813. * In TypeScript the type option must always be set.
  68814. *
  68815. * Configuration options for the series are given in three levels:
  68816. *
  68817. * 1. Options for all series in a chart are defined in the
  68818. * plotOptions.series object.
  68819. *
  68820. * 2. Options for all `histogram` series are defined in
  68821. * plotOptions.histogram.
  68822. *
  68823. * 3. Options for one single series are given in the series instance array.
  68824. * (see online documentation for example)
  68825. */
  68826. histogram?: PlotHistogramOptions;
  68827. /**
  68828. * (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo`
  68829. * option to be set.
  68830. *
  68831. * In TypeScript the type option must always be set.
  68832. *
  68833. * Configuration options for the series are given in three levels:
  68834. *
  68835. * 1. Options for all series in a chart are defined in the
  68836. * plotOptions.series object.
  68837. *
  68838. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  68839. *
  68840. * 3. Options for one single series are given in the series instance array.
  68841. * (see online documentation for example)
  68842. */
  68843. ikh?: PlotIkhOptions;
  68844. /**
  68845. * (Highcharts) An item chart is an infographic chart where a number of
  68846. * items are laid out in either a rectangular or circular pattern. It can be
  68847. * used to visualize counts within a group, or for the circular pattern,
  68848. * typically a parliament.
  68849. *
  68850. * The circular layout has much in common with a pie chart. Many of the item
  68851. * series options, like `center`, `size` and data label positioning, are
  68852. * inherited from the pie series and don't apply for rectangular layouts.
  68853. *
  68854. * In TypeScript the type option must always be set.
  68855. *
  68856. * Configuration options for the series are given in three levels:
  68857. *
  68858. * 1. Options for all series in a chart are defined in the
  68859. * plotOptions.series object.
  68860. *
  68861. * 2. Options for all `item` series are defined in plotOptions.item.
  68862. *
  68863. * 3. Options for one single series are given in the series instance array.
  68864. * (see online documentation for example)
  68865. */
  68866. item?: PlotItemOptions;
  68867. /**
  68868. * (Highstock) Keltner Channels. This series requires the `linkedTo` option
  68869. * to be set and should be loaded after the
  68870. * `stock/indicators/indicators.js`, `stock/indicators/atr.js`, and
  68871. * `stock/ema/.js`.
  68872. *
  68873. * In TypeScript the type option must always be set.
  68874. *
  68875. * Configuration options for the series are given in three levels:
  68876. *
  68877. * 1. Options for all series in a chart are defined in the
  68878. * plotOptions.series object.
  68879. *
  68880. * 2. Options for all `keltnerchannels` series are defined in
  68881. * plotOptions.keltnerchannels.
  68882. *
  68883. * 3. Options for one single series are given in the series instance array.
  68884. * (see online documentation for example)
  68885. */
  68886. keltnerchannels?: PlotKeltnerchannelsOptions;
  68887. /**
  68888. * (Highstock) Klinger oscillator. This series requires the `linkedTo`
  68889. * option to be set and should be loaded after the
  68890. * `stock/indicators/indicators.js` file.
  68891. *
  68892. * In TypeScript the type option must always be set.
  68893. *
  68894. * Configuration options for the series are given in three levels:
  68895. *
  68896. * 1. Options for all series in a chart are defined in the
  68897. * plotOptions.series object.
  68898. *
  68899. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  68900. *
  68901. * 3. Options for one single series are given in the series instance array.
  68902. * (see online documentation for example)
  68903. */
  68904. klinger?: PlotKlingerOptions;
  68905. /**
  68906. * (Highcharts, Highstock) A line series displays information as a series of
  68907. * data points connected by straight line segments.
  68908. *
  68909. * In TypeScript the type option must always be set.
  68910. *
  68911. * Configuration options for the series are given in three levels:
  68912. *
  68913. * 1. Options for all series in a chart are defined in the
  68914. * plotOptions.series object.
  68915. *
  68916. * 2. Options for all `line` series are defined in plotOptions.line.
  68917. *
  68918. * 3. Options for one single series are given in the series instance array.
  68919. * (see online documentation for example)
  68920. */
  68921. line?: PlotLineOptions;
  68922. /**
  68923. * (Highstock) Linear regression indicator. This series requires `linkedTo`
  68924. * option to be set.
  68925. *
  68926. * In TypeScript the type option must always be set.
  68927. *
  68928. * Configuration options for the series are given in three levels:
  68929. *
  68930. * 1. Options for all series in a chart are defined in the
  68931. * plotOptions.series object.
  68932. *
  68933. * 2. Options for all `linearregression` series are defined in
  68934. * plotOptions.linearregression.
  68935. *
  68936. * 3. Options for one single series are given in the series instance array.
  68937. * (see online documentation for example)
  68938. */
  68939. linearregression?: PlotLinearregressionOptions;
  68940. /**
  68941. * (Highstock) Linear regression angle indicator. This series requires
  68942. * `linkedTo` option to be set.
  68943. *
  68944. * In TypeScript the type option must always be set.
  68945. *
  68946. * Configuration options for the series are given in three levels:
  68947. *
  68948. * 1. Options for all series in a chart are defined in the
  68949. * plotOptions.series object.
  68950. *
  68951. * 2. Options for all `linearregressionangle` series are defined in
  68952. * plotOptions.linearregressionangle.
  68953. *
  68954. * 3. Options for one single series are given in the series instance array.
  68955. * (see online documentation for example)
  68956. */
  68957. linearregressionangle?: PlotLinearregressionangleOptions;
  68958. /**
  68959. * (Highstock) Linear regression intercept indicator. This series requires
  68960. * `linkedTo` option to be set.
  68961. *
  68962. * In TypeScript the type option must always be set.
  68963. *
  68964. * Configuration options for the series are given in three levels:
  68965. *
  68966. * 1. Options for all series in a chart are defined in the
  68967. * plotOptions.series object.
  68968. *
  68969. * 2. Options for all `linearregressionintercept` series are defined in
  68970. * plotOptions.linearregressionintercept.
  68971. *
  68972. * 3. Options for one single series are given in the series instance array.
  68973. * (see online documentation for example)
  68974. */
  68975. linearregressionintercept?: PlotLinearregressioninterceptOptions;
  68976. /**
  68977. * (Highstock) Linear regression slope indicator. This series requires
  68978. * `linkedTo` option to be set.
  68979. *
  68980. * In TypeScript the type option must always be set.
  68981. *
  68982. * Configuration options for the series are given in three levels:
  68983. *
  68984. * 1. Options for all series in a chart are defined in the
  68985. * plotOptions.series object.
  68986. *
  68987. * 2. Options for all `linearregressionslope` series are defined in
  68988. * plotOptions.linearregressionslope.
  68989. *
  68990. * 3. Options for one single series are given in the series instance array.
  68991. * (see online documentation for example)
  68992. */
  68993. linearregressionslope?: PlotLinearregressionslopeOptions;
  68994. /**
  68995. * (Highcharts, Highstock) The lollipop series is a carteseian series with a
  68996. * line anchored from the x axis and a dot at the end to mark the value.
  68997. * Requires `highcharts-more.js`, `modules/dumbbell.js` and
  68998. * `modules/lollipop.js`.
  68999. *
  69000. * In TypeScript the type option must always be set.
  69001. *
  69002. * Configuration options for the series are given in three levels:
  69003. *
  69004. * 1. Options for all series in a chart are defined in the
  69005. * plotOptions.series object.
  69006. *
  69007. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  69008. *
  69009. * 3. Options for one single series are given in the series instance array.
  69010. * (see online documentation for example)
  69011. */
  69012. lollipop?: PlotLollipopOptions;
  69013. /**
  69014. * (Highstock) Moving Average Convergence Divergence (MACD). This series
  69015. * requires `linkedTo` option to be set and should be loaded after the
  69016. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  69017. *
  69018. * In TypeScript the type option must always be set.
  69019. *
  69020. * Configuration options for the series are given in three levels:
  69021. *
  69022. * 1. Options for all series in a chart are defined in the
  69023. * plotOptions.series object.
  69024. *
  69025. * 2. Options for all `macd` series are defined in plotOptions.macd.
  69026. *
  69027. * 3. Options for one single series are given in the series instance array.
  69028. * (see online documentation for example)
  69029. */
  69030. macd?: PlotMacdOptions;
  69031. /**
  69032. * (Highmaps) The map series is used for basic choropleth maps, where each
  69033. * map area has a color based on its value.
  69034. *
  69035. * In TypeScript the type option must always be set.
  69036. *
  69037. * Configuration options for the series are given in three levels:
  69038. *
  69039. * 1. Options for all series in a chart are defined in the
  69040. * plotOptions.series object.
  69041. *
  69042. * 2. Options for all `map` series are defined in plotOptions.map.
  69043. *
  69044. * 3. Options for one single series are given in the series instance array.
  69045. * (see online documentation for example)
  69046. */
  69047. map?: PlotMapOptions;
  69048. /**
  69049. * (Highmaps) A map bubble series is a bubble series laid out on top of a
  69050. * map series, where each bubble is tied to a specific map area.
  69051. *
  69052. * In TypeScript the type option must always be set.
  69053. *
  69054. * Configuration options for the series are given in three levels:
  69055. *
  69056. * 1. Options for all series in a chart are defined in the
  69057. * plotOptions.series object.
  69058. *
  69059. * 2. Options for all `mapbubble` series are defined in
  69060. * plotOptions.mapbubble.
  69061. *
  69062. * 3. Options for one single series are given in the series instance array.
  69063. * (see online documentation for example)
  69064. */
  69065. mapbubble?: PlotMapbubbleOptions;
  69066. /**
  69067. * (Highmaps) A mapline series is a special case of the map series where the
  69068. * value colors are applied to the strokes rather than the fills. It can
  69069. * also be used for freeform drawing, like dividers, in the map.
  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 `mapline` series are defined in plotOptions.mapline.
  69079. *
  69080. * 3. Options for one single series are given in the series instance array.
  69081. * (see online documentation for example)
  69082. */
  69083. mapline?: PlotMaplineOptions;
  69084. /**
  69085. * (Highmaps) A mappoint series is a special form of scatter series where
  69086. * the points can be laid out in map coordinates on top of a map.
  69087. *
  69088. * In TypeScript the type option must always be set.
  69089. *
  69090. * Configuration options for the series are given in three levels:
  69091. *
  69092. * 1. Options for all series in a chart are defined in the
  69093. * plotOptions.series object.
  69094. *
  69095. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  69096. *
  69097. * 3. Options for one single series are given in the series instance array.
  69098. * (see online documentation for example)
  69099. */
  69100. mappoint?: PlotMappointOptions;
  69101. /**
  69102. * (Highstock) Money Flow Index. This series requires `linkedTo` option to
  69103. * be set and should be loaded after the `stock/indicators/indicators.js`
  69104. * file.
  69105. *
  69106. * In TypeScript the type option must always be set.
  69107. *
  69108. * Configuration options for the series are given in three levels:
  69109. *
  69110. * 1. Options for all series in a chart are defined in the
  69111. * plotOptions.series object.
  69112. *
  69113. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  69114. *
  69115. * 3. Options for one single series are given in the series instance array.
  69116. * (see online documentation for example)
  69117. */
  69118. mfi?: PlotMfiOptions;
  69119. /**
  69120. * (Highstock) Momentum. This series requires `linkedTo` option to be set.
  69121. *
  69122. * In TypeScript the type option must always be set.
  69123. *
  69124. * Configuration options for the series are given in three levels:
  69125. *
  69126. * 1. Options for all series in a chart are defined in the
  69127. * plotOptions.series object.
  69128. *
  69129. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  69130. *
  69131. * 3. Options for one single series are given in the series instance array.
  69132. * (see online documentation for example)
  69133. */
  69134. momentum?: PlotMomentumOptions;
  69135. /**
  69136. * (Highstock) Normalized average true range indicator (NATR). This series
  69137. * requires `linkedTo` option to be set and should be loaded after the
  69138. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  69139. *
  69140. * In TypeScript the type option must always be set.
  69141. *
  69142. * Configuration options for the series are given in three levels:
  69143. *
  69144. * 1. Options for all series in a chart are defined in the
  69145. * plotOptions.series object.
  69146. *
  69147. * 2. Options for all `natr` series are defined in plotOptions.natr.
  69148. *
  69149. * 3. Options for one single series are given in the series instance array.
  69150. * (see online documentation for example)
  69151. */
  69152. natr?: PlotNatrOptions;
  69153. /**
  69154. * (Highcharts) A networkgraph is a type of relationship chart, where
  69155. * connnections (links) attracts nodes (points) and other nodes repulse each
  69156. * other.
  69157. *
  69158. * In TypeScript the type option must always be set.
  69159. *
  69160. * Configuration options for the series are given in three levels:
  69161. *
  69162. * 1. Options for all series in a chart are defined in the
  69163. * plotOptions.series object.
  69164. *
  69165. * 2. Options for all `networkgraph` series are defined in
  69166. * plotOptions.networkgraph.
  69167. *
  69168. * 3. Options for one single series are given in the series instance array.
  69169. * (see online documentation for example)
  69170. */
  69171. networkgraph?: PlotNetworkgraphOptions;
  69172. /**
  69173. * (Highstock) On-Balance Volume (OBV) technical indicator. This series
  69174. * requires the `linkedTo` option to be set and should be loaded after the
  69175. * `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
  69176. * also should be linked the volume series.
  69177. *
  69178. * In TypeScript the type option must always be set.
  69179. *
  69180. * Configuration options for the series are given in three levels:
  69181. *
  69182. * 1. Options for all series in a chart are defined in the
  69183. * plotOptions.series object.
  69184. *
  69185. * 2. Options for all `obv` series are defined in plotOptions.obv.
  69186. *
  69187. * 3. Options for one single series are given in the series instance array.
  69188. * (see online documentation for example)
  69189. */
  69190. obv?: PlotObvOptions;
  69191. /**
  69192. * (Highstock) An OHLC chart is a style of financial chart used to describe
  69193. * price movements over time. It displays open, high, low and close values
  69194. * per data point.
  69195. *
  69196. * In TypeScript the type option must always be set.
  69197. *
  69198. * Configuration options for the series are given in three levels:
  69199. *
  69200. * 1. Options for all series in a chart are defined in the
  69201. * plotOptions.series object.
  69202. *
  69203. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  69204. *
  69205. * 3. Options for one single series are given in the series instance array.
  69206. * (see online documentation for example)
  69207. */
  69208. ohlc?: PlotOhlcOptions;
  69209. /**
  69210. * (Highcharts) An organization chart is a diagram that shows the structure
  69211. * of an organization and the relationships and relative ranks of its parts
  69212. * and positions.
  69213. *
  69214. * In TypeScript the type option must always be set.
  69215. *
  69216. * Configuration options for the series are given in three levels:
  69217. *
  69218. * 1. Options for all series in a chart are defined in the
  69219. * plotOptions.series object.
  69220. *
  69221. * 2. Options for all `organization` series are defined in
  69222. * plotOptions.organization.
  69223. *
  69224. * 3. Options for one single series are given in the series instance array.
  69225. * (see online documentation for example)
  69226. */
  69227. organization?: PlotOrganizationOptions;
  69228. /**
  69229. * (Highcharts) A packed bubble series is a two dimensional series type,
  69230. * where each point renders a value in X, Y position. Each point is drawn as
  69231. * a bubble where the bubbles don't overlap with each other and the radius
  69232. * of the bubble relates to the value.
  69233. *
  69234. * In TypeScript the type option must always be set.
  69235. *
  69236. * Configuration options for the series are given in three levels:
  69237. *
  69238. * 1. Options for all series in a chart are defined in the
  69239. * plotOptions.series object.
  69240. *
  69241. * 2. Options for all `packedbubble` series are defined in
  69242. * plotOptions.packedbubble.
  69243. *
  69244. * 3. Options for one single series are given in the series instance array.
  69245. * (see online documentation for example)
  69246. */
  69247. packedbubble?: PlotPackedbubbleOptions;
  69248. /**
  69249. * (Highcharts) A pareto diagram is a type of chart that contains both bars
  69250. * and a line graph, where individual values are represented in descending
  69251. * order by bars, and the cumulative total is represented by the line.
  69252. *
  69253. * In TypeScript the type option must always be set.
  69254. *
  69255. * Configuration options for the series are given in three levels:
  69256. *
  69257. * 1. Options for all series in a chart are defined in the
  69258. * plotOptions.series object.
  69259. *
  69260. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  69261. *
  69262. * 3. Options for one single series are given in the series instance array.
  69263. * (see online documentation for example)
  69264. */
  69265. pareto?: PlotParetoOptions;
  69266. /**
  69267. * (Highstock) Price channel (PC). This series requires the `linkedTo`
  69268. * option to be set and should be loaded after the
  69269. * `stock/indicators/indicators.js`.
  69270. *
  69271. * In TypeScript the type option must always be set.
  69272. *
  69273. * Configuration options for the series are given in three levels:
  69274. *
  69275. * 1. Options for all series in a chart are defined in the
  69276. * plotOptions.series object.
  69277. *
  69278. * 2. Options for all `pc` series are defined in plotOptions.pc.
  69279. *
  69280. * 3. Options for one single series are given in the series instance array.
  69281. * (see online documentation for example)
  69282. */
  69283. pc?: PlotPcOptions;
  69284. /**
  69285. * (Highcharts) A pie chart is a circular graphic which is divided into
  69286. * slices to illustrate numerical proportion.
  69287. *
  69288. * In TypeScript the type option must always be set.
  69289. *
  69290. * Configuration options for the series are given in three levels:
  69291. *
  69292. * 1. Options for all series in a chart are defined in the
  69293. * plotOptions.series object.
  69294. *
  69295. * 2. Options for all `pie` series are defined in plotOptions.pie.
  69296. *
  69297. * 3. Options for one single series are given in the series instance array.
  69298. * (see online documentation for example)
  69299. */
  69300. pie?: PlotPieOptions;
  69301. /**
  69302. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  69303. * option to be set and should be loaded after
  69304. * `stock/indicators/indicators.js` file.
  69305. *
  69306. * In TypeScript the type option must always be set.
  69307. *
  69308. * Configuration options for the series are given in three levels:
  69309. *
  69310. * 1. Options for all series in a chart are defined in the
  69311. * plotOptions.series object.
  69312. *
  69313. * 2. Options for all `pivotpoints` series are defined in
  69314. * plotOptions.pivotpoints.
  69315. *
  69316. * 3. Options for one single series are given in the series instance array.
  69317. * (see online documentation for example)
  69318. */
  69319. pivotpoints?: PlotPivotpointsOptions;
  69320. /**
  69321. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  69322. * shape in the cartesian coordinate system. A fill is applied with the
  69323. * `color` option, and stroke is applied through `lineWidth` and `lineColor`
  69324. * options.
  69325. *
  69326. * In TypeScript the type option must always be set.
  69327. *
  69328. * Configuration options for the series are given in three levels:
  69329. *
  69330. * 1. Options for all series in a chart are defined in the
  69331. * plotOptions.series object.
  69332. *
  69333. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  69334. *
  69335. * 3. Options for one single series are given in the series instance array.
  69336. * (see online documentation for example)
  69337. */
  69338. polygon?: PlotPolygonOptions;
  69339. /**
  69340. * (Highstock) Percentage Price Oscillator. This series requires the
  69341. * `linkedTo` option to be set and should be loaded after the
  69342. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  69343. *
  69344. * In TypeScript the type option must always be set.
  69345. *
  69346. * Configuration options for the series are given in three levels:
  69347. *
  69348. * 1. Options for all series in a chart are defined in the
  69349. * plotOptions.series object.
  69350. *
  69351. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  69352. *
  69353. * 3. Options for one single series are given in the series instance array.
  69354. * (see online documentation for example)
  69355. */
  69356. ppo?: PlotPpoOptions;
  69357. /**
  69358. * (Highstock) Price envelopes indicator based on SMA calculations. This
  69359. * series requires the `linkedTo` option to be set and should be loaded
  69360. * after the `stock/indicators/indicators.js` file.
  69361. *
  69362. * In TypeScript the type option must always be set.
  69363. *
  69364. * Configuration options for the series are given in three levels:
  69365. *
  69366. * 1. Options for all series in a chart are defined in the
  69367. * plotOptions.series object.
  69368. *
  69369. * 2. Options for all `priceenvelopes` series are defined in
  69370. * plotOptions.priceenvelopes.
  69371. *
  69372. * 3. Options for one single series are given in the series instance array.
  69373. * (see online documentation for example)
  69374. */
  69375. priceenvelopes?: PlotPriceenvelopesOptions;
  69376. /**
  69377. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be
  69378. * set and should be loaded after `stock/indicators/indicators.js` file.
  69379. *
  69380. * In TypeScript the type option must always be set.
  69381. *
  69382. * Configuration options for the series are given in three levels:
  69383. *
  69384. * 1. Options for all series in a chart are defined in the
  69385. * plotOptions.series object.
  69386. *
  69387. * 2. Options for all `psar` series are defined in plotOptions.psar.
  69388. *
  69389. * 3. Options for one single series are given in the series instance array.
  69390. * (see online documentation for example)
  69391. */
  69392. psar?: PlotPsarOptions;
  69393. /**
  69394. * (Highcharts) A pyramid series is a special type of funnel, without neck
  69395. * and reversed by default.
  69396. *
  69397. * In TypeScript the type option must always be set.
  69398. *
  69399. * Configuration options for the series are given in three levels:
  69400. *
  69401. * 1. Options for all series in a chart are defined in the
  69402. * plotOptions.series object.
  69403. *
  69404. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  69405. *
  69406. * 3. Options for one single series are given in the series instance array.
  69407. * (see online documentation for example)
  69408. */
  69409. pyramid?: PlotPyramidOptions;
  69410. /**
  69411. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  69412. * charts are a type of chart often used to visualize stages in a sales
  69413. * project, where the top are the initial stages with the most clients.
  69414. *
  69415. * In TypeScript the type option must always be set.
  69416. *
  69417. * Configuration options for the series are given in three levels:
  69418. *
  69419. * 1. Options for all series in a chart are defined in the
  69420. * plotOptions.series object.
  69421. *
  69422. * 2. Options for all `pyramid3d` series are defined in
  69423. * plotOptions.pyramid3d.
  69424. *
  69425. * 3. Options for one single series are given in the series instance array.
  69426. * (see online documentation for example)
  69427. */
  69428. pyramid3d?: PlotPyramid3dOptions;
  69429. /**
  69430. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  69431. * point is defined as:
  69432. *
  69433. * `(C - Cn) / Cn * 100`
  69434. *
  69435. * where: `C` is the close value of the point of the same x in the linked
  69436. * series and `Cn` is the close value of the point `n` periods ago. `n` is
  69437. * set through period.
  69438. *
  69439. * This series requires `linkedTo` option to be set.
  69440. *
  69441. * In TypeScript the type option must always be set.
  69442. *
  69443. * Configuration options for the series are given in three levels:
  69444. *
  69445. * 1. Options for all series in a chart are defined in the
  69446. * plotOptions.series object.
  69447. *
  69448. * 2. Options for all `roc` series are defined in plotOptions.roc.
  69449. *
  69450. * 3. Options for one single series are given in the series instance array.
  69451. * (see online documentation for example)
  69452. */
  69453. roc?: PlotRocOptions;
  69454. /**
  69455. * (Highstock) Relative strength index (RSI) technical indicator. This
  69456. * series requires the `linkedTo` option to be set and should be loaded
  69457. * after the `stock/indicators/indicators.js` file.
  69458. *
  69459. * In TypeScript the type option must always be set.
  69460. *
  69461. * Configuration options for the series are given in three levels:
  69462. *
  69463. * 1. Options for all series in a chart are defined in the
  69464. * plotOptions.series object.
  69465. *
  69466. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  69467. *
  69468. * 3. Options for one single series are given in the series instance array.
  69469. * (see online documentation for example)
  69470. */
  69471. rsi?: PlotRsiOptions;
  69472. /**
  69473. * (Highcharts) A sankey diagram is a type of flow diagram, in which the
  69474. * width of the link between two nodes is shown proportionally to the flow
  69475. * quantity.
  69476. *
  69477. * In TypeScript the type option must always be set.
  69478. *
  69479. * Configuration options for the series are given in three levels:
  69480. *
  69481. * 1. Options for all series in a chart are defined in the
  69482. * plotOptions.series object.
  69483. *
  69484. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  69485. *
  69486. * 3. Options for one single series are given in the series instance array.
  69487. * (see online documentation for example)
  69488. */
  69489. sankey?: PlotSankeyOptions;
  69490. /**
  69491. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to
  69492. * display values for two variables for a set of data.
  69493. *
  69494. * In TypeScript the type option must always be set.
  69495. *
  69496. * Configuration options for the series are given in three levels:
  69497. *
  69498. * 1. Options for all series in a chart are defined in the
  69499. * plotOptions.series object.
  69500. *
  69501. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  69502. *
  69503. * 3. Options for one single series are given in the series instance array.
  69504. * (see online documentation for example)
  69505. */
  69506. scatter?: PlotScatterOptions;
  69507. /**
  69508. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display
  69509. * values for three variables for a set of data.
  69510. *
  69511. * In TypeScript the type option must always be set.
  69512. *
  69513. * Configuration options for the series are given in three levels:
  69514. *
  69515. * 1. Options for all series in a chart are defined in the
  69516. * plotOptions.series object.
  69517. *
  69518. * 2. Options for all `scatter3d` series are defined in
  69519. * plotOptions.scatter3d.
  69520. *
  69521. * 3. Options for one single series are given in the series instance array.
  69522. * (see online documentation for example)
  69523. */
  69524. scatter3d?: PlotScatter3dOptions;
  69525. /**
  69526. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  69527. * types.
  69528. *
  69529. * In TypeScript the type option must always be set.
  69530. *
  69531. * Configuration options for the series are given in three levels:
  69532. *
  69533. * 1. Options for all series in a chart are defined in the
  69534. * plotOptions.series object.
  69535. *
  69536. * 2. Options for all `line` series are defined in plotOptions.line.
  69537. *
  69538. * 3. Options for one single series are given in the series instance array.
  69539. * (see online documentation for example)
  69540. */
  69541. series?: PlotSeriesOptions;
  69542. /**
  69543. * (Highstock) Slow Stochastic oscillator. This series requires the
  69544. * `linkedTo` option to be set and should be loaded after
  69545. * `stock/indicators/indicators.js` and `stock/indicators/stochastic.js`
  69546. * files.
  69547. *
  69548. * In TypeScript the type option must always be set.
  69549. *
  69550. * Configuration options for the series are given in three levels:
  69551. *
  69552. * 1. Options for all series in a chart are defined in the
  69553. * plotOptions.series object.
  69554. *
  69555. * 2. Options for all `slowstochastic` series are defined in
  69556. * plotOptions.slowstochastic.
  69557. *
  69558. * 3. Options for one single series are given in the series instance array.
  69559. * (see online documentation for example)
  69560. */
  69561. slowstochastic?: PlotSlowstochasticOptions;
  69562. /**
  69563. * (Highstock) Simple moving average indicator (SMA). This series requires
  69564. * `linkedTo` option to be set.
  69565. *
  69566. * In TypeScript the type option must always be set.
  69567. *
  69568. * Configuration options for the series are given in three levels:
  69569. *
  69570. * 1. Options for all series in a chart are defined in the
  69571. * plotOptions.series object.
  69572. *
  69573. * 2. Options for all `sma` series are defined in plotOptions.sma.
  69574. *
  69575. * 3. Options for one single series are given in the series instance array.
  69576. * (see online documentation for example)
  69577. */
  69578. sma?: PlotSmaOptions;
  69579. /**
  69580. * (Highcharts) A solid gauge is a circular gauge where the value is
  69581. * indicated by a filled arc, and the color of the arc may variate with the
  69582. * value.
  69583. *
  69584. * In TypeScript the type option must always be set.
  69585. *
  69586. * Configuration options for the series are given in three levels:
  69587. *
  69588. * 1. Options for all series in a chart are defined in the
  69589. * plotOptions.series object.
  69590. *
  69591. * 2. Options for all `solidgauge` series are defined in
  69592. * plotOptions.solidgauge.
  69593. *
  69594. * 3. Options for one single series are given in the series instance array.
  69595. * (see online documentation for example)
  69596. */
  69597. solidgauge?: PlotSolidgaugeOptions;
  69598. /**
  69599. * (Highcharts, Highstock) A spline series is a special type of line series,
  69600. * where the segments between the data points are smoothed.
  69601. *
  69602. * In TypeScript the type option must always be set.
  69603. *
  69604. * Configuration options for the series are given in three levels:
  69605. *
  69606. * 1. Options for all series in a chart are defined in the
  69607. * plotOptions.series object.
  69608. *
  69609. * 2. Options for all `spline` series are defined in plotOptions.spline.
  69610. *
  69611. * 3. Options for one single series are given in the series instance array.
  69612. * (see online documentation for example)
  69613. */
  69614. spline?: PlotSplineOptions;
  69615. /**
  69616. * (Highstock) Stochastic oscillator. This series requires the `linkedTo`
  69617. * option to be set and should be loaded after the
  69618. * `stock/indicators/indicators.js` file.
  69619. *
  69620. * In TypeScript the type option must always be set.
  69621. *
  69622. * Configuration options for the series are given in three levels:
  69623. *
  69624. * 1. Options for all series in a chart are defined in the
  69625. * plotOptions.series object.
  69626. *
  69627. * 2. Options for all `stochastic` series are defined in
  69628. * plotOptions.stochastic.
  69629. *
  69630. * 3. Options for one single series are given in the series instance array.
  69631. * (see online documentation for example)
  69632. */
  69633. stochastic?: PlotStochasticOptions;
  69634. /**
  69635. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph
  69636. * which is displaced around a central axis, resulting in a flowing, organic
  69637. * shape.
  69638. *
  69639. * In TypeScript the type option must always be set.
  69640. *
  69641. * Configuration options for the series are given in three levels:
  69642. *
  69643. * 1. Options for all series in a chart are defined in the
  69644. * plotOptions.series object.
  69645. *
  69646. * 2. Options for all `streamgraph` series are defined in
  69647. * plotOptions.streamgraph.
  69648. *
  69649. * 3. Options for one single series are given in the series instance array.
  69650. * (see online documentation for example)
  69651. */
  69652. streamgraph?: PlotStreamgraphOptions;
  69653. /**
  69654. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  69655. * hierarchy is represented by a circle. The center represents the root node
  69656. * of the tree. The visualization bears a resemblance to both treemap and
  69657. * pie charts.
  69658. *
  69659. * In TypeScript the type option must always be set.
  69660. *
  69661. * Configuration options for the series are given in three levels:
  69662. *
  69663. * 1. Options for all series in a chart are defined in the
  69664. * plotOptions.series object.
  69665. *
  69666. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  69667. *
  69668. * 3. Options for one single series are given in the series instance array.
  69669. * (see online documentation for example)
  69670. */
  69671. sunburst?: PlotSunburstOptions;
  69672. /**
  69673. * (Highstock) Supertrend indicator. This series requires the `linkedTo`
  69674. * option to be set and should be loaded after the
  69675. * `stock/indicators/indicators.js` and `stock/indicators/sma.js`.
  69676. *
  69677. * In TypeScript the type option must always be set.
  69678. *
  69679. * Configuration options for the series are given in three levels:
  69680. *
  69681. * 1. Options for all series in a chart are defined in the
  69682. * plotOptions.series object.
  69683. *
  69684. * 2. Options for all `supertrend` series are defined in
  69685. * plotOptions.supertrend.
  69686. *
  69687. * 3. Options for one single series are given in the series instance array.
  69688. * (see online documentation for example)
  69689. */
  69690. supertrend?: PlotSupertrendOptions;
  69691. /**
  69692. * (Highstock) Triple exponential moving average (TEMA) indicator. This
  69693. * series requires `linkedTo` option to be set and should be loaded after
  69694. * the `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  69695. *
  69696. * In TypeScript the type option must always be set.
  69697. *
  69698. * Configuration options for the series are given in three levels:
  69699. *
  69700. * 1. Options for all series in a chart are defined in the
  69701. * plotOptions.series object.
  69702. *
  69703. * 2. Options for all `tema` series are defined in plotOptions.tema.
  69704. *
  69705. * 3. Options for one single series are given in the series instance array.
  69706. * (see online documentation for example)
  69707. */
  69708. tema?: PlotTemaOptions;
  69709. /**
  69710. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the
  69711. * tile shapes are configurable.
  69712. *
  69713. * In TypeScript the type option must always be set.
  69714. *
  69715. * Configuration options for the series are given in three levels:
  69716. *
  69717. * 1. Options for all series in a chart are defined in the
  69718. * plotOptions.series object.
  69719. *
  69720. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  69721. *
  69722. * 3. Options for one single series are given in the series instance array.
  69723. * (see online documentation for example)
  69724. */
  69725. tilemap?: PlotTilemapOptions;
  69726. /**
  69727. * (Highcharts) The timeline series presents given events along a drawn
  69728. * line.
  69729. *
  69730. * In TypeScript the type option must always be set.
  69731. *
  69732. * Configuration options for the series are given in three levels:
  69733. *
  69734. * 1. Options for all series in a chart are defined in the
  69735. * plotOptions.series object.
  69736. *
  69737. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  69738. *
  69739. * 3. Options for one single series are given in the series instance array.
  69740. * (see online documentation for example)
  69741. */
  69742. timeline?: PlotTimelineOptions;
  69743. /**
  69744. * (Highcharts) A treemap displays hierarchical data using nested
  69745. * rectangles. The data can be laid out in varying ways depending on
  69746. * options.
  69747. *
  69748. * In TypeScript the type option must always be set.
  69749. *
  69750. * Configuration options for the series are given in three levels:
  69751. *
  69752. * 1. Options for all series in a chart are defined in the
  69753. * plotOptions.series object.
  69754. *
  69755. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  69756. *
  69757. * 3. Options for one single series are given in the series instance array.
  69758. * (see online documentation for example)
  69759. */
  69760. treemap?: PlotTreemapOptions;
  69761. /**
  69762. * (Highstock) Trendline (linear regression) fits a straight line to the
  69763. * selected data using a method called the Sum Of Least Squares. This series
  69764. * requires the `linkedTo` option to be set.
  69765. *
  69766. * In TypeScript the type option must always be set.
  69767. *
  69768. * Configuration options for the series are given in three levels:
  69769. *
  69770. * 1. Options for all series in a chart are defined in the
  69771. * plotOptions.series object.
  69772. *
  69773. * 2. Options for all `trendline` series are defined in
  69774. * plotOptions.trendline.
  69775. *
  69776. * 3. Options for one single series are given in the series instance array.
  69777. * (see online documentation for example)
  69778. */
  69779. trendline?: PlotTrendlineOptions;
  69780. /**
  69781. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  69782. * requires `linkedTo` option to be set.
  69783. *
  69784. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  69785. * https://code.highcharts.com/stock/indicators/tema.js.
  69786. *
  69787. * In TypeScript the type option must always be set.
  69788. *
  69789. * Configuration options for the series are given in three levels:
  69790. *
  69791. * 1. Options for all series in a chart are defined in the
  69792. * plotOptions.series object.
  69793. *
  69794. * 2. Options for all `trix` series are defined in plotOptions.trix.
  69795. *
  69796. * 3. Options for one single series are given in the series instance array.
  69797. * (see online documentation for example)
  69798. */
  69799. trix?: PlotTrixOptions;
  69800. /**
  69801. * (Highcharts) A variable pie series is a two dimensional series type,
  69802. * where each point renders an Y and Z value. Each point is drawn as a pie
  69803. * slice where the size (arc) of the slice relates to the Y value and the
  69804. * radius of pie slice relates to the Z value.
  69805. *
  69806. * In TypeScript the type option must always be set.
  69807. *
  69808. * Configuration options for the series are given in three levels:
  69809. *
  69810. * 1. Options for all series in a chart are defined in the
  69811. * plotOptions.series object.
  69812. *
  69813. * 2. Options for all `variablepie` series are defined in
  69814. * plotOptions.variablepie.
  69815. *
  69816. * 3. Options for one single series are given in the series instance array.
  69817. * (see online documentation for example)
  69818. */
  69819. variablepie?: PlotVariablepieOptions;
  69820. /**
  69821. * (Highcharts) A variwide chart (related to marimekko chart) is a column
  69822. * chart with a variable width expressing a third dimension.
  69823. *
  69824. * In TypeScript the type option must always be set.
  69825. *
  69826. * Configuration options for the series are given in three levels:
  69827. *
  69828. * 1. Options for all series in a chart are defined in the
  69829. * plotOptions.series object.
  69830. *
  69831. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  69832. *
  69833. * 3. Options for one single series are given in the series instance array.
  69834. * (see online documentation for example)
  69835. */
  69836. variwide?: PlotVariwideOptions;
  69837. /**
  69838. * (Highstock) Volume By Price indicator.
  69839. *
  69840. * This series requires `linkedTo` option to be set.
  69841. *
  69842. * In TypeScript the type option must always be set.
  69843. *
  69844. * Configuration options for the series are given in three levels:
  69845. *
  69846. * 1. Options for all series in a chart are defined in the
  69847. * plotOptions.series object.
  69848. *
  69849. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  69850. *
  69851. * 3. Options for one single series are given in the series instance array.
  69852. * (see online documentation for example)
  69853. */
  69854. vbp?: PlotVbpOptions;
  69855. /**
  69856. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where
  69857. * each point has an X and Y position, a length and a direction. Vectors are
  69858. * drawn as arrows.
  69859. *
  69860. * In TypeScript the type option must always be set.
  69861. *
  69862. * Configuration options for the series are given in three levels:
  69863. *
  69864. * 1. Options for all series in a chart are defined in the
  69865. * plotOptions.series object.
  69866. *
  69867. * 2. Options for all `vector` series are defined in plotOptions.vector.
  69868. *
  69869. * 3. Options for one single series are given in the series instance array.
  69870. * (see online documentation for example)
  69871. */
  69872. vector?: PlotVectorOptions;
  69873. /**
  69874. * (Highcharts) A Venn diagram displays all possible logical relations
  69875. * between a collection of different sets. The sets are represented by
  69876. * circles, and the relation between the sets are displayed by the overlap
  69877. * or lack of overlap between them. The venn diagram is a special case of
  69878. * Euler diagrams, which can also be displayed by this series type.
  69879. *
  69880. * In TypeScript the type option must always be set.
  69881. *
  69882. * Configuration options for the series are given in three levels:
  69883. *
  69884. * 1. Options for all series in a chart are defined in the
  69885. * plotOptions.series object.
  69886. *
  69887. * 2. Options for all `venn` series are defined in plotOptions.venn.
  69888. *
  69889. * 3. Options for one single series are given in the series instance array.
  69890. * (see online documentation for example)
  69891. */
  69892. venn?: PlotVennOptions;
  69893. /**
  69894. * (Highstock) Volume Weighted Average Price indicator.
  69895. *
  69896. * This series requires `linkedTo` option to be set.
  69897. *
  69898. * In TypeScript the type option must always be set.
  69899. *
  69900. * Configuration options for the series are given in three levels:
  69901. *
  69902. * 1. Options for all series in a chart are defined in the
  69903. * plotOptions.series object.
  69904. *
  69905. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  69906. *
  69907. * 3. Options for one single series are given in the series instance array.
  69908. * (see online documentation for example)
  69909. */
  69910. vwap?: PlotVwapOptions;
  69911. /**
  69912. * (Highcharts) A waterfall chart displays sequentially introduced positive
  69913. * or negative values in cumulative columns.
  69914. *
  69915. * In TypeScript the type option must always be set.
  69916. *
  69917. * Configuration options for the series are given in three levels:
  69918. *
  69919. * 1. Options for all series in a chart are defined in the
  69920. * plotOptions.series object.
  69921. *
  69922. * 2. Options for all `waterfall` series are defined in
  69923. * plotOptions.waterfall.
  69924. *
  69925. * 3. Options for one single series are given in the series instance array.
  69926. * (see online documentation for example)
  69927. */
  69928. waterfall?: PlotWaterfallOptions;
  69929. /**
  69930. * (Highstock) Williams %R. This series requires the `linkedTo` option to be
  69931. * set and should be loaded after the `stock/indicators/indicators.js`.
  69932. *
  69933. * In TypeScript the type option must always be set.
  69934. *
  69935. * Configuration options for the series are given in three levels:
  69936. *
  69937. * 1. Options for all series in a chart are defined in the
  69938. * plotOptions.series object.
  69939. *
  69940. * 2. Options for all `williamsr` series are defined in
  69941. * plotOptions.williamsr.
  69942. *
  69943. * 3. Options for one single series are given in the series instance array.
  69944. * (see online documentation for example)
  69945. */
  69946. williamsr?: PlotWilliamsrOptions;
  69947. /**
  69948. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  69949. * speed and direction in one graphical form. Wind direction is given by the
  69950. * stem direction, and wind speed by the number and shape of barbs.
  69951. *
  69952. * In TypeScript the type option must always be set.
  69953. *
  69954. * Configuration options for the series are given in three levels:
  69955. *
  69956. * 1. Options for all series in a chart are defined in the
  69957. * plotOptions.series object.
  69958. *
  69959. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  69960. *
  69961. * 3. Options for one single series are given in the series instance array.
  69962. * (see online documentation for example)
  69963. */
  69964. windbarb?: PlotWindbarbOptions;
  69965. /**
  69966. * (Highstock) Weighted moving average indicator (WMA). This series requires
  69967. * `linkedTo` option to be set.
  69968. *
  69969. * In TypeScript the type option must always be set.
  69970. *
  69971. * Configuration options for the series are given in three levels:
  69972. *
  69973. * 1. Options for all series in a chart are defined in the
  69974. * plotOptions.series object.
  69975. *
  69976. * 2. Options for all `wma` series are defined in plotOptions.wma.
  69977. *
  69978. * 3. Options for one single series are given in the series instance array.
  69979. * (see online documentation for example)
  69980. */
  69981. wma?: PlotWmaOptions;
  69982. /**
  69983. * (Highcharts) A word cloud is a visualization of a set of words, where the
  69984. * size and placement of a word is determined by how it is weighted.
  69985. *
  69986. * In TypeScript the type option must always be set.
  69987. *
  69988. * Configuration options for the series are given in three levels:
  69989. *
  69990. * 1. Options for all series in a chart are defined in the
  69991. * plotOptions.series object.
  69992. *
  69993. * 2. Options for all `wordcloud` series are defined in
  69994. * plotOptions.wordcloud.
  69995. *
  69996. * 3. Options for one single series are given in the series instance array.
  69997. * (see online documentation for example)
  69998. */
  69999. wordcloud?: PlotWordcloudOptions;
  70000. /**
  70001. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the
  70002. * X axis, typically time intervals with a start and end date.
  70003. *
  70004. * In TypeScript the type option must always be set.
  70005. *
  70006. * Configuration options for the series are given in three levels:
  70007. *
  70008. * 1. Options for all series in a chart are defined in the
  70009. * plotOptions.series object.
  70010. *
  70011. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  70012. *
  70013. * 3. Options for one single series are given in the series instance array.
  70014. * (see online documentation for example)
  70015. */
  70016. xrange?: PlotXrangeOptions;
  70017. /**
  70018. * (Highstock) Zig Zag indicator.
  70019. *
  70020. * This series requires `linkedTo` option to be set.
  70021. *
  70022. * In TypeScript the type option must always be set.
  70023. *
  70024. * Configuration options for the series are given in three levels:
  70025. *
  70026. * 1. Options for all series in a chart are defined in the
  70027. * plotOptions.series object.
  70028. *
  70029. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  70030. *
  70031. * 3. Options for one single series are given in the series instance array.
  70032. * (see online documentation for example)
  70033. */
  70034. zigzag?: PlotZigzagOptions;
  70035. }
  70036. /**
  70037. * (Highcharts) Enable or disable the initial animation when a series is
  70038. * displayed. The animation can also be set as a configuration object. Please
  70039. * note that this option only applies to the initial animation of the series
  70040. * itself. For other animations, see chart.animation and the animation parameter
  70041. * under the API methods. The following properties are supported:
  70042. *
  70043. * - `defer`: The animation delay time in milliseconds.
  70044. *
  70045. * - `duration`: The duration of the animation in milliseconds.
  70046. *
  70047. * - `easing`: Can be a string reference to an easing function set on the `Math`
  70048. * object or a function. See the _Custom easing function_ demo below.
  70049. *
  70050. * Due to poor performance, animation is disabled in old IE browsers for several
  70051. * chart types.
  70052. */
  70053. export interface PlotOrganizationAnimationOptions {
  70054. defer?: number;
  70055. }
  70056. /**
  70057. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70058. * animation when a series is displayed for the `dataLabels`. The animation can
  70059. * also be set as a configuration object. Please note that this option only
  70060. * applies to the initial animation. For other animations, see chart.animation
  70061. * and the animation parameter under the API methods. The following properties
  70062. * are supported:
  70063. *
  70064. * - `defer`: The animation delay time in milliseconds.
  70065. */
  70066. export interface PlotOrganizationDataLabelsAnimationOptions {
  70067. /**
  70068. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70069. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70070. * inherits defer time from the series.animation.defer.
  70071. */
  70072. defer?: number;
  70073. }
  70074. /**
  70075. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70076. * animation when a series is displayed for the `dataLabels`. The animation can
  70077. * also be set as a configuration object. Please note that this option only
  70078. * applies to the initial animation. For other animations, see chart.animation
  70079. * and the animation parameter under the API methods. The following properties
  70080. * are supported:
  70081. *
  70082. * - `defer`: The animation delay time in milliseconds.
  70083. */
  70084. export interface PlotOrganizationLevelsDataLabelsAnimationOptions {
  70085. /**
  70086. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70087. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70088. * inherits defer time from the series.animation.defer.
  70089. */
  70090. defer?: number;
  70091. }
  70092. /**
  70093. * (Highcharts) Set options on specific levels. Takes precedence over series
  70094. * options, but not node and link options.
  70095. */
  70096. export interface PlotOrganizationLevelsOptions {
  70097. /**
  70098. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  70099. * level.
  70100. */
  70101. borderColor?: ColorString;
  70102. /**
  70103. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  70104. * level.
  70105. */
  70106. borderWidth?: number;
  70107. /**
  70108. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  70109. */
  70110. color?: (ColorString|GradientColorObject|PatternObject);
  70111. /**
  70112. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  70113. * level.
  70114. */
  70115. colorByPoint?: boolean;
  70116. /**
  70117. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  70118. * points which lay on the same level.
  70119. */
  70120. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  70121. /**
  70122. * (Highcharts) Decides which level takes effect from the options set in the
  70123. * levels object.
  70124. */
  70125. level?: number;
  70126. /**
  70127. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  70128. * level.
  70129. */
  70130. linkOpacity?: number;
  70131. /**
  70132. * (Highcharts) Can set `states` on all nodes and points which lay on the
  70133. * same level.
  70134. */
  70135. states?: SeriesStatesOptionsObject;
  70136. }
  70137. /**
  70138. * (Highcharts) An organization chart is a diagram that shows the structure of
  70139. * an organization and the relationships and relative ranks of its parts and
  70140. * positions.
  70141. *
  70142. * In TypeScript the type option must always be set.
  70143. *
  70144. * Configuration options for the series are given in three levels:
  70145. *
  70146. * 1. Options for all series in a chart are defined in the plotOptions.series
  70147. * object.
  70148. *
  70149. * 2. Options for all `organization` series are defined in
  70150. * plotOptions.organization.
  70151. *
  70152. * 3. Options for one single series are given in the series instance array. (see
  70153. * online documentation for example)
  70154. */
  70155. export interface PlotOrganizationOptions {
  70156. /**
  70157. * (Highcharts) Accessibility options for a series.
  70158. */
  70159. accessibility?: SeriesAccessibilityOptionsObject;
  70160. /**
  70161. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  70162. * rendered. If `true`, areas which don't correspond to a data point, are
  70163. * rendered as `null` points. If `false`, those areas are skipped.
  70164. */
  70165. allAreas?: boolean;
  70166. /**
  70167. * (Highcharts) Enable or disable the initial animation when a series is
  70168. * displayed. The animation can also be set as a configuration object.
  70169. * Please note that this option only applies to the initial animation of the
  70170. * series itself. For other animations, see chart.animation and the
  70171. * animation parameter under the API methods. The following properties are
  70172. * supported:
  70173. *
  70174. * - `defer`: The animation delay time in milliseconds.
  70175. *
  70176. * - `duration`: The duration of the animation in milliseconds.
  70177. *
  70178. * - `easing`: Can be a string reference to an easing function set on the
  70179. * `Math` object or a function. See the _Custom easing function_ demo below.
  70180. *
  70181. * Due to poor performance, animation is disabled in old IE browsers for
  70182. * several chart types.
  70183. */
  70184. animation?: (boolean|PlotOrganizationAnimationOptions|Partial<AnimationOptionsObject>);
  70185. /**
  70186. * (Highcharts, Highstock, Gantt) The border color of the node cards.
  70187. */
  70188. borderColor?: ColorString;
  70189. /**
  70190. * (Highcharts) The border radius of the node cards.
  70191. */
  70192. borderRadius?: number;
  70193. /**
  70194. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  70195. * column or bar. Defaults to `1` when there is room for a border, but to
  70196. * `0` when the columns are so dense that a border would cover the next
  70197. * column.
  70198. *
  70199. * In styled mode, the stroke width can be set with the `.highcharts-point`
  70200. * rule.
  70201. */
  70202. borderWidth?: number;
  70203. /**
  70204. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  70205. * the category, ignoring null or missing points. When `false`, space will
  70206. * be reserved for null or missing points.
  70207. */
  70208. centerInCategory?: boolean;
  70209. /**
  70210. * (Highcharts) An additional class name to apply to the series' graphical
  70211. * elements. This option does not replace default class names of the
  70212. * graphical element.
  70213. */
  70214. className?: string;
  70215. /**
  70216. * (Highcharts) Disable this option to allow series rendering in the whole
  70217. * plotting area.
  70218. *
  70219. * **Note:** Clipping should be always enabled when chart.zoomType is set
  70220. */
  70221. clip?: boolean;
  70222. /**
  70223. * (Highcharts) The main color of the series. In line type series it applies
  70224. * to the line and the point markers unless otherwise specified. In bar type
  70225. * series it applies to the bars unless a color is specified per point. The
  70226. * default value is pulled from the `options.colors` array.
  70227. *
  70228. * In styled mode, the color can be defined by the colorIndex option. Also,
  70229. * the series color can be set with the `.highcharts-series`,
  70230. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70231. * `.highcharts-series-{n}` class, or individual classes given by the
  70232. * `className` option.
  70233. */
  70234. color?: (ColorString|GradientColorObject|PatternObject);
  70235. /**
  70236. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  70237. * from the global colors or series-specific plotOptions.column.colors
  70238. * collections, this option determines whether the chart should receive one
  70239. * color per series or one color per point.
  70240. *
  70241. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  70242. * and instead this option gives the points individual color class names on
  70243. * the form `highcharts-color-{n}`.
  70244. */
  70245. colorByPoint?: boolean;
  70246. /**
  70247. * (Highcharts) Styled mode only. A specific color index to use for the
  70248. * series, so its graphic representations are given the class name
  70249. * `highcharts-color-{n}`.
  70250. */
  70251. colorIndex?: number;
  70252. /**
  70253. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  70254. * color set to apply instead of the global colors when colorByPoint is
  70255. * true.
  70256. */
  70257. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  70258. /**
  70259. * (Highstock) Compare the values of the series against the first non-null,
  70260. * non- zero value in the visible range. The y axis will show percentage or
  70261. * absolute change depending on whether `compare` is set to `"percent"` or
  70262. * `"value"`. When this is applied to multiple series, it allows comparing
  70263. * the development of the series against each other. Adds a `change` field
  70264. * to every point object.
  70265. */
  70266. compare?: string;
  70267. /**
  70268. * (Highstock) When compare is `percent`, this option dictates whether to
  70269. * use 0 or 100 as the base of comparison.
  70270. */
  70271. compareBase?: (0|100);
  70272. /**
  70273. * (Highstock) Defines if comparison should start from the first point
  70274. * within the visible range or should start from the first point **before**
  70275. * the range.
  70276. *
  70277. * In other words, this flag determines if first point within the visible
  70278. * range will have 0% (`compareStart=true`) or should have been already
  70279. * calculated according to the previous point (`compareStart=false`).
  70280. */
  70281. compareStart?: boolean;
  70282. /**
  70283. * (Gantt) Override Pathfinder connector options for a series. Requires
  70284. * Highcharts Gantt to be loaded.
  70285. */
  70286. connectors?: SeriesConnectorsOptionsObject;
  70287. /**
  70288. * (Highcharts) You can set the cursor to "pointer" if you have click events
  70289. * attached to the series, to signal to the user that the points and lines
  70290. * can be clicked.
  70291. *
  70292. * In styled mode, the series cursor can be set with the same classes as
  70293. * listed under series.color.
  70294. */
  70295. cursor?: (string|CursorValue);
  70296. /**
  70297. * (Highcharts) A reserved subspace to store options and values for
  70298. * customized functionality. Here you can add additional data for your own
  70299. * event callbacks and formatter callbacks.
  70300. */
  70301. custom?: Dictionary<any>;
  70302. /**
  70303. * (Highcharts) Name of the dash style to use for the graph, or for some
  70304. * series types the outline of each shape.
  70305. *
  70306. * In styled mode, the stroke dash-array can be set with the same classes as
  70307. * listed under series.color.
  70308. */
  70309. dashStyle?: DashStyleValue;
  70310. /**
  70311. * (Highstock) Data grouping is the concept of sampling the data values into
  70312. * larger blocks in order to ease readability and increase performance of
  70313. * the JavaScript charts. Highcharts Stock by default applies data grouping
  70314. * when the points become closer than a certain pixel value, determined by
  70315. * the `groupPixelWidth` option.
  70316. *
  70317. * If data grouping is applied, the grouping information of grouped points
  70318. * can be read from the Point.dataGroup. If point options other than the
  70319. * data itself are set, for example `name` or `color` or custom properties,
  70320. * the grouping logic doesn't know how to group it. In this case the options
  70321. * of the first point instance are copied over to the group point. This can
  70322. * be altered through a custom `approximation` callback function.
  70323. */
  70324. dataGrouping?: DataGroupingOptionsObject;
  70325. /**
  70326. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  70327. * appearing on top of the nodes and links. For sankey charts, data labels
  70328. * are visible for the nodes by default, but hidden for links. This is
  70329. * controlled by modifying the `nodeFormat`, and the `format` that applies
  70330. * to links and is an empty string by default.
  70331. */
  70332. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>);
  70333. /**
  70334. * (Highcharts) A description of the series to add to the screen reader
  70335. * information about the series.
  70336. */
  70337. description?: string;
  70338. /**
  70339. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  70340. * This includes point tooltips and click events on graphs and points. For
  70341. * large datasets it improves performance.
  70342. */
  70343. enableMouseTracking?: boolean;
  70344. /**
  70345. * (Highcharts) General event handlers for the series items. These event
  70346. * hooks can also be attached to the series at run time using the
  70347. * `Highcharts.addEvent` function.
  70348. */
  70349. events?: SeriesEventsOptionsObject;
  70350. /**
  70351. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  70352. * chart width or only the zoomed area when zooming in on parts of the X
  70353. * axis. By default, the Y axis adjusts to the min and max of the visible
  70354. * data. Cartesian series only.
  70355. */
  70356. getExtremesFromAll?: boolean;
  70357. /**
  70358. * (Highcharts) The indentation in pixels of hanging nodes, nodes which
  70359. * parent has layout set to `hanging`.
  70360. */
  70361. hangingIndent?: number;
  70362. /**
  70363. * (Highcharts) When set to `false` will prevent the series data from being
  70364. * included in any form of data export.
  70365. *
  70366. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  70367. * `includeInCSVExport`.
  70368. */
  70369. includeInDataExport?: boolean;
  70370. /**
  70371. * (Highmaps) What property to join the `mapData` to the value data. For
  70372. * example, if joinBy is "code", the mapData items with a specific code is
  70373. * merged into the data with the same code. For maps loaded from GeoJSON,
  70374. * the keys may be held in each point's `properties` object.
  70375. *
  70376. * The joinBy option can also be an array of two values, where the first
  70377. * points to a key in the `mapData`, and the second points to another key in
  70378. * the `data`.
  70379. *
  70380. * When joinBy is `null`, the map items are joined by their position in the
  70381. * array, which performs much better in maps with many data points. This is
  70382. * the recommended option if you are printing more than a thousand data
  70383. * points and have a backend that can preprocess the data into a parallel
  70384. * array of the mapData.
  70385. */
  70386. joinBy?: (string|Array<string>);
  70387. /**
  70388. * (Highcharts) An array specifying which option maps to which key in the
  70389. * data point array. This makes it convenient to work with unstructured data
  70390. * arrays from different sources.
  70391. */
  70392. keys?: Array<string>;
  70393. /**
  70394. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  70395. * series as possible in a natural way, seeking to avoid other series. The
  70396. * goal of this feature is to make the chart more easily readable, like if a
  70397. * human designer placed the labels in the optimal position.
  70398. *
  70399. * The series labels currently work with series types having a `graph` or an
  70400. * `area`.
  70401. */
  70402. label?: SeriesLabelOptionsObject;
  70403. /**
  70404. * (Highstock) The line marks the last price from all points.
  70405. */
  70406. lastPrice?: SeriesLastPriceOptionsObject;
  70407. /**
  70408. * (Highstock) The line marks the last price from visible range of points.
  70409. */
  70410. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  70411. /**
  70412. * (Highcharts) Set options on specific levels. Takes precedence over series
  70413. * options, but not node and link options.
  70414. */
  70415. levels?: Array<PlotOrganizationLevelsOptions>;
  70416. /**
  70417. * (Highcharts) The color of the links between nodes.
  70418. */
  70419. linkColor?: ColorString;
  70420. /**
  70421. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  70422. * Additionally, the value can be ":previous" to link to the previous
  70423. * series. When two series are linked, only the first one appears in the
  70424. * legend. Toggling the visibility of this also toggles the linked series.
  70425. *
  70426. * If master series uses data sorting and linked series does not have its
  70427. * own sorting definition, the linked series will be sorted in the same
  70428. * order as the master one.
  70429. */
  70430. linkedTo?: string;
  70431. /**
  70432. * (Highcharts) The line width of the links connecting nodes, in pixels.
  70433. */
  70434. linkLineWidth?: number;
  70435. /**
  70436. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  70437. */
  70438. linkOpacity?: number;
  70439. /**
  70440. * (Highcharts) Radius for the rounded corners of the links between nodes.
  70441. */
  70442. linkRadius?: number;
  70443. /**
  70444. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  70445. * values are not shown.
  70446. */
  70447. minLinkWidth?: number;
  70448. /**
  70449. * (Highstock) Options for the corresponding navigator series if
  70450. * `showInNavigator` is `true` for this series. Available options are the
  70451. * same as any series, documented at plotOptions and series.
  70452. *
  70453. * These options are merged with options in navigator.series, and will take
  70454. * precedence if the same option is defined both places.
  70455. */
  70456. navigatorOptions?: PlotSeriesOptions;
  70457. /**
  70458. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  70459. * wheel, in pixels.
  70460. *
  70461. * If the number of nodes is so great that it is possible to lay them out
  70462. * within the plot area with the given `nodePadding`, they will be rendered
  70463. * with a smaller padding as a strategy to avoid overflow.
  70464. */
  70465. nodePadding?: number;
  70466. /**
  70467. * (Highcharts) In a horizontal chart, the width of the nodes in pixels.
  70468. * Node that most organization charts are vertical, so the name of this
  70469. * option is counterintuitive.
  70470. */
  70471. nodeWidth?: number;
  70472. /**
  70473. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  70474. * dataLabels.
  70475. */
  70476. opacity?: number;
  70477. /**
  70478. * (Highcharts) Properties for each single point.
  70479. */
  70480. point?: PlotSeriesPointOptions;
  70481. /**
  70482. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  70483. * an individual series. Overrides the chart wide configuration.
  70484. */
  70485. pointDescriptionFormatter?: Function;
  70486. /**
  70487. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  70488. * true, the checkbox next to the series name in the legend will be checked
  70489. * for a selected series.
  70490. */
  70491. selected?: boolean;
  70492. /**
  70493. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  70494. * allow selecting the series. The state of the checkbox is determined by
  70495. * the `selected` option.
  70496. */
  70497. showCheckbox?: boolean;
  70498. /**
  70499. * (Highcharts) Whether to display this particular series or series type in
  70500. * the legend. Standalone series are shown in legend by default, and linked
  70501. * series are not. Since v7.2.0 it is possible to show series that use
  70502. * colorAxis by setting this option to `true`.
  70503. */
  70504. showInLegend?: boolean;
  70505. /**
  70506. * (Highstock) Whether or not to show the series in the navigator. Takes
  70507. * precedence over navigator.baseSeries if defined.
  70508. */
  70509. showInNavigator?: boolean;
  70510. /**
  70511. * (Highcharts) If set to `true`, the accessibility module will skip past
  70512. * the points in this series for keyboard navigation.
  70513. */
  70514. skipKeyboardNavigation?: boolean;
  70515. states?: SeriesStatesOptionsObject;
  70516. /**
  70517. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  70518. * event on a series isn't triggered until the mouse moves over another
  70519. * series, or out of the plot area. When false, the `mouseOut` event on a
  70520. * series is triggered when the mouse leaves the area around the series'
  70521. * graph or markers. This also implies the tooltip when not shared. When
  70522. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  70523. * be hidden when moving the mouse between series. Defaults to true for line
  70524. * and area type series, but to false for columns, pies etc.
  70525. *
  70526. * **Note:** The boost module will force this option because of technical
  70527. * limitations.
  70528. */
  70529. stickyTracking?: boolean;
  70530. /**
  70531. * (Highcharts) A configuration object for the tooltip rendering of each
  70532. * single series. Properties are inherited from tooltip, but only the
  70533. * following properties can be defined on a series level.
  70534. */
  70535. tooltip?: SeriesTooltipOptionsObject;
  70536. /**
  70537. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  70538. * is longer than this, only one dimensional arrays of numbers, or two
  70539. * dimensional arrays with x and y values are allowed. Also, only the first
  70540. * point is tested, and the rest are assumed to be the same format. This
  70541. * saves expensive data checking and indexing in long series. Set it to `0`
  70542. * disable.
  70543. *
  70544. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  70545. * two dimensional arrays are allowed.
  70546. */
  70547. turboThreshold?: number;
  70548. /**
  70549. * (Highcharts) Set the initial visibility of the series.
  70550. */
  70551. visible?: boolean;
  70552. /**
  70553. * (Highmaps) Define the z index of the series.
  70554. */
  70555. zIndex?: number;
  70556. }
  70557. /**
  70558. * (Highcharts) Enable or disable the initial animation when a series is
  70559. * displayed. The animation can also be set as a configuration object. Please
  70560. * note that this option only applies to the initial animation of the series
  70561. * itself. For other animations, see chart.animation and the animation parameter
  70562. * under the API methods. The following properties are supported:
  70563. *
  70564. * - `defer`: The animation delay time in milliseconds.
  70565. *
  70566. * - `duration`: The duration of the animation in milliseconds.
  70567. *
  70568. * - `easing`: Can be a string reference to an easing function set on the `Math`
  70569. * object or a function. See the _Custom easing function_ demo below.
  70570. *
  70571. * Due to poor performance, animation is disabled in old IE browsers for several
  70572. * chart types.
  70573. */
  70574. export interface PlotPackedbubbleAnimationOptions {
  70575. defer?: number;
  70576. }
  70577. /**
  70578. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  70579. * animation when a series is displayed for the `dataLabels`. The animation can
  70580. * also be set as a configuration object. Please note that this option only
  70581. * applies to the initial animation. For other animations, see chart.animation
  70582. * and the animation parameter under the API methods. The following properties
  70583. * are supported:
  70584. *
  70585. * - `defer`: The animation delay time in milliseconds.
  70586. */
  70587. export interface PlotPackedbubbleDataLabelsAnimationOptions {
  70588. /**
  70589. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  70590. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  70591. * inherits defer time from the series.animation.defer.
  70592. */
  70593. defer?: number;
  70594. }
  70595. /**
  70596. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
  70597. * `color` setting is `"contrast"`, which is a pseudo color that Highcharts
  70598. * picks up and applies the maximum contrast to the underlying point item, for
  70599. * example the bar in a bar chart.
  70600. *
  70601. * The `textOutline` is a pseudo property that applies an outline of the given
  70602. * width with the given color, which by default is the maximum contrast to the
  70603. * text. So a bright text color will result in a black text outline for maximum
  70604. * readability on a mixed background. In some cases, especially with grayscale
  70605. * text, the text outline doesn't work well, in which cases it can be disabled
  70606. * by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
  70607. * be picked up. In this, case, the same effect can be acheived through the
  70608. * `text-shadow` CSS property.
  70609. *
  70610. * For some series types, where each point has an extent, like for example tree
  70611. * maps, the data label may overflow the point. There are two strategies for
  70612. * handling overflow. By default, the text will wrap to multiple lines. The
  70613. * other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
  70614. * the text on one line plus it will break inside long words.
  70615. */
  70616. export interface PlotPackedbubbleDataLabelsStyleOptions {
  70617. transition?: string;
  70618. }
  70619. /**
  70620. * (Highcharts) Options for layout algorithm when simulation is enabled. Inside
  70621. * there are options to change the speed, padding, initial bubbles positions and
  70622. * more.
  70623. */
  70624. export interface PlotPackedbubbleLayoutAlgorithmOptions {
  70625. /**
  70626. * (Highcharts) The distance between two bubbles, when the algorithm starts
  70627. * to treat two bubbles as overlapping. The `bubblePadding` is also the
  70628. * expected distance between all the bubbles on simulation end.
  70629. */
  70630. bubblePadding?: number;
  70631. /**
  70632. * (Highcharts) In case of split series, this option allows user to drag and
  70633. * drop points between series, for changing point related series.
  70634. */
  70635. dragBetweenSeries?: boolean;
  70636. /**
  70637. * (Highcharts) Experimental. Enables live simulation of the algorithm
  70638. * implementation. All nodes are animated as the forces applies on them.
  70639. */
  70640. enableSimulation?: boolean;
  70641. /**
  70642. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  70643. * to the desired positions.
  70644. */
  70645. friction?: number;
  70646. /**
  70647. * (Highcharts) Gravitational const used in the barycenter force of the
  70648. * algorithm.
  70649. */
  70650. gravitationalConstant?: number;
  70651. /**
  70652. * (Highcharts) When `initialPositions` are set to 'circle',
  70653. * `initialPositionRadius` is a distance from the center of circle, in which
  70654. * nodes are created.
  70655. */
  70656. initialPositionRadius?: number;
  70657. /**
  70658. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  70659. * of the built-in options ("circle", "random") or a function where
  70660. * positions should be set on each node (`this.nodes`) as `node.plotX` and
  70661. * `node.plotY`.
  70662. */
  70663. initialPositions?: ("circle"|"random"|Function);
  70664. /**
  70665. * (Highcharts) Integration type. Available options are `'euler'` and
  70666. * `'verlet'`. Integration determines how forces are applied on particles.
  70667. * In Euler integration, force is applied direct as `newPosition +=
  70668. * velocity;`. In Verlet integration, new position is based on a previous
  70669. * posittion without velocity: `newPosition += previousPosition -
  70670. * newPosition`.
  70671. *
  70672. * Note that different integrations give different results as forces are
  70673. * different.
  70674. *
  70675. * In Highcharts v7.0.x only `'euler'` integration was supported.
  70676. */
  70677. integration?: OptionsIntegrationValue;
  70678. /**
  70679. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  70680. * defined, length is calculated as: `Math.pow(availableWidth *
  70681. * availableHeight / nodesLength, 0.4);`
  70682. *
  70683. * Note: Because of the algorithm specification, length of each link might
  70684. * be not exactly as specified.
  70685. */
  70686. linkLength?: number;
  70687. /**
  70688. * (Highcharts) Max number of iterations before algorithm will stop. In
  70689. * general, algorithm should find positions sooner, but when rendering huge
  70690. * number of nodes, it is recommended to increase this value as finding
  70691. * perfect graph positions can require more time.
  70692. */
  70693. maxIterations?: number;
  70694. /**
  70695. * (Highcharts) Max speed that node can get in one iteration. In terms of
  70696. * simulation, it's a maximum translation (in pixels) that a node can move
  70697. * (in both, x and y, dimensions). While `friction` is applied on all nodes,
  70698. * max speed is applied only for nodes that move very fast, for example
  70699. * small or disconnected ones.
  70700. */
  70701. maxSpeed?: number;
  70702. /**
  70703. * (Highcharts) Whether bubbles should interact with their parentNode to
  70704. * keep them inside.
  70705. */
  70706. parentNodeLimit?: boolean;
  70707. /**
  70708. * (Highcharts) Layout algorithm options for parent nodes.
  70709. */
  70710. parentNodeOptions?: PlotPackedbubbleLayoutAlgorithmParentNodeOptions;
  70711. /**
  70712. * (Highcharts) Whether series should interact with each other or not. When
  70713. * `parentNodeLimit` is set to true, thi option should be set to false to
  70714. * avoid sticking points in wrong series parentNode.
  70715. */
  70716. seriesInteraction?: boolean;
  70717. /**
  70718. * (Highcharts) Whether to split series into individual groups or to mix all
  70719. * series together.
  70720. */
  70721. splitSeries?: string;
  70722. /**
  70723. * (Highcharts) Type of the algorithm used when positioning nodes.
  70724. */
  70725. type?: "reingold-fruchterman";
  70726. }
  70727. /**
  70728. * (Highcharts) Layout algorithm options for parent nodes.
  70729. */
  70730. export interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
  70731. /**
  70732. * (Highcharts) Friction applied on forces to prevent nodes rushing to fast
  70733. * to the desired positions.
  70734. */
  70735. friction?: number;
  70736. /**
  70737. * (Highcharts) Gravitational const used in the barycenter force of the
  70738. * algorithm.
  70739. */
  70740. gravitationalConstant?: number;
  70741. /**
  70742. * (Highcharts) When `initialPositions` are set to 'circle',
  70743. * `initialPositionRadius` is a distance from the center of circle, in which
  70744. * nodes are created.
  70745. */
  70746. initialPositionRadius?: number;
  70747. /**
  70748. * (Highcharts) Initial layout algorithm for positioning nodes. Can be one
  70749. * of built-in options ("circle", "random") or a function where positions
  70750. * should be set on each node (`this.nodes`) as `node.plotX` and
  70751. * `node.plotY`
  70752. */
  70753. initialPositions?: ("circle"|"random"|Function);
  70754. /**
  70755. * (Highcharts) Integration type. Available options are `'euler'` and
  70756. * `'verlet'`. Integration determines how forces are applied on particles.
  70757. * In Euler integration, force is applied direct as `newPosition +=
  70758. * velocity;`. In Verlet integration, new position is based on a previous
  70759. * posittion without velocity: `newPosition += previousPosition -
  70760. * newPosition`.
  70761. *
  70762. * Note that different integrations give different results as forces are
  70763. * different.
  70764. *
  70765. * In Highcharts v7.0.x only `'euler'` integration was supported.
  70766. */
  70767. integration?: OptionsIntegrationValue;
  70768. /**
  70769. * (Highcharts) Ideal length (px) of the link between two nodes. When not
  70770. * defined, length is calculated as: `Math.pow(availableWidth *
  70771. * availableHeight / nodesLength, 0.4);`
  70772. *
  70773. * Note: Because of the algorithm specification, length of each link might
  70774. * be not exactly as specified.
  70775. */
  70776. linkLength?: number;
  70777. /**
  70778. * (Highcharts) Styling options for parentNodes markers. Similar to
  70779. * line.marker options.
  70780. */
  70781. marker?: PointMarkerOptionsObject;
  70782. /**
  70783. * (Highcharts) Max number of iterations before algorithm will stop. In
  70784. * general, algorithm should find positions sooner, but when rendering huge
  70785. * number of nodes, it is recommended to increase this value as finding
  70786. * perfect graph positions can require more time.
  70787. */
  70788. maxIterations?: number;
  70789. /**
  70790. * (Highcharts) Verlet integration only. Max speed that node can get in one
  70791. * iteration. In terms of simulation, it's a maximum translation (in pixels)
  70792. * that node can move (in both, x and y, dimensions). While `friction` is
  70793. * applied on all nodes, max speed is applied only for nodes that move very
  70794. * fast, for example small or disconnected ones.
  70795. */
  70796. maxSpeed?: number;
  70797. seriesInteraction?: boolean;
  70798. /**
  70799. * (Highcharts) Type of the algorithm used when positioning nodes.
  70800. */
  70801. type?: "reingold-fruchterman";
  70802. }
  70803. /**
  70804. * (Highcharts) A packed bubble series is a two dimensional series type, where
  70805. * each point renders a value in X, Y position. Each point is drawn as a bubble
  70806. * where the bubbles don't overlap with each other and the radius of the bubble
  70807. * relates to the value.
  70808. *
  70809. * In TypeScript the type option must always be set.
  70810. *
  70811. * Configuration options for the series are given in three levels:
  70812. *
  70813. * 1. Options for all series in a chart are defined in the plotOptions.series
  70814. * object.
  70815. *
  70816. * 2. Options for all `packedbubble` series are defined in
  70817. * plotOptions.packedbubble.
  70818. *
  70819. * 3. Options for one single series are given in the series instance array. (see
  70820. * online documentation for example)
  70821. */
  70822. export interface PlotPackedbubbleOptions {
  70823. /**
  70824. * (Highcharts) Accessibility options for a series.
  70825. */
  70826. accessibility?: SeriesAccessibilityOptionsObject;
  70827. /**
  70828. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  70829. * rendered. If `true`, areas which don't correspond to a data point, are
  70830. * rendered as `null` points. If `false`, those areas are skipped.
  70831. */
  70832. allAreas?: boolean;
  70833. /**
  70834. * (Highcharts) Allow this series' points to be selected by clicking on the
  70835. * graphic (columns, point markers, pie slices, map areas etc).
  70836. *
  70837. * The selected points can be handled by point select and unselect events,
  70838. * or collectively by the getSelectedPoints function.
  70839. *
  70840. * And alternative way of selecting points is through dragging.
  70841. */
  70842. allowPointSelect?: boolean;
  70843. /**
  70844. * (Highcharts) Enable or disable the initial animation when a series is
  70845. * displayed. The animation can also be set as a configuration object.
  70846. * Please note that this option only applies to the initial animation of the
  70847. * series itself. For other animations, see chart.animation and the
  70848. * animation parameter under the API methods. The following properties are
  70849. * supported:
  70850. *
  70851. * - `defer`: The animation delay time in milliseconds.
  70852. *
  70853. * - `duration`: The duration of the animation in milliseconds.
  70854. *
  70855. * - `easing`: Can be a string reference to an easing function set on the
  70856. * `Math` object or a function. See the _Custom easing function_ demo below.
  70857. *
  70858. * Due to poor performance, animation is disabled in old IE browsers for
  70859. * several chart types.
  70860. */
  70861. animation?: (boolean|PlotPackedbubbleAnimationOptions|Partial<AnimationOptionsObject>);
  70862. /**
  70863. * (Highcharts) If there are more points in the series than the
  70864. * `animationLimit`, the animation won't run. Animation affects overall
  70865. * performance and doesn't work well with heavy data series.
  70866. */
  70867. animationLimit?: number;
  70868. /**
  70869. * (Highmaps) The border color of the map areas.
  70870. *
  70871. * In styled mode, the border stroke is given in the `.highcharts-point`
  70872. * class.
  70873. */
  70874. borderColor?: (ColorString|GradientColorObject|PatternObject);
  70875. /**
  70876. * (Highmaps) The border width of each map area.
  70877. *
  70878. * In styled mode, the border stroke width is given in the
  70879. * `.highcharts-point` class.
  70880. */
  70881. borderWidth?: number;
  70882. /**
  70883. * (Highcharts) An additional class name to apply to the series' graphical
  70884. * elements. This option does not replace default class names of the
  70885. * graphical element.
  70886. */
  70887. className?: string;
  70888. /**
  70889. * (Highcharts) Disable this option to allow series rendering in the whole
  70890. * plotting area.
  70891. *
  70892. * **Note:** Clipping should be always enabled when chart.zoomType is set
  70893. */
  70894. clip?: boolean;
  70895. /**
  70896. * (Highcharts) The main color of the series. In line type series it applies
  70897. * to the line and the point markers unless otherwise specified. In bar type
  70898. * series it applies to the bars unless a color is specified per point. The
  70899. * default value is pulled from the `options.colors` array.
  70900. *
  70901. * In styled mode, the color can be defined by the colorIndex option. Also,
  70902. * the series color can be set with the `.highcharts-series`,
  70903. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  70904. * `.highcharts-series-{n}` class, or individual classes given by the
  70905. * `className` option.
  70906. */
  70907. color?: (ColorString|GradientColorObject|PatternObject);
  70908. /**
  70909. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  70910. * this number defines which colorAxis the particular series is connected
  70911. * to. It refers to either the axis id or the index of the axis in the
  70912. * colorAxis array, with 0 being the first. Set this option to false to
  70913. * prevent a series from connecting to the default color axis.
  70914. *
  70915. * Since v7.2.0 the option can also be an axis id or an axis index instead
  70916. * of a boolean flag.
  70917. */
  70918. colorAxis?: (boolean|number|string);
  70919. /**
  70920. * (Highcharts) Styled mode only. A specific color index to use for the
  70921. * series, so its graphic representations are given the class name
  70922. * `highcharts-color-{n}`.
  70923. */
  70924. colorIndex?: number;
  70925. /**
  70926. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  70927. * used to calculate point color if `colorAxis` is used. Requires to set
  70928. * `min` and `max` if some custom point property is used or if approximation
  70929. * for data grouping is set to `'sum'`.
  70930. */
  70931. colorKey?: string;
  70932. /**
  70933. * (Highstock) Compare the values of the series against the first non-null,
  70934. * non- zero value in the visible range. The y axis will show percentage or
  70935. * absolute change depending on whether `compare` is set to `"percent"` or
  70936. * `"value"`. When this is applied to multiple series, it allows comparing
  70937. * the development of the series against each other. Adds a `change` field
  70938. * to every point object.
  70939. */
  70940. compare?: string;
  70941. /**
  70942. * (Highstock) When compare is `percent`, this option dictates whether to
  70943. * use 0 or 100 as the base of comparison.
  70944. */
  70945. compareBase?: (0|100);
  70946. /**
  70947. * (Highstock) Defines if comparison should start from the first point
  70948. * within the visible range or should start from the first point **before**
  70949. * the range.
  70950. *
  70951. * In other words, this flag determines if first point within the visible
  70952. * range will have 0% (`compareStart=true`) or should have been already
  70953. * calculated according to the previous point (`compareStart=false`).
  70954. */
  70955. compareStart?: boolean;
  70956. /**
  70957. * (Gantt) Override Pathfinder connector options for a series. Requires
  70958. * Highcharts Gantt to be loaded.
  70959. */
  70960. connectors?: SeriesConnectorsOptionsObject;
  70961. /**
  70962. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  70963. * rounded to its nearest pixel in order to render sharp on screen. In some
  70964. * cases, when there are a lot of densely packed columns, this leads to
  70965. * visible difference in column widths or distance between columns. In these
  70966. * cases, setting `crisp` to `false` may look better, even though each
  70967. * column is rendered blurry.
  70968. */
  70969. crisp?: boolean;
  70970. /**
  70971. * (Highcharts) You can set the cursor to "pointer" if you have click events
  70972. * attached to the series, to signal to the user that the points and lines
  70973. * can be clicked.
  70974. *
  70975. * In styled mode, the series cursor can be set with the same classes as
  70976. * listed under series.color.
  70977. */
  70978. cursor?: (string|CursorValue);
  70979. /**
  70980. * (Highcharts) A reserved subspace to store options and values for
  70981. * customized functionality. Here you can add additional data for your own
  70982. * event callbacks and formatter callbacks.
  70983. */
  70984. custom?: Dictionary<any>;
  70985. /**
  70986. * (Highcharts) Name of the dash style to use for the graph, or for some
  70987. * series types the outline of each shape.
  70988. *
  70989. * In styled mode, the stroke dash-array can be set with the same classes as
  70990. * listed under series.color.
  70991. */
  70992. dashStyle?: DashStyleValue;
  70993. /**
  70994. * (Highstock) Data grouping is the concept of sampling the data values into
  70995. * larger blocks in order to ease readability and increase performance of
  70996. * the JavaScript charts. Highcharts Stock by default applies data grouping
  70997. * when the points become closer than a certain pixel value, determined by
  70998. * the `groupPixelWidth` option.
  70999. *
  71000. * If data grouping is applied, the grouping information of grouped points
  71001. * can be read from the Point.dataGroup. If point options other than the
  71002. * data itself are set, for example `name` or `color` or custom properties,
  71003. * the grouping logic doesn't know how to group it. In this case the options
  71004. * of the first point instance are copied over to the group point. This can
  71005. * be altered through a custom `approximation` callback function.
  71006. */
  71007. dataGrouping?: DataGroupingOptionsObject;
  71008. /**
  71009. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  71010. * labels, appearing next to each data point.
  71011. *
  71012. * Since v6.2.0, multiple data labels can be applied to each single point by
  71013. * defining them as an array of configs.
  71014. *
  71015. * In styled mode, the data labels can be styled with the
  71016. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  71017. * (see example).
  71018. */
  71019. dataLabels?: (SeriesPackedBubbleDataLabelsOptionsObject|Array<SeriesPackedBubbleDataLabelsOptionsObject>);
  71020. /**
  71021. * (Highcharts) A description of the series to add to the screen reader
  71022. * information about the series.
  71023. */
  71024. description?: string;
  71025. /**
  71026. * (Highcharts) Whether to display negative sized bubbles. The threshold is
  71027. * given by the zThreshold option, and negative bubbles can be visualized by
  71028. * setting negativeColor.
  71029. */
  71030. displayNegative?: boolean;
  71031. /**
  71032. * (Highcharts) Flag to determine if nodes are draggable or not. Available
  71033. * for graph with useSimulation set to true only.
  71034. */
  71035. draggable?: boolean;
  71036. /**
  71037. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  71038. * This includes point tooltips and click events on graphs and points. For
  71039. * large datasets it improves performance.
  71040. */
  71041. enableMouseTracking?: boolean;
  71042. /**
  71043. * (Highcharts) General event handlers for the series items. These event
  71044. * hooks can also be attached to the series at run time using the
  71045. * `Highcharts.addEvent` function.
  71046. */
  71047. events?: SeriesEventsOptionsObject;
  71048. /**
  71049. * (Highcharts) Determines whether the series should look for the nearest
  71050. * point in both dimensions or just the x-dimension when hovering the
  71051. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  71052. * series. If the data has duplicate x-values, it is recommended to set this
  71053. * to `'xy'` to allow hovering over all points.
  71054. *
  71055. * Applies only to series types using nearest neighbor search (not direct
  71056. * hover) for tooltip.
  71057. */
  71058. findNearestPointBy?: OptionsFindNearestPointByValue;
  71059. /**
  71060. * (Highstock) Defines when to display a gap in the graph, together with the
  71061. * gapUnit option.
  71062. *
  71063. * In case when `dataGrouping` is enabled, points can be grouped into a
  71064. * larger time span. This can make the grouped points to have a greater
  71065. * distance than the absolute value of `gapSize` property, which will result
  71066. * in disappearing graph completely. To prevent this situation the mentioned
  71067. * distance between grouped points is used instead of previously defined
  71068. * `gapSize`.
  71069. *
  71070. * In practice, this option is most often used to visualize gaps in time
  71071. * series. In a stock chart, intraday data is available for daytime hours,
  71072. * while gaps will appear in nights and weekends.
  71073. */
  71074. gapSize?: number;
  71075. /**
  71076. * (Highstock) Together with gapSize, this option defines where to draw gaps
  71077. * in the graph.
  71078. *
  71079. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  71080. * if the distance between two points is greater than 5 times that of the
  71081. * two closest points, the graph will be broken.
  71082. *
  71083. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  71084. * values, which on a datetime axis is milliseconds. This also applies to
  71085. * the navigator series that inherits gap options from the base series.
  71086. */
  71087. gapUnit?: OptionsGapUnitValue;
  71088. /**
  71089. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71090. * chart width or only the zoomed area when zooming in on parts of the X
  71091. * axis. By default, the Y axis adjusts to the min and max of the visible
  71092. * data. Cartesian series only.
  71093. */
  71094. getExtremesFromAll?: boolean;
  71095. /**
  71096. * (Highcharts) When set to `false` will prevent the series data from being
  71097. * included in any form of data export.
  71098. *
  71099. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71100. * `includeInCSVExport`.
  71101. */
  71102. includeInDataExport?: boolean;
  71103. /**
  71104. * (Highmaps) What property to join the `mapData` to the value data. For
  71105. * example, if joinBy is "code", the mapData items with a specific code is
  71106. * merged into the data with the same code. For maps loaded from GeoJSON,
  71107. * the keys may be held in each point's `properties` object.
  71108. *
  71109. * The joinBy option can also be an array of two values, where the first
  71110. * points to a key in the `mapData`, and the second points to another key in
  71111. * the `data`.
  71112. *
  71113. * When joinBy is `null`, the map items are joined by their position in the
  71114. * array, which performs much better in maps with many data points. This is
  71115. * the recommended option if you are printing more than a thousand data
  71116. * points and have a backend that can preprocess the data into a parallel
  71117. * array of the mapData.
  71118. */
  71119. joinBy?: (string|Array<string>);
  71120. /**
  71121. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71122. * series as possible in a natural way, seeking to avoid other series. The
  71123. * goal of this feature is to make the chart more easily readable, like if a
  71124. * human designer placed the labels in the optimal position.
  71125. *
  71126. * The series labels currently work with series types having a `graph` or an
  71127. * `area`.
  71128. */
  71129. label?: SeriesLabelOptionsObject;
  71130. /**
  71131. * (Highstock) The line marks the last price from all points.
  71132. */
  71133. lastPrice?: SeriesLastPriceOptionsObject;
  71134. /**
  71135. * (Highstock) The line marks the last price from visible range of points.
  71136. */
  71137. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71138. /**
  71139. * (Highcharts) Options for layout algorithm when simulation is enabled.
  71140. * Inside there are options to change the speed, padding, initial bubbles
  71141. * positions and more.
  71142. */
  71143. layoutAlgorithm?: PlotPackedbubbleLayoutAlgorithmOptions;
  71144. /**
  71145. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71146. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71147. * the ends and bends.
  71148. */
  71149. linecap?: SeriesLinecapValue;
  71150. /**
  71151. * (Highcharts, Highstock) The width of the line connecting the data points.
  71152. */
  71153. lineWidth?: number;
  71154. /**
  71155. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  71156. * Additionally, the value can be ":previous" to link to the previous
  71157. * series. When two series are linked, only the first one appears in the
  71158. * legend. Toggling the visibility of this also toggles the linked series.
  71159. *
  71160. * If master series uses data sorting and linked series does not have its
  71161. * own sorting definition, the linked series will be sorted in the same
  71162. * order as the master one.
  71163. */
  71164. linkedTo?: string;
  71165. /**
  71166. * (Highcharts) Options for the point markers of line-like series.
  71167. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  71168. * visual appearance of the markers. Other series types, like column series,
  71169. * don't have markers, but have visual options on the series level instead.
  71170. *
  71171. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71172. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71173. */
  71174. marker?: PointMarkerOptionsObject;
  71175. /**
  71176. * (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
  71177. * size between the `minSize` and `maxSize` to reflect the value of each
  71178. * bubble. Can be either pixels (when no unit is given), or a percentage of
  71179. * the smallest one of the plot width and height, divided by the square root
  71180. * of total number of points.
  71181. */
  71182. maxSize?: (number|string);
  71183. /**
  71184. * (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
  71185. * size between the `minSize` and `maxSize` to reflect the value of each
  71186. * bubble. Can be either pixels (when no unit is given), or a percentage of
  71187. * the smallest one of the plot width and height, divided by the square root
  71188. * of total number of points.
  71189. */
  71190. minSize?: (number|string);
  71191. /**
  71192. * (Highstock) Options for the corresponding navigator series if
  71193. * `showInNavigator` is `true` for this series. Available options are the
  71194. * same as any series, documented at plotOptions and series.
  71195. *
  71196. * These options are merged with options in navigator.series, and will take
  71197. * precedence if the same option is defined both places.
  71198. */
  71199. navigatorOptions?: PlotSeriesOptions;
  71200. /**
  71201. * (Highcharts) When a point's Z value is below the zThreshold setting, this
  71202. * color is used.
  71203. */
  71204. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  71205. /**
  71206. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  71207. * dataLabels.
  71208. */
  71209. opacity?: number;
  71210. /**
  71211. * (Highcharts) Series options for parent nodes.
  71212. */
  71213. parentNode?: PlotPackedbubbleParentNodeOptions;
  71214. /**
  71215. * (Highcharts) Properties for each single point.
  71216. */
  71217. point?: PlotSeriesPointOptions;
  71218. /**
  71219. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  71220. * an individual series. Overrides the chart wide configuration.
  71221. */
  71222. pointDescriptionFormatter?: Function;
  71223. /**
  71224. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  71225. * a series, `pointInterval` defines the interval of the x values. For
  71226. * example, if a series contains one value every decade starting from year
  71227. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  71228. * `pointInterval` is set in milliseconds.
  71229. *
  71230. * It can be also be combined with `pointIntervalUnit` to draw irregular
  71231. * time intervals.
  71232. *
  71233. * Please note that this options applies to the _series data_, not the
  71234. * interval of the axis ticks, which is independent.
  71235. */
  71236. pointInterval?: number;
  71237. /**
  71238. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  71239. * setting the pointInterval to irregular time units, `day`, `month` and
  71240. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  71241. * also takes the DST crossover into consideration when dealing with local
  71242. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  71243. * months, 10 years etc.
  71244. *
  71245. * Please note that this options applies to the _series data_, not the
  71246. * interval of the axis ticks, which is independent.
  71247. */
  71248. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  71249. /**
  71250. * (Highstock) The width of each point on the x axis. For example in a
  71251. * column chart with one value each day, the pointRange would be 1 day (= 24
  71252. * * 3600
  71253. *
  71254. * * 1000 milliseconds). This is normally computed automatically, but this
  71255. * option can be used to override the automatic value.
  71256. */
  71257. pointRange?: number;
  71258. /**
  71259. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  71260. * a series, pointStart defines on what value to start. For example, if a
  71261. * series contains one yearly value starting from 1945, set pointStart to
  71262. * 1945.
  71263. */
  71264. pointStart?: number;
  71265. /**
  71266. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  71267. * true, the checkbox next to the series name in the legend will be checked
  71268. * for a selected series.
  71269. */
  71270. selected?: boolean;
  71271. /**
  71272. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  71273. * allow selecting the series. The state of the checkbox is determined by
  71274. * the `selected` option.
  71275. */
  71276. showCheckbox?: boolean;
  71277. /**
  71278. * (Highcharts) Whether to display this particular series or series type in
  71279. * the legend. Standalone series are shown in legend by default, and linked
  71280. * series are not. Since v7.2.0 it is possible to show series that use
  71281. * colorAxis by setting this option to `true`.
  71282. */
  71283. showInLegend?: boolean;
  71284. /**
  71285. * (Highstock) Whether or not to show the series in the navigator. Takes
  71286. * precedence over navigator.baseSeries if defined.
  71287. */
  71288. showInNavigator?: boolean;
  71289. /**
  71290. * (Highcharts) Whether the bubble's value should be represented by the area
  71291. * or the width of the bubble. The default, `area`, corresponds best to the
  71292. * human perception of the size of each bubble.
  71293. */
  71294. sizeBy?: string;
  71295. /**
  71296. * (Highcharts) If set to `true`, the accessibility module will skip past
  71297. * the points in this series for keyboard navigation.
  71298. */
  71299. skipKeyboardNavigation?: boolean;
  71300. /**
  71301. * (Highcharts) When this is true, the series will not cause the Y axis to
  71302. * cross the zero plane (or threshold option) unless the data actually
  71303. * crosses the plane.
  71304. *
  71305. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  71306. * make the Y axis show negative values according to the `minPadding`
  71307. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  71308. */
  71309. softThreshold?: boolean;
  71310. /**
  71311. * (Highcharts, Highstock) Whether to stack the values of each series on top
  71312. * of each other. Possible values are `undefined` to disable, `"normal"` to
  71313. * stack by value or `"percent"`.
  71314. *
  71315. * When stacking is enabled, data must be sorted in ascending X order.
  71316. *
  71317. * Some stacking options are related to specific series types. In the
  71318. * streamgraph series type, the stacking option is set to `"stream"`. The
  71319. * second one is `"overlap"`, which only applies to waterfall series.
  71320. */
  71321. stacking?: OptionsStackingValue;
  71322. states?: SeriesStatesOptionsObject;
  71323. /**
  71324. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  71325. * `mouseOut` event on a series isn't triggered until the mouse moves over
  71326. * another series, or out of the plot area. When false, the `mouseOut` event
  71327. * on a series is triggered when the mouse leaves the area around the
  71328. * series' graph or markers. This also implies the tooltip. When
  71329. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  71330. * be hidden when moving the mouse between series.
  71331. */
  71332. stickyTracking?: boolean;
  71333. /**
  71334. * (Highcharts, Highstock) The threshold, also called zero level or base
  71335. * level. For line type series this is only used in conjunction with
  71336. * negativeColor.
  71337. */
  71338. threshold?: (number|null);
  71339. /**
  71340. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  71341. * of each single series. Properties are inherited from tooltip. Overridable
  71342. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  71343. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  71344. * series.name by default shows in the headerFormat and point.x and point.y
  71345. * in the pointFormat.
  71346. */
  71347. tooltip?: SeriesTooltipOptionsObject;
  71348. /**
  71349. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  71350. * is longer than this, only one dimensional arrays of numbers, or two
  71351. * dimensional arrays with x and y values are allowed. Also, only the first
  71352. * point is tested, and the rest are assumed to be the same format. This
  71353. * saves expensive data checking and indexing in long series. Set it to `0`
  71354. * disable.
  71355. *
  71356. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  71357. * two dimensional arrays are allowed.
  71358. */
  71359. turboThreshold?: number;
  71360. /**
  71361. * (Highcharts) An option is giving a possibility to choose between using
  71362. * simulation for calculating bubble positions. These reflects in both
  71363. * animation and final position of bubbles. Simulation is also adding
  71364. * options to the series graph based on used layout. In case of big data
  71365. * sets, with any performance issues, it is possible to disable animation
  71366. * and pack bubble in a simple circular way.
  71367. */
  71368. useSimulation?: boolean;
  71369. /**
  71370. * (Highcharts) Set the initial visibility of the series.
  71371. */
  71372. visible?: boolean;
  71373. /**
  71374. * (Highmaps) Define the z index of the series.
  71375. */
  71376. zIndex?: number;
  71377. /**
  71378. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  71379. */
  71380. zoneAxis?: string;
  71381. /**
  71382. * (Highcharts, Highstock) An array defining zones within a series. Zones
  71383. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  71384. * the `zoneAxis` option. The zone definitions have to be in ascending order
  71385. * regarding to the value.
  71386. *
  71387. * In styled mode, the color zones are styled with the
  71388. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  71389. * option (view live demo).
  71390. */
  71391. zones?: Array<SeriesZonesOptionsObject>;
  71392. /**
  71393. * (Highcharts) When displayNegative is `false`, bubbles with lower Z values
  71394. * are skipped. When `displayNegative` is `true` and a negativeColor is
  71395. * given, points with lower Z is colored.
  71396. */
  71397. zThreshold?: number;
  71398. }
  71399. /**
  71400. * (Highcharts) Series options for parent nodes.
  71401. */
  71402. export interface PlotPackedbubbleParentNodeOptions {
  71403. /**
  71404. * (Highcharts) Allow this series' parent nodes to be selected by clicking
  71405. * on the graph.
  71406. */
  71407. allowPointSelect?: boolean;
  71408. }
  71409. /**
  71410. * (Highcharts) Enable or disable the initial animation when a series is
  71411. * displayed. The animation can also be set as a configuration object. Please
  71412. * note that this option only applies to the initial animation of the series
  71413. * itself. For other animations, see chart.animation and the animation parameter
  71414. * under the API methods. The following properties are supported:
  71415. *
  71416. * - `defer`: The animation delay time in milliseconds.
  71417. *
  71418. * - `duration`: The duration of the animation in milliseconds.
  71419. *
  71420. * - `easing`: Can be a string reference to an easing function set on the `Math`
  71421. * object or a function. See the _Custom easing function_ demo below.
  71422. *
  71423. * Due to poor performance, animation is disabled in old IE browsers for several
  71424. * chart types.
  71425. */
  71426. export interface PlotParetoAnimationOptions {
  71427. defer?: number;
  71428. }
  71429. /**
  71430. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71431. * animation when a series is displayed for the `dataLabels`. The animation can
  71432. * also be set as a configuration object. Please note that this option only
  71433. * applies to the initial animation. For other animations, see chart.animation
  71434. * and the animation parameter under the API methods. The following properties
  71435. * are supported:
  71436. *
  71437. * - `defer`: The animation delay time in milliseconds.
  71438. */
  71439. export interface PlotParetoDataLabelsAnimationOptions {
  71440. /**
  71441. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  71442. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  71443. * inherits defer time from the series.animation.defer.
  71444. */
  71445. defer?: number;
  71446. }
  71447. /**
  71448. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  71449. * appearing next to each data point.
  71450. *
  71451. * Since v6.2.0, multiple data labels can be applied to each single point by
  71452. * defining them as an array of configs.
  71453. *
  71454. * In styled mode, the data labels can be styled with the
  71455. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  71456. * example).
  71457. */
  71458. export interface PlotParetoDataLabelsOptions {
  71459. /**
  71460. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  71461. * compared to the point. If `right`, the right side of the label should be
  71462. * touching the point. For points with an extent, like columns, the
  71463. * alignments also dictates how to align it inside the box, as given with
  71464. * the inside option. Can be one of `left`, `center` or `right`.
  71465. */
  71466. align?: (AlignValue|null);
  71467. /**
  71468. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  71469. * overlap. To make the labels less sensitive for overlapping, the
  71470. * dataLabels.padding can be set to 0.
  71471. */
  71472. allowOverlap?: boolean;
  71473. /**
  71474. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  71475. * animation when a series is displayed for the `dataLabels`. The animation
  71476. * can also be set as a configuration object. Please note that this option
  71477. * only applies to the initial animation. For other animations, see
  71478. * chart.animation and the animation parameter under the API methods. The
  71479. * following properties are supported:
  71480. *
  71481. * - `defer`: The animation delay time in milliseconds.
  71482. */
  71483. animation?: (boolean|PlotParetoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  71484. /**
  71485. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  71486. * for the data label.
  71487. */
  71488. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  71489. /**
  71490. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  71491. * label. Defaults to `undefined`.
  71492. */
  71493. borderColor?: (ColorString|GradientColorObject|PatternObject);
  71494. /**
  71495. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  71496. * the data label.
  71497. */
  71498. borderRadius?: number;
  71499. /**
  71500. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  71501. * the data label.
  71502. */
  71503. borderWidth?: number;
  71504. /**
  71505. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  71506. * Particularly in styled mode, this can be used to give each series' or
  71507. * point's data label unique styling. In addition to this option, a default
  71508. * color class name is added so that we can give the labels a contrast text
  71509. * shadow.
  71510. */
  71511. className?: string;
  71512. /**
  71513. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  71514. * labels. Defaults to `undefined`. For certain series types, like column or
  71515. * map, the data labels can be drawn inside the points. In this case the
  71516. * data label will be drawn with maximum contrast by default. Additionally,
  71517. * it will be given a `text-outline` style with the opposite color, to
  71518. * further increase the contrast. This can be overridden by setting the
  71519. * `text-outline` style to `none` in the `dataLabels.style` option.
  71520. */
  71521. color?: (ColorString|GradientColorObject|PatternObject);
  71522. /**
  71523. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  71524. * are outside the plot area. By default, the data label is moved inside the
  71525. * plot area according to the overflow option.
  71526. */
  71527. crop?: boolean;
  71528. /**
  71529. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  71530. * labels until the initial series animation has finished. Setting to
  71531. * `false` renders the data label immediately. If set to `true` inherits the
  71532. * defer time set in plotOptions.series.animation. If set to a number, a
  71533. * defer time is specified in milliseconds.
  71534. */
  71535. defer?: (boolean|number);
  71536. /**
  71537. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  71538. * labels.
  71539. */
  71540. enabled?: boolean;
  71541. /**
  71542. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  71543. * of which data labels to display. The declarative filter is designed for
  71544. * use when callback functions are not available, like when the chart
  71545. * options require a pure JSON structure or for use with graphical editors.
  71546. * For programmatic control, use the `formatter` instead, and return
  71547. * `undefined` to disable a single data label.
  71548. */
  71549. filter?: DataLabelsFilterOptionsObject;
  71550. /**
  71551. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  71552. * label. Available variables are the same as for `formatter`.
  71553. */
  71554. format?: string;
  71555. /**
  71556. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  71557. * format the data label. Note that if a `format` is defined, the format
  71558. * takes precedence and the formatter is ignored.
  71559. */
  71560. formatter?: DataLabelsFormatterCallbackFunction;
  71561. /**
  71562. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  71563. * columns or map areas, whether to align the data label inside the box or
  71564. * to the actual value point. Defaults to `false` in most cases, `true` in
  71565. * stacked columns.
  71566. */
  71567. inside?: boolean;
  71568. /**
  71569. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  71570. * of null. Works analogously to format. `nullFormat` can be applied only to
  71571. * series which support displaying null points.
  71572. */
  71573. nullFormat?: (boolean|string);
  71574. /**
  71575. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  71576. * that defines formatting for points with the value of null. Works
  71577. * analogously to formatter. `nullPointFormatter` can be applied only to
  71578. * series which support displaying null points.
  71579. */
  71580. nullFormatter?: DataLabelsFormatterCallbackFunction;
  71581. /**
  71582. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  71583. * flow outside the plot area. The default is `"justify"`, which aligns them
  71584. * inside the plot area. For columns and bars, this means it will be moved
  71585. * inside the bar. To display data labels outside the plot area, set `crop`
  71586. * to `false` and `overflow` to `"allow"`.
  71587. */
  71588. overflow?: DataLabelsOverflowValue;
  71589. /**
  71590. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  71591. * the `backgroundColor` is set, this is the padding within the box.
  71592. */
  71593. padding?: number;
  71594. /**
  71595. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  71596. * points. If `center` alignment is not possible, it defaults to `right`.
  71597. */
  71598. position?: AlignValue;
  71599. /**
  71600. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  71601. * that due to a more complex structure, backgrounds, borders and padding
  71602. * will be lost on a rotated data label.
  71603. */
  71604. rotation?: number;
  71605. /**
  71606. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  71607. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  71608. * an object configuration containing `color`, `offsetX`, `offsetY`,
  71609. * `opacity` and `width`.
  71610. */
  71611. shadow?: (boolean|ShadowOptionsObject);
  71612. /**
  71613. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  71614. * the border around the label. Symbols are predefined functions on the
  71615. * Renderer object.
  71616. */
  71617. shape?: string;
  71618. /**
  71619. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  71620. * default `color` setting is `"contrast"`, which is a pseudo color that
  71621. * Highcharts picks up and applies the maximum contrast to the underlying
  71622. * point item, for example the bar in a bar chart.
  71623. *
  71624. * The `textOutline` is a pseudo property that applies an outline of the
  71625. * given width with the given color, which by default is the maximum
  71626. * contrast to the text. So a bright text color will result in a black text
  71627. * outline for maximum readability on a mixed background. In some cases,
  71628. * especially with grayscale text, the text outline doesn't work well, in
  71629. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  71630. * is true, the `textOutline` will not be picked up. In this, case, the same
  71631. * effect can be acheived through the `text-shadow` CSS property.
  71632. *
  71633. * For some series types, where each point has an extent, like for example
  71634. * tree maps, the data label may overflow the point. There are two
  71635. * strategies for handling overflow. By default, the text will wrap to
  71636. * multiple lines. The other strategy is to set `style.textOverflow` to
  71637. * `ellipsis`, which will keep the text on one line plus it will break
  71638. * inside long words.
  71639. */
  71640. style?: CSSObject;
  71641. /**
  71642. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  71643. * should follow marker's shape. Border and background are disabled for a
  71644. * label that follows a path.
  71645. *
  71646. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  71647. * to true will disable this option.
  71648. */
  71649. textPath?: DataLabelsTextPathOptionsObject;
  71650. /**
  71651. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  71652. * the labels.
  71653. */
  71654. useHTML?: boolean;
  71655. /**
  71656. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  71657. * label. Can be one of `top`, `middle` or `bottom`. The default value
  71658. * depends on the data, for instance in a column chart, the label is above
  71659. * positive values and below negative values.
  71660. */
  71661. verticalAlign?: (VerticalAlignValue|null);
  71662. /**
  71663. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  71664. * label relative to the point in pixels.
  71665. */
  71666. x?: number;
  71667. /**
  71668. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  71669. * label relative to the point in pixels.
  71670. */
  71671. y?: number;
  71672. /**
  71673. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  71674. * The default Z index puts it above the series. Use a Z index of 2 to
  71675. * display it behind the series.
  71676. */
  71677. z?: number;
  71678. }
  71679. /**
  71680. * (Highcharts, Highstock) Options for the series data sorting.
  71681. */
  71682. export interface PlotParetoDataSortingOptions {
  71683. /**
  71684. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  71685. * Use xAxis.reversed to change the sorting order.
  71686. */
  71687. enabled?: boolean;
  71688. /**
  71689. * (Highcharts, Highstock) Whether to allow matching points by name in an
  71690. * update. If this option is disabled, points will be matched by order.
  71691. */
  71692. matchByName?: boolean;
  71693. /**
  71694. * (Highcharts, Highstock) Determines what data value should be used to sort
  71695. * by.
  71696. */
  71697. sortKey?: string;
  71698. }
  71699. /**
  71700. * (Highcharts) A pareto diagram is a type of chart that contains both bars and
  71701. * a line graph, where individual values are represented in descending order by
  71702. * bars, and the cumulative total is represented by the line.
  71703. *
  71704. * In TypeScript the type option must always be set.
  71705. *
  71706. * Configuration options for the series are given in three levels:
  71707. *
  71708. * 1. Options for all series in a chart are defined in the plotOptions.series
  71709. * object.
  71710. *
  71711. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  71712. *
  71713. * 3. Options for one single series are given in the series instance array. (see
  71714. * online documentation for example)
  71715. */
  71716. export interface PlotParetoOptions {
  71717. /**
  71718. * (Highcharts) Accessibility options for a series.
  71719. */
  71720. accessibility?: SeriesAccessibilityOptionsObject;
  71721. /**
  71722. * (Highcharts) Allow this series' points to be selected by clicking on the
  71723. * graphic (columns, point markers, pie slices, map areas etc).
  71724. *
  71725. * The selected points can be handled by point select and unselect events,
  71726. * or collectively by the getSelectedPoints function.
  71727. *
  71728. * And alternative way of selecting points is through dragging.
  71729. */
  71730. allowPointSelect?: boolean;
  71731. /**
  71732. * (Highcharts) Enable or disable the initial animation when a series is
  71733. * displayed. The animation can also be set as a configuration object.
  71734. * Please note that this option only applies to the initial animation of the
  71735. * series itself. For other animations, see chart.animation and the
  71736. * animation parameter under the API methods. The following properties are
  71737. * supported:
  71738. *
  71739. * - `defer`: The animation delay time in milliseconds.
  71740. *
  71741. * - `duration`: The duration of the animation in milliseconds.
  71742. *
  71743. * - `easing`: Can be a string reference to an easing function set on the
  71744. * `Math` object or a function. See the _Custom easing function_ demo below.
  71745. *
  71746. * Due to poor performance, animation is disabled in old IE browsers for
  71747. * several chart types.
  71748. */
  71749. animation?: (boolean|PlotParetoAnimationOptions|Partial<AnimationOptionsObject>);
  71750. /**
  71751. * (Highcharts) For some series, there is a limit that shuts down initial
  71752. * animation by default when the total number of points in the chart is too
  71753. * high. For example, for a column chart and its derivatives, animation does
  71754. * not run if there is more than 250 points totally. To disable this cap,
  71755. * set `animationLimit` to `Infinity`.
  71756. */
  71757. animationLimit?: number;
  71758. /**
  71759. * (Highcharts) An additional class name to apply to the series' graphical
  71760. * elements. This option does not replace default class names of the
  71761. * graphical element.
  71762. */
  71763. className?: string;
  71764. /**
  71765. * (Highcharts) Disable this option to allow series rendering in the whole
  71766. * plotting area.
  71767. *
  71768. * **Note:** Clipping should be always enabled when chart.zoomType is set
  71769. */
  71770. clip?: boolean;
  71771. /**
  71772. * (Highcharts) The main color of the series. In line type series it applies
  71773. * to the line and the point markers unless otherwise specified. In bar type
  71774. * series it applies to the bars unless a color is specified per point. The
  71775. * default value is pulled from the `options.colors` array.
  71776. *
  71777. * In styled mode, the color can be defined by the colorIndex option. Also,
  71778. * the series color can be set with the `.highcharts-series`,
  71779. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  71780. * `.highcharts-series-{n}` class, or individual classes given by the
  71781. * `className` option.
  71782. */
  71783. color?: (ColorString|GradientColorObject|PatternObject);
  71784. /**
  71785. * (Highcharts) Styled mode only. A specific color index to use for the
  71786. * series, so its graphic representations are given the class name
  71787. * `highcharts-color-{n}`.
  71788. */
  71789. colorIndex?: number;
  71790. /**
  71791. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  71792. * used to calculate point color if `colorAxis` is used. Requires to set
  71793. * `min` and `max` if some custom point property is used or if approximation
  71794. * for data grouping is set to `'sum'`.
  71795. */
  71796. colorKey?: string;
  71797. /**
  71798. * (Highstock) Compare the values of the series against the first non-null,
  71799. * non- zero value in the visible range. The y axis will show percentage or
  71800. * absolute change depending on whether `compare` is set to `"percent"` or
  71801. * `"value"`. When this is applied to multiple series, it allows comparing
  71802. * the development of the series against each other. Adds a `change` field
  71803. * to every point object.
  71804. */
  71805. compare?: string;
  71806. /**
  71807. * (Highstock) When compare is `percent`, this option dictates whether to
  71808. * use 0 or 100 as the base of comparison.
  71809. */
  71810. compareBase?: (0|100);
  71811. /**
  71812. * (Highstock) Defines if comparison should start from the first point
  71813. * within the visible range or should start from the first point **before**
  71814. * the range.
  71815. *
  71816. * In other words, this flag determines if first point within the visible
  71817. * range will have 0% (`compareStart=true`) or should have been already
  71818. * calculated according to the previous point (`compareStart=false`).
  71819. */
  71820. compareStart?: boolean;
  71821. /**
  71822. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  71823. * series plot across the extremes.
  71824. */
  71825. connectEnds?: boolean;
  71826. /**
  71827. * (Highcharts, Highstock) Whether to connect a graph line across null
  71828. * points, or render a gap between the two points on either side of the
  71829. * null.
  71830. */
  71831. connectNulls?: boolean;
  71832. /**
  71833. * (Gantt) Override Pathfinder connector options for a series. Requires
  71834. * Highcharts Gantt to be loaded.
  71835. */
  71836. connectors?: SeriesConnectorsOptionsObject;
  71837. /**
  71838. * (Highcharts, Highstock) When the series contains less points than the
  71839. * crop threshold, all points are drawn, even if the points fall outside the
  71840. * visible plot area at the current zoom. The advantage of drawing all
  71841. * points (including markers and columns), is that animation is performed on
  71842. * updates. On the other hand, when the series contains more points than the
  71843. * crop threshold, the series data is cropped to only contain points that
  71844. * fall within the plot area. The advantage of cropping away invisible
  71845. * points is to increase performance on large series.
  71846. */
  71847. cropThreshold?: number;
  71848. /**
  71849. * (Highcharts) You can set the cursor to "pointer" if you have click events
  71850. * attached to the series, to signal to the user that the points and lines
  71851. * can be clicked.
  71852. *
  71853. * In styled mode, the series cursor can be set with the same classes as
  71854. * listed under series.color.
  71855. */
  71856. cursor?: (string|CursorValue);
  71857. /**
  71858. * (Highcharts) A reserved subspace to store options and values for
  71859. * customized functionality. Here you can add additional data for your own
  71860. * event callbacks and formatter callbacks.
  71861. */
  71862. custom?: Dictionary<any>;
  71863. /**
  71864. * (Highcharts) Name of the dash style to use for the graph, or for some
  71865. * series types the outline of each shape.
  71866. *
  71867. * In styled mode, the stroke dash-array can be set with the same classes as
  71868. * listed under series.color.
  71869. */
  71870. dashStyle?: DashStyleValue;
  71871. /**
  71872. * (Highstock) Data grouping is the concept of sampling the data values into
  71873. * larger blocks in order to ease readability and increase performance of
  71874. * the JavaScript charts. Highcharts Stock by default applies data grouping
  71875. * when the points become closer than a certain pixel value, determined by
  71876. * the `groupPixelWidth` option.
  71877. *
  71878. * If data grouping is applied, the grouping information of grouped points
  71879. * can be read from the Point.dataGroup. If point options other than the
  71880. * data itself are set, for example `name` or `color` or custom properties,
  71881. * the grouping logic doesn't know how to group it. In this case the options
  71882. * of the first point instance are copied over to the group point. This can
  71883. * be altered through a custom `approximation` callback function.
  71884. */
  71885. dataGrouping?: DataGroupingOptionsObject;
  71886. /**
  71887. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  71888. * labels, appearing next to each data point.
  71889. *
  71890. * Since v6.2.0, multiple data labels can be applied to each single point by
  71891. * defining them as an array of configs.
  71892. *
  71893. * In styled mode, the data labels can be styled with the
  71894. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  71895. * (see example).
  71896. */
  71897. dataLabels?: (PlotParetoDataLabelsOptions|Array<PlotParetoDataLabelsOptions>);
  71898. /**
  71899. * (Highcharts, Highstock) Options for the series data sorting.
  71900. */
  71901. dataSorting?: (DataSortingOptionsObject|PlotParetoDataSortingOptions);
  71902. /**
  71903. * (Highcharts) A description of the series to add to the screen reader
  71904. * information about the series.
  71905. */
  71906. description?: string;
  71907. /**
  71908. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  71909. * This includes point tooltips and click events on graphs and points. For
  71910. * large datasets it improves performance.
  71911. */
  71912. enableMouseTracking?: boolean;
  71913. /**
  71914. * (Highcharts) General event handlers for the series items. These event
  71915. * hooks can also be attached to the series at run time using the
  71916. * `Highcharts.addEvent` function.
  71917. */
  71918. events?: SeriesEventsOptionsObject;
  71919. /**
  71920. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  71921. * chart width or only the zoomed area when zooming in on parts of the X
  71922. * axis. By default, the Y axis adjusts to the min and max of the visible
  71923. * data. Cartesian series only.
  71924. */
  71925. getExtremesFromAll?: boolean;
  71926. /**
  71927. * (Highcharts) When set to `false` will prevent the series data from being
  71928. * included in any form of data export.
  71929. *
  71930. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  71931. * `includeInCSVExport`.
  71932. */
  71933. includeInDataExport?: boolean;
  71934. /**
  71935. * (Highmaps) What property to join the `mapData` to the value data. For
  71936. * example, if joinBy is "code", the mapData items with a specific code is
  71937. * merged into the data with the same code. For maps loaded from GeoJSON,
  71938. * the keys may be held in each point's `properties` object.
  71939. *
  71940. * The joinBy option can also be an array of two values, where the first
  71941. * points to a key in the `mapData`, and the second points to another key in
  71942. * the `data`.
  71943. *
  71944. * When joinBy is `null`, the map items are joined by their position in the
  71945. * array, which performs much better in maps with many data points. This is
  71946. * the recommended option if you are printing more than a thousand data
  71947. * points and have a backend that can preprocess the data into a parallel
  71948. * array of the mapData.
  71949. */
  71950. joinBy?: (string|Array<string>);
  71951. /**
  71952. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  71953. * series as possible in a natural way, seeking to avoid other series. The
  71954. * goal of this feature is to make the chart more easily readable, like if a
  71955. * human designer placed the labels in the optimal position.
  71956. *
  71957. * The series labels currently work with series types having a `graph` or an
  71958. * `area`.
  71959. */
  71960. label?: SeriesLabelOptionsObject;
  71961. /**
  71962. * (Highstock) The line marks the last price from all points.
  71963. */
  71964. lastPrice?: SeriesLastPriceOptionsObject;
  71965. /**
  71966. * (Highstock) The line marks the last price from visible range of points.
  71967. */
  71968. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  71969. /**
  71970. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  71971. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  71972. * the ends and bends.
  71973. */
  71974. linecap?: SeriesLinecapValue;
  71975. /**
  71976. * (Highcharts, Highstock) Pixel width of the graph line.
  71977. */
  71978. lineWidth?: number;
  71979. /**
  71980. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  71981. * Additionally, the value can be ":previous" to link to the previous
  71982. * series. When two series are linked, only the first one appears in the
  71983. * legend. Toggling the visibility of this also toggles the linked series.
  71984. *
  71985. * If master series uses data sorting and linked series does not have its
  71986. * own sorting definition, the linked series will be sorted in the same
  71987. * order as the master one.
  71988. */
  71989. linkedTo?: string;
  71990. /**
  71991. * (Highcharts) Options for the point markers of line-like series.
  71992. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  71993. * visual appearance of the markers. Other series types, like column series,
  71994. * don't have markers, but have visual options on the series level instead.
  71995. *
  71996. * In styled mode, the markers can be styled with the `.highcharts-point`,
  71997. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  71998. */
  71999. marker?: PointMarkerOptionsObject;
  72000. /**
  72001. * (Highstock) Options for the corresponding navigator series if
  72002. * `showInNavigator` is `true` for this series. Available options are the
  72003. * same as any series, documented at plotOptions and series.
  72004. *
  72005. * These options are merged with options in navigator.series, and will take
  72006. * precedence if the same option is defined both places.
  72007. */
  72008. navigatorOptions?: PlotSeriesOptions;
  72009. /**
  72010. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  72011. * dataLabels.
  72012. */
  72013. opacity?: number;
  72014. /**
  72015. * (Highcharts) Properties for each single point.
  72016. */
  72017. point?: PlotSeriesPointOptions;
  72018. /**
  72019. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  72020. * an individual series. Overrides the chart wide configuration.
  72021. */
  72022. pointDescriptionFormatter?: Function;
  72023. /**
  72024. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  72025. * true, the checkbox next to the series name in the legend will be checked
  72026. * for a selected series.
  72027. */
  72028. selected?: boolean;
  72029. /**
  72030. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  72031. * allow selecting the series. The state of the checkbox is determined by
  72032. * the `selected` option.
  72033. */
  72034. showCheckbox?: boolean;
  72035. /**
  72036. * (Highcharts) Whether to display this particular series or series type in
  72037. * the legend. Standalone series are shown in legend by default, and linked
  72038. * series are not. Since v7.2.0 it is possible to show series that use
  72039. * colorAxis by setting this option to `true`.
  72040. */
  72041. showInLegend?: boolean;
  72042. /**
  72043. * (Highstock) Whether or not to show the series in the navigator. Takes
  72044. * precedence over navigator.baseSeries if defined.
  72045. */
  72046. showInNavigator?: boolean;
  72047. /**
  72048. * (Highcharts) If set to `true`, the accessibility module will skip past
  72049. * the points in this series for keyboard navigation.
  72050. */
  72051. skipKeyboardNavigation?: boolean;
  72052. states?: SeriesStatesOptionsObject;
  72053. /**
  72054. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  72055. * event on a series isn't triggered until the mouse moves over another
  72056. * series, or out of the plot area. When false, the `mouseOut` event on a
  72057. * series is triggered when the mouse leaves the area around the series'
  72058. * graph or markers. This also implies the tooltip when not shared. When
  72059. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72060. * be hidden when moving the mouse between series. Defaults to true for line
  72061. * and area type series, but to false for columns, pies etc.
  72062. *
  72063. * **Note:** The boost module will force this option because of technical
  72064. * limitations.
  72065. */
  72066. stickyTracking?: boolean;
  72067. /**
  72068. * (Highcharts) A configuration object for the tooltip rendering of each
  72069. * single series. Properties are inherited from tooltip, but only the
  72070. * following properties can be defined on a series level.
  72071. */
  72072. tooltip?: SeriesTooltipOptionsObject;
  72073. /**
  72074. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72075. * is longer than this, only one dimensional arrays of numbers, or two
  72076. * dimensional arrays with x and y values are allowed. Also, only the first
  72077. * point is tested, and the rest are assumed to be the same format. This
  72078. * saves expensive data checking and indexing in long series. Set it to `0`
  72079. * disable.
  72080. *
  72081. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72082. * two dimensional arrays are allowed.
  72083. */
  72084. turboThreshold?: number;
  72085. /**
  72086. * (Highstock) The parameter allows setting line series type and use OHLC
  72087. * indicators. Data in OHLC format is required.
  72088. */
  72089. useOhlcData?: boolean;
  72090. /**
  72091. * (Highcharts) Set the initial visibility of the series.
  72092. */
  72093. visible?: boolean;
  72094. /**
  72095. * (Highmaps) Higher zIndex than column series to draw line above shapes.
  72096. */
  72097. zIndex?: number;
  72098. }
  72099. /**
  72100. * (Highstock) Enable or disable the initial animation when a series is
  72101. * displayed. The animation can also be set as a configuration object. Please
  72102. * note that this option only applies to the initial animation of the series
  72103. * itself. For other animations, see chart.animation and the animation parameter
  72104. * under the API methods. The following properties are supported:
  72105. *
  72106. * - `defer`: The animation delay time in milliseconds.
  72107. *
  72108. * - `duration`: The duration of the animation in milliseconds.
  72109. *
  72110. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72111. * object or a function. See the _Custom easing function_ demo below.
  72112. *
  72113. * Due to poor performance, animation is disabled in old IE browsers for several
  72114. * chart types.
  72115. */
  72116. export interface PlotPcAnimationOptions {
  72117. defer?: number;
  72118. }
  72119. export interface PlotPcBottomLineOptions {
  72120. styles?: PlotPcBottomLineStylesOptions;
  72121. }
  72122. export interface PlotPcBottomLineStylesOptions {
  72123. /**
  72124. * (Highstock) Color of the bottom line. If not set, it's inherited from
  72125. * plotOptions.pc.color.
  72126. */
  72127. lineColor?: ColorString;
  72128. /**
  72129. * (Highstock) Pixel width of the line.
  72130. */
  72131. lineWidth?: number;
  72132. }
  72133. /**
  72134. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72135. * animation when a series is displayed for the `dataLabels`. The animation can
  72136. * also be set as a configuration object. Please note that this option only
  72137. * applies to the initial animation. For other animations, see chart.animation
  72138. * and the animation parameter under the API methods. The following properties
  72139. * are supported:
  72140. *
  72141. * - `defer`: The animation delay time in milliseconds.
  72142. */
  72143. export interface PlotPcDataLabelsAnimationOptions {
  72144. /**
  72145. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  72146. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  72147. * inherits defer time from the series.animation.defer.
  72148. */
  72149. defer?: number;
  72150. }
  72151. /**
  72152. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  72153. * appearing next to each data point.
  72154. *
  72155. * Since v6.2.0, multiple data labels can be applied to each single point by
  72156. * defining them as an array of configs.
  72157. *
  72158. * In styled mode, the data labels can be styled with the
  72159. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  72160. * example).
  72161. */
  72162. export interface PlotPcDataLabelsOptions {
  72163. /**
  72164. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  72165. * compared to the point. If `right`, the right side of the label should be
  72166. * touching the point. For points with an extent, like columns, the
  72167. * alignments also dictates how to align it inside the box, as given with
  72168. * the inside option. Can be one of `left`, `center` or `right`.
  72169. */
  72170. align?: (AlignValue|null);
  72171. /**
  72172. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  72173. * overlap. To make the labels less sensitive for overlapping, the
  72174. * dataLabels.padding can be set to 0.
  72175. */
  72176. allowOverlap?: boolean;
  72177. /**
  72178. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72179. * animation when a series is displayed for the `dataLabels`. The animation
  72180. * can also be set as a configuration object. Please note that this option
  72181. * only applies to the initial animation. For other animations, see
  72182. * chart.animation and the animation parameter under the API methods. The
  72183. * following properties are supported:
  72184. *
  72185. * - `defer`: The animation delay time in milliseconds.
  72186. */
  72187. animation?: (boolean|PlotPcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  72188. /**
  72189. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  72190. * for the data label.
  72191. */
  72192. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  72193. /**
  72194. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  72195. * label. Defaults to `undefined`.
  72196. */
  72197. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72198. /**
  72199. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  72200. * the data label.
  72201. */
  72202. borderRadius?: number;
  72203. /**
  72204. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  72205. * the data label.
  72206. */
  72207. borderWidth?: number;
  72208. /**
  72209. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  72210. * Particularly in styled mode, this can be used to give each series' or
  72211. * point's data label unique styling. In addition to this option, a default
  72212. * color class name is added so that we can give the labels a contrast text
  72213. * shadow.
  72214. */
  72215. className?: string;
  72216. /**
  72217. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  72218. * labels. Defaults to `undefined`. For certain series types, like column or
  72219. * map, the data labels can be drawn inside the points. In this case the
  72220. * data label will be drawn with maximum contrast by default. Additionally,
  72221. * it will be given a `text-outline` style with the opposite color, to
  72222. * further increase the contrast. This can be overridden by setting the
  72223. * `text-outline` style to `none` in the `dataLabels.style` option.
  72224. */
  72225. color?: (ColorString|GradientColorObject|PatternObject);
  72226. /**
  72227. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  72228. * are outside the plot area. By default, the data label is moved inside the
  72229. * plot area according to the overflow option.
  72230. */
  72231. crop?: boolean;
  72232. /**
  72233. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  72234. * labels until the initial series animation has finished. Setting to
  72235. * `false` renders the data label immediately. If set to `true` inherits the
  72236. * defer time set in plotOptions.series.animation. If set to a number, a
  72237. * defer time is specified in milliseconds.
  72238. */
  72239. defer?: (boolean|number);
  72240. /**
  72241. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  72242. * labels.
  72243. */
  72244. enabled?: boolean;
  72245. /**
  72246. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  72247. * of which data labels to display. The declarative filter is designed for
  72248. * use when callback functions are not available, like when the chart
  72249. * options require a pure JSON structure or for use with graphical editors.
  72250. * For programmatic control, use the `formatter` instead, and return
  72251. * `undefined` to disable a single data label.
  72252. */
  72253. filter?: DataLabelsFilterOptionsObject;
  72254. /**
  72255. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  72256. * label. Available variables are the same as for `formatter`.
  72257. */
  72258. format?: string;
  72259. /**
  72260. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  72261. * format the data label. Note that if a `format` is defined, the format
  72262. * takes precedence and the formatter is ignored.
  72263. */
  72264. formatter?: DataLabelsFormatterCallbackFunction;
  72265. /**
  72266. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  72267. * columns or map areas, whether to align the data label inside the box or
  72268. * to the actual value point. Defaults to `false` in most cases, `true` in
  72269. * stacked columns.
  72270. */
  72271. inside?: boolean;
  72272. /**
  72273. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  72274. * of null. Works analogously to format. `nullFormat` can be applied only to
  72275. * series which support displaying null points.
  72276. */
  72277. nullFormat?: (boolean|string);
  72278. /**
  72279. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  72280. * that defines formatting for points with the value of null. Works
  72281. * analogously to formatter. `nullPointFormatter` can be applied only to
  72282. * series which support displaying null points.
  72283. */
  72284. nullFormatter?: DataLabelsFormatterCallbackFunction;
  72285. /**
  72286. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  72287. * flow outside the plot area. The default is `"justify"`, which aligns them
  72288. * inside the plot area. For columns and bars, this means it will be moved
  72289. * inside the bar. To display data labels outside the plot area, set `crop`
  72290. * to `false` and `overflow` to `"allow"`.
  72291. */
  72292. overflow?: DataLabelsOverflowValue;
  72293. /**
  72294. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  72295. * the `backgroundColor` is set, this is the padding within the box.
  72296. */
  72297. padding?: number;
  72298. /**
  72299. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  72300. * points. If `center` alignment is not possible, it defaults to `right`.
  72301. */
  72302. position?: AlignValue;
  72303. /**
  72304. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  72305. * that due to a more complex structure, backgrounds, borders and padding
  72306. * will be lost on a rotated data label.
  72307. */
  72308. rotation?: number;
  72309. /**
  72310. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  72311. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  72312. * an object configuration containing `color`, `offsetX`, `offsetY`,
  72313. * `opacity` and `width`.
  72314. */
  72315. shadow?: (boolean|ShadowOptionsObject);
  72316. /**
  72317. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  72318. * the border around the label. Symbols are predefined functions on the
  72319. * Renderer object.
  72320. */
  72321. shape?: string;
  72322. /**
  72323. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  72324. * default `color` setting is `"contrast"`, which is a pseudo color that
  72325. * Highcharts picks up and applies the maximum contrast to the underlying
  72326. * point item, for example the bar in a bar chart.
  72327. *
  72328. * The `textOutline` is a pseudo property that applies an outline of the
  72329. * given width with the given color, which by default is the maximum
  72330. * contrast to the text. So a bright text color will result in a black text
  72331. * outline for maximum readability on a mixed background. In some cases,
  72332. * especially with grayscale text, the text outline doesn't work well, in
  72333. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  72334. * is true, the `textOutline` will not be picked up. In this, case, the same
  72335. * effect can be acheived through the `text-shadow` CSS property.
  72336. *
  72337. * For some series types, where each point has an extent, like for example
  72338. * tree maps, the data label may overflow the point. There are two
  72339. * strategies for handling overflow. By default, the text will wrap to
  72340. * multiple lines. The other strategy is to set `style.textOverflow` to
  72341. * `ellipsis`, which will keep the text on one line plus it will break
  72342. * inside long words.
  72343. */
  72344. style?: CSSObject;
  72345. /**
  72346. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  72347. * should follow marker's shape. Border and background are disabled for a
  72348. * label that follows a path.
  72349. *
  72350. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  72351. * to true will disable this option.
  72352. */
  72353. textPath?: DataLabelsTextPathOptionsObject;
  72354. /**
  72355. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  72356. * the labels.
  72357. */
  72358. useHTML?: boolean;
  72359. /**
  72360. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  72361. * label. Can be one of `top`, `middle` or `bottom`. The default value
  72362. * depends on the data, for instance in a column chart, the label is above
  72363. * positive values and below negative values.
  72364. */
  72365. verticalAlign?: (VerticalAlignValue|null);
  72366. /**
  72367. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  72368. * label relative to the point in pixels.
  72369. */
  72370. x?: number;
  72371. /**
  72372. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  72373. * label relative to the point in pixels.
  72374. */
  72375. y?: number;
  72376. /**
  72377. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  72378. * The default Z index puts it above the series. Use a Z index of 2 to
  72379. * display it behind the series.
  72380. */
  72381. z?: number;
  72382. }
  72383. /**
  72384. * (Highcharts, Highstock) Options for the series data sorting.
  72385. */
  72386. export interface PlotPcDataSortingOptions {
  72387. /**
  72388. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  72389. * Use xAxis.reversed to change the sorting order.
  72390. */
  72391. enabled?: boolean;
  72392. /**
  72393. * (Highcharts, Highstock) Whether to allow matching points by name in an
  72394. * update. If this option is disabled, points will be matched by order.
  72395. */
  72396. matchByName?: boolean;
  72397. /**
  72398. * (Highcharts, Highstock) Determines what data value should be used to sort
  72399. * by.
  72400. */
  72401. sortKey?: string;
  72402. }
  72403. /**
  72404. * (Highstock) Price channel (PC). This series requires the `linkedTo` option to
  72405. * be set and should be loaded after the `stock/indicators/indicators.js`.
  72406. *
  72407. * In TypeScript the type option must always be set.
  72408. *
  72409. * Configuration options for the series are given in three levels:
  72410. *
  72411. * 1. Options for all series in a chart are defined in the plotOptions.series
  72412. * object.
  72413. *
  72414. * 2. Options for all `pc` series are defined in plotOptions.pc.
  72415. *
  72416. * 3. Options for one single series are given in the series instance array. (see
  72417. * online documentation for example)
  72418. */
  72419. export interface PlotPcOptions {
  72420. /**
  72421. * (Highstock) Accessibility options for a series.
  72422. */
  72423. accessibility?: SeriesAccessibilityOptionsObject;
  72424. /**
  72425. * (Highstock) Allow this series' points to be selected by clicking on the
  72426. * graphic (columns, point markers, pie slices, map areas etc).
  72427. *
  72428. * The selected points can be handled by point select and unselect events,
  72429. * or collectively by the getSelectedPoints function.
  72430. *
  72431. * And alternative way of selecting points is through dragging.
  72432. */
  72433. allowPointSelect?: boolean;
  72434. /**
  72435. * (Highstock) Enable or disable the initial animation when a series is
  72436. * displayed. The animation can also be set as a configuration object.
  72437. * Please note that this option only applies to the initial animation of the
  72438. * series itself. For other animations, see chart.animation and the
  72439. * animation parameter under the API methods. The following properties are
  72440. * supported:
  72441. *
  72442. * - `defer`: The animation delay time in milliseconds.
  72443. *
  72444. * - `duration`: The duration of the animation in milliseconds.
  72445. *
  72446. * - `easing`: Can be a string reference to an easing function set on the
  72447. * `Math` object or a function. See the _Custom easing function_ demo below.
  72448. *
  72449. * Due to poor performance, animation is disabled in old IE browsers for
  72450. * several chart types.
  72451. */
  72452. animation?: (boolean|PlotPcAnimationOptions|Partial<AnimationOptionsObject>);
  72453. /**
  72454. * (Highstock) For some series, there is a limit that shuts down initial
  72455. * animation by default when the total number of points in the chart is too
  72456. * high. For example, for a column chart and its derivatives, animation does
  72457. * not run if there is more than 250 points totally. To disable this cap,
  72458. * set `animationLimit` to `Infinity`.
  72459. */
  72460. animationLimit?: number;
  72461. /**
  72462. * (Highstock) Sets the color blending in the boost module.
  72463. */
  72464. boostBlending?: OptionsBoostBlendingValue;
  72465. /**
  72466. * (Highstock) Set the point threshold for when a series should enter boost
  72467. * mode.
  72468. *
  72469. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  72470. * there are 2000 or more points in the series.
  72471. *
  72472. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  72473. * it to 1 will force boosting.
  72474. *
  72475. * Note that the cropThreshold also affects this setting. When zooming in on
  72476. * a series that has fewer points than the `cropThreshold`, all points are
  72477. * rendered although outside the visible plot area, and the `boostThreshold`
  72478. * won't take effect.
  72479. */
  72480. boostThreshold?: number;
  72481. /**
  72482. * (Highmaps) The border color of the map areas.
  72483. *
  72484. * In styled mode, the border stroke is given in the `.highcharts-point`
  72485. * class.
  72486. */
  72487. borderColor?: (ColorString|GradientColorObject|PatternObject);
  72488. /**
  72489. * (Highmaps) The border width of each map area.
  72490. *
  72491. * In styled mode, the border stroke width is given in the
  72492. * `.highcharts-point` class.
  72493. */
  72494. borderWidth?: number;
  72495. bottomLine?: PlotPcBottomLineOptions;
  72496. /**
  72497. * (Highstock) An additional class name to apply to the series' graphical
  72498. * elements. This option does not replace default class names of the
  72499. * graphical element.
  72500. */
  72501. className?: string;
  72502. /**
  72503. * (Highstock) Disable this option to allow series rendering in the whole
  72504. * plotting area.
  72505. *
  72506. * **Note:** Clipping should be always enabled when chart.zoomType is set
  72507. */
  72508. clip?: boolean;
  72509. /**
  72510. * (Highstock) The main color of the series. In line type series it applies
  72511. * to the line and the point markers unless otherwise specified. In bar type
  72512. * series it applies to the bars unless a color is specified per point. The
  72513. * default value is pulled from the `options.colors` array.
  72514. *
  72515. * In styled mode, the color can be defined by the colorIndex option. Also,
  72516. * the series color can be set with the `.highcharts-series`,
  72517. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  72518. * `.highcharts-series-{n}` class, or individual classes given by the
  72519. * `className` option.
  72520. */
  72521. color?: (ColorString|GradientColorObject|PatternObject);
  72522. /**
  72523. * (Highstock) Styled mode only. A specific color index to use for the
  72524. * series, so its graphic representations are given the class name
  72525. * `highcharts-color-{n}`.
  72526. */
  72527. colorIndex?: number;
  72528. /**
  72529. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  72530. * used to calculate point color if `colorAxis` is used. Requires to set
  72531. * `min` and `max` if some custom point property is used or if approximation
  72532. * for data grouping is set to `'sum'`.
  72533. */
  72534. colorKey?: string;
  72535. /**
  72536. * (Highstock) Defines if comparison should start from the first point
  72537. * within the visible range or should start from the first point **before**
  72538. * the range.
  72539. *
  72540. * In other words, this flag determines if first point within the visible
  72541. * range will have 0% (`compareStart=true`) or should have been already
  72542. * calculated according to the previous point (`compareStart=false`).
  72543. */
  72544. compareStart?: boolean;
  72545. /**
  72546. * (Highstock) Whether to compare indicator to the main series values or
  72547. * indicator values.
  72548. */
  72549. compareToMain?: boolean;
  72550. /**
  72551. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  72552. * series plot across the extremes.
  72553. */
  72554. connectEnds?: boolean;
  72555. /**
  72556. * (Highcharts, Highstock) Whether to connect a graph line across null
  72557. * points, or render a gap between the two points on either side of the
  72558. * null.
  72559. */
  72560. connectNulls?: boolean;
  72561. /**
  72562. * (Gantt) Override Pathfinder connector options for a series. Requires
  72563. * Highcharts Gantt to be loaded.
  72564. */
  72565. connectors?: SeriesConnectorsOptionsObject;
  72566. /**
  72567. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  72568. * rounded to its nearest pixel in order to render sharp on screen. In some
  72569. * cases, when there are a lot of densely packed columns, this leads to
  72570. * visible difference in column widths or distance between columns. In these
  72571. * cases, setting `crisp` to `false` may look better, even though each
  72572. * column is rendered blurry.
  72573. */
  72574. crisp?: boolean;
  72575. /**
  72576. * (Highcharts, Highstock) When the series contains less points than the
  72577. * crop threshold, all points are drawn, even if the points fall outside the
  72578. * visible plot area at the current zoom. The advantage of drawing all
  72579. * points (including markers and columns), is that animation is performed on
  72580. * updates. On the other hand, when the series contains more points than the
  72581. * crop threshold, the series data is cropped to only contain points that
  72582. * fall within the plot area. The advantage of cropping away invisible
  72583. * points is to increase performance on large series.
  72584. */
  72585. cropThreshold?: number;
  72586. /**
  72587. * (Highstock) You can set the cursor to "pointer" if you have click events
  72588. * attached to the series, to signal to the user that the points and lines
  72589. * can be clicked.
  72590. *
  72591. * In styled mode, the series cursor can be set with the same classes as
  72592. * listed under series.color.
  72593. */
  72594. cursor?: (string|CursorValue);
  72595. /**
  72596. * (Highstock) A reserved subspace to store options and values for
  72597. * customized functionality. Here you can add additional data for your own
  72598. * event callbacks and formatter callbacks.
  72599. */
  72600. custom?: Dictionary<any>;
  72601. /**
  72602. * (Highstock) Name of the dash style to use for the graph, or for some
  72603. * series types the outline of each shape.
  72604. *
  72605. * In styled mode, the stroke dash-array can be set with the same classes as
  72606. * listed under series.color.
  72607. */
  72608. dashStyle?: DashStyleValue;
  72609. /**
  72610. * (Highstock) Data grouping is the concept of sampling the data values into
  72611. * larger blocks in order to ease readability and increase performance of
  72612. * the JavaScript charts. Highcharts Stock by default applies data grouping
  72613. * when the points become closer than a certain pixel value, determined by
  72614. * the `groupPixelWidth` option.
  72615. *
  72616. * If data grouping is applied, the grouping information of grouped points
  72617. * can be read from the Point.dataGroup. If point options other than the
  72618. * data itself are set, for example `name` or `color` or custom properties,
  72619. * the grouping logic doesn't know how to group it. In this case the options
  72620. * of the first point instance are copied over to the group point. This can
  72621. * be altered through a custom `approximation` callback function.
  72622. */
  72623. dataGrouping?: DataGroupingOptionsObject;
  72624. /**
  72625. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  72626. * labels, appearing next to each data point.
  72627. *
  72628. * Since v6.2.0, multiple data labels can be applied to each single point by
  72629. * defining them as an array of configs.
  72630. *
  72631. * In styled mode, the data labels can be styled with the
  72632. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  72633. * (see example).
  72634. */
  72635. dataLabels?: (PlotPcDataLabelsOptions|Array<PlotPcDataLabelsOptions>);
  72636. /**
  72637. * (Highcharts, Highstock) Options for the series data sorting.
  72638. */
  72639. dataSorting?: (DataSortingOptionsObject|PlotPcDataSortingOptions);
  72640. /**
  72641. * (Highstock) A description of the series to add to the screen reader
  72642. * information about the series.
  72643. */
  72644. description?: string;
  72645. /**
  72646. * (Highstock) Enable or disable the mouse tracking for a specific series.
  72647. * This includes point tooltips and click events on graphs and points. For
  72648. * large datasets it improves performance.
  72649. */
  72650. enableMouseTracking?: boolean;
  72651. /**
  72652. * (Highstock) General event handlers for the series items. These event
  72653. * hooks can also be attached to the series at run time using the
  72654. * `Highcharts.addEvent` function.
  72655. */
  72656. events?: SeriesEventsOptionsObject;
  72657. /**
  72658. * (Highstock) Determines whether the series should look for the nearest
  72659. * point in both dimensions or just the x-dimension when hovering the
  72660. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  72661. * series. If the data has duplicate x-values, it is recommended to set this
  72662. * to `'xy'` to allow hovering over all points.
  72663. *
  72664. * Applies only to series types using nearest neighbor search (not direct
  72665. * hover) for tooltip.
  72666. */
  72667. findNearestPointBy?: OptionsFindNearestPointByValue;
  72668. /**
  72669. * (Highstock) Defines when to display a gap in the graph, together with the
  72670. * gapUnit option.
  72671. *
  72672. * In case when `dataGrouping` is enabled, points can be grouped into a
  72673. * larger time span. This can make the grouped points to have a greater
  72674. * distance than the absolute value of `gapSize` property, which will result
  72675. * in disappearing graph completely. To prevent this situation the mentioned
  72676. * distance between grouped points is used instead of previously defined
  72677. * `gapSize`.
  72678. *
  72679. * In practice, this option is most often used to visualize gaps in time
  72680. * series. In a stock chart, intraday data is available for daytime hours,
  72681. * while gaps will appear in nights and weekends.
  72682. */
  72683. gapSize?: number;
  72684. /**
  72685. * (Highstock) Together with gapSize, this option defines where to draw gaps
  72686. * in the graph.
  72687. *
  72688. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  72689. * if the distance between two points is greater than 5 times that of the
  72690. * two closest points, the graph will be broken.
  72691. *
  72692. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  72693. * values, which on a datetime axis is milliseconds. This also applies to
  72694. * the navigator series that inherits gap options from the base series.
  72695. */
  72696. gapUnit?: OptionsGapUnitValue;
  72697. /**
  72698. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  72699. * chart width or only the zoomed area when zooming in on parts of the X
  72700. * axis. By default, the Y axis adjusts to the min and max of the visible
  72701. * data. Cartesian series only.
  72702. */
  72703. getExtremesFromAll?: boolean;
  72704. /**
  72705. * (Highstock) When set to `false` will prevent the series data from being
  72706. * included in any form of data export.
  72707. *
  72708. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  72709. * `includeInCSVExport`.
  72710. */
  72711. includeInDataExport?: boolean;
  72712. /**
  72713. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  72714. * series as possible in a natural way, seeking to avoid other series. The
  72715. * goal of this feature is to make the chart more easily readable, like if a
  72716. * human designer placed the labels in the optimal position.
  72717. *
  72718. * The series labels currently work with series types having a `graph` or an
  72719. * `area`.
  72720. */
  72721. label?: SeriesLabelOptionsObject;
  72722. /**
  72723. * (Highstock) The line marks the last price from all points.
  72724. */
  72725. lastPrice?: SeriesLastPriceOptionsObject;
  72726. /**
  72727. * (Highstock) The line marks the last price from visible range of points.
  72728. */
  72729. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  72730. /**
  72731. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  72732. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  72733. * the ends and bends.
  72734. */
  72735. linecap?: SeriesLinecapValue;
  72736. /**
  72737. * (Highcharts, Highstock) Pixel width of the graph line.
  72738. */
  72739. lineWidth?: number;
  72740. /**
  72741. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  72742. * based on. Required for this indicator.
  72743. */
  72744. linkedTo?: string;
  72745. /**
  72746. * (Highstock) Options for the point markers of line-like series. Properties
  72747. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  72748. * appearance of the markers. Other series types, like column series, don't
  72749. * have markers, but have visual options on the series level instead.
  72750. *
  72751. * In styled mode, the markers can be styled with the `.highcharts-point`,
  72752. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  72753. */
  72754. marker?: PointMarkerOptionsObject;
  72755. /**
  72756. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  72757. * If not set, it will be based on a technical indicator type and default
  72758. * params.
  72759. */
  72760. name?: string;
  72761. /**
  72762. * (Highstock) The color for the parts of the graph or points that are below
  72763. * the threshold. Note that `zones` takes precedence over the negative
  72764. * color. Using `negativeColor` is equivalent to applying a zone with value
  72765. * of 0.
  72766. */
  72767. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  72768. /**
  72769. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  72770. * dataLabels.
  72771. */
  72772. opacity?: number;
  72773. /**
  72774. * (Highstock) Paramters used in calculation of regression series' points.
  72775. */
  72776. params?: PlotPcParamsOptions;
  72777. /**
  72778. * (Highstock) Properties for each single point.
  72779. */
  72780. point?: PlotSeriesPointOptions;
  72781. /**
  72782. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  72783. * individual series. Overrides the chart wide configuration.
  72784. */
  72785. pointDescriptionFormatter?: Function;
  72786. /**
  72787. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  72788. * true, the checkbox next to the series name in the legend will be checked
  72789. * for a selected series.
  72790. */
  72791. selected?: boolean;
  72792. /**
  72793. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  72794. * the shadow can be an object configuration containing `color`, `offsetX`,
  72795. * `offsetY`, `opacity` and `width`.
  72796. */
  72797. shadow?: (boolean|ShadowOptionsObject);
  72798. /**
  72799. * (Highstock) If true, a checkbox is displayed next to the legend item to
  72800. * allow selecting the series. The state of the checkbox is determined by
  72801. * the `selected` option.
  72802. */
  72803. showCheckbox?: boolean;
  72804. /**
  72805. * (Highstock) Whether to display this particular series or series type in
  72806. * the legend. Standalone series are shown in legend by default, and linked
  72807. * series are not. Since v7.2.0 it is possible to show series that use
  72808. * colorAxis by setting this option to `true`.
  72809. */
  72810. showInLegend?: boolean;
  72811. /**
  72812. * (Highstock) If set to `true`, the accessibility module will skip past the
  72813. * points in this series for keyboard navigation.
  72814. */
  72815. skipKeyboardNavigation?: boolean;
  72816. /**
  72817. * (Highcharts, Highstock) When this is true, the series will not cause the
  72818. * Y axis to cross the zero plane (or threshold option) unless the data
  72819. * actually crosses the plane.
  72820. *
  72821. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  72822. * make the Y axis show negative values according to the `minPadding`
  72823. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  72824. */
  72825. softThreshold?: boolean;
  72826. states?: SeriesStatesOptionsObject;
  72827. /**
  72828. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  72829. * values are `left`, `center` and `right`.
  72830. */
  72831. step?: OptionsStepValue;
  72832. /**
  72833. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  72834. * event on a series isn't triggered until the mouse moves over another
  72835. * series, or out of the plot area. When false, the `mouseOut` event on a
  72836. * series is triggered when the mouse leaves the area around the series'
  72837. * graph or markers. This also implies the tooltip when not shared. When
  72838. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  72839. * be hidden when moving the mouse between series. Defaults to true for line
  72840. * and area type series, but to false for columns, pies etc.
  72841. *
  72842. * **Note:** The boost module will force this option because of technical
  72843. * limitations.
  72844. */
  72845. stickyTracking?: boolean;
  72846. /**
  72847. * (Highcharts, Highstock) The threshold, also called zero level or base
  72848. * level. For line type series this is only used in conjunction with
  72849. * negativeColor.
  72850. */
  72851. threshold?: (number|null);
  72852. /**
  72853. * (Highstock) A configuration object for the tooltip rendering of each
  72854. * single series. Properties are inherited from tooltip, but only the
  72855. * following properties can be defined on a series level.
  72856. */
  72857. tooltip?: SeriesTooltipOptionsObject;
  72858. topLine?: PlotPcTopLineOptions;
  72859. /**
  72860. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  72861. * is longer than this, only one dimensional arrays of numbers, or two
  72862. * dimensional arrays with x and y values are allowed. Also, only the first
  72863. * point is tested, and the rest are assumed to be the same format. This
  72864. * saves expensive data checking and indexing in long series. Set it to `0`
  72865. * disable.
  72866. *
  72867. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  72868. * two dimensional arrays are allowed.
  72869. */
  72870. turboThreshold?: number;
  72871. /**
  72872. * (Highstock) Set the initial visibility of the series.
  72873. */
  72874. visible?: boolean;
  72875. /**
  72876. * (Highmaps) Define the z index of the series.
  72877. */
  72878. zIndex?: number;
  72879. /**
  72880. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  72881. */
  72882. zoneAxis?: string;
  72883. /**
  72884. * (Highcharts, Highstock) An array defining zones within a series. Zones
  72885. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  72886. * the `zoneAxis` option. The zone definitions have to be in ascending order
  72887. * regarding to the value.
  72888. *
  72889. * In styled mode, the color zones are styled with the
  72890. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  72891. * option (view live demo).
  72892. */
  72893. zones?: Array<SeriesZonesOptionsObject>;
  72894. }
  72895. /**
  72896. * (Highstock) Paramters used in calculation of regression series' points.
  72897. */
  72898. export interface PlotPcParamsOptions {
  72899. index?: string;
  72900. /**
  72901. * (Highstock) The base period for indicator calculations. This is the
  72902. * number of data points which are taken into account for the indicator
  72903. * calculations.
  72904. */
  72905. period?: number;
  72906. }
  72907. export interface PlotPcTopLineOptions {
  72908. styles?: PlotPcTopLineStylesOptions;
  72909. }
  72910. export interface PlotPcTopLineStylesOptions {
  72911. /**
  72912. * (Highstock) Color of the top line. If not set, it's inherited from
  72913. * plotOptions.pc.color.
  72914. */
  72915. lineColor?: ColorString;
  72916. /**
  72917. * (Highstock) Pixel width of the line.
  72918. */
  72919. lineWidth?: number;
  72920. }
  72921. /**
  72922. * (Highcharts) Enable or disable the initial animation when a series is
  72923. * displayed. The animation can also be set as a configuration object. Please
  72924. * note that this option only applies to the initial animation of the series
  72925. * itself. For other animations, see chart.animation and the animation parameter
  72926. * under the API methods. The following properties are supported:
  72927. *
  72928. * - `defer`: The animation delay time in milliseconds.
  72929. *
  72930. * - `duration`: The duration of the animation in milliseconds.
  72931. *
  72932. * - `easing`: Can be a string reference to an easing function set on the `Math`
  72933. * object or a function. See the _Custom easing function_ demo below.
  72934. *
  72935. * Due to poor performance, animation is disabled in old IE browsers for several
  72936. * chart types.
  72937. */
  72938. export interface PlotPieAnimationOptions {
  72939. defer?: number;
  72940. }
  72941. /**
  72942. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  72943. * animation when a series is displayed for the `dataLabels`. The animation can
  72944. * also be set as a configuration object. Please note that this option only
  72945. * applies to the initial animation. For other animations, see chart.animation
  72946. * and the animation parameter under the API methods. The following properties
  72947. * are supported:
  72948. *
  72949. * - `defer`: The animation delay time in milliseconds.
  72950. */
  72951. export interface PlotPieDataLabelsAnimationOptions {
  72952. /**
  72953. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  72954. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  72955. * inherits defer time from the series.animation.defer.
  72956. */
  72957. defer?: number;
  72958. }
  72959. /**
  72960. * (Highcharts) A pie chart is a circular graphic which is divided into slices
  72961. * to illustrate numerical proportion.
  72962. *
  72963. * In TypeScript the type option must always be set.
  72964. *
  72965. * Configuration options for the series are given in three levels:
  72966. *
  72967. * 1. Options for all series in a chart are defined in the plotOptions.series
  72968. * object.
  72969. *
  72970. * 2. Options for all `pie` series are defined in plotOptions.pie.
  72971. *
  72972. * 3. Options for one single series are given in the series instance array. (see
  72973. * online documentation for example)
  72974. */
  72975. export interface PlotPieOptions {
  72976. /**
  72977. * (Highcharts) Accessibility options for a series.
  72978. */
  72979. accessibility?: SeriesAccessibilityOptionsObject;
  72980. /**
  72981. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  72982. * rendered. If `true`, areas which don't correspond to a data point, are
  72983. * rendered as `null` points. If `false`, those areas are skipped.
  72984. */
  72985. allAreas?: boolean;
  72986. /**
  72987. * (Highcharts) Allow this series' points to be selected by clicking on the
  72988. * graphic (columns, point markers, pie slices, map areas etc).
  72989. *
  72990. * The selected points can be handled by point select and unselect events,
  72991. * or collectively by the getSelectedPoints function.
  72992. *
  72993. * And alternative way of selecting points is through dragging.
  72994. */
  72995. allowPointSelect?: boolean;
  72996. /**
  72997. * (Highcharts) Enable or disable the initial animation when a series is
  72998. * displayed. The animation can also be set as a configuration object.
  72999. * Please note that this option only applies to the initial animation of the
  73000. * series itself. For other animations, see chart.animation and the
  73001. * animation parameter under the API methods. The following properties are
  73002. * supported:
  73003. *
  73004. * - `defer`: The animation delay time in milliseconds.
  73005. *
  73006. * - `duration`: The duration of the animation in milliseconds.
  73007. *
  73008. * - `easing`: Can be a string reference to an easing function set on the
  73009. * `Math` object or a function. See the _Custom easing function_ demo below.
  73010. *
  73011. * Due to poor performance, animation is disabled in old IE browsers for
  73012. * several chart types.
  73013. */
  73014. animation?: (boolean|PlotPieAnimationOptions|Partial<AnimationOptionsObject>);
  73015. /**
  73016. * (Highcharts) The color of the border surrounding each slice. When `null`,
  73017. * the border takes the same color as the slice fill. This can be used
  73018. * together with a `borderWidth` to fill drawing gaps created by
  73019. * antialiazing artefacts in borderless pies.
  73020. *
  73021. * In styled mode, the border stroke is given in the `.highcharts-point`
  73022. * class.
  73023. */
  73024. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73025. /**
  73026. * (Highcharts) The width of the border surrounding each slice.
  73027. *
  73028. * When setting the border width to 0, there may be small gaps between the
  73029. * slices due to SVG antialiasing artefacts. To work around this, keep the
  73030. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  73031. *
  73032. * In styled mode, the border stroke width is given in the
  73033. * `.highcharts-point` class.
  73034. */
  73035. borderWidth?: number;
  73036. /**
  73037. * (Highcharts) The center of the pie chart relative to the plot area. Can
  73038. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  73039. * center the pie so that all slices and data labels are within the plot
  73040. * area. As a consequence, the pie may actually jump around in a chart with
  73041. * dynamic values, as the data labels move. In that case, the center should
  73042. * be explicitly set, for example to `["50%", "50%"]`.
  73043. */
  73044. center?: [(number|string|null), (number|string|null)];
  73045. /**
  73046. * (Highcharts) An additional class name to apply to the series' graphical
  73047. * elements. This option does not replace default class names of the
  73048. * graphical element.
  73049. */
  73050. className?: string;
  73051. /**
  73052. * (Highcharts) Disable this option to allow series rendering in the whole
  73053. * plotting area.
  73054. *
  73055. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73056. */
  73057. clip?: boolean;
  73058. /**
  73059. * (Highcharts) The color of the pie series. A pie series is represented as
  73060. * an empty circle if the total sum of its values is 0. Use this property to
  73061. * define the color of its border.
  73062. *
  73063. * In styled mode, the color can be defined by the colorIndex option. Also,
  73064. * the series color can be set with the `.highcharts-series`,
  73065. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73066. * `.highcharts-series-{n}` class, or individual classes given by the
  73067. * `className` option.
  73068. */
  73069. color?: (ColorString|GradientColorObject|PatternObject);
  73070. /**
  73071. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  73072. * this number defines which colorAxis the particular series is connected
  73073. * to. It refers to either the axis id or the index of the axis in the
  73074. * colorAxis array, with 0 being the first. Set this option to false to
  73075. * prevent a series from connecting to the default color axis.
  73076. *
  73077. * Since v7.2.0 the option can also be an axis id or an axis index instead
  73078. * of a boolean flag.
  73079. */
  73080. colorAxis?: (boolean|number|string);
  73081. /**
  73082. * (Highcharts) Styled mode only. A specific color index to use for the
  73083. * series, so its graphic representations are given the class name
  73084. * `highcharts-color-{n}`.
  73085. */
  73086. colorIndex?: number;
  73087. /**
  73088. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  73089. * used to calculate point color if `colorAxis` is used. Requires to set
  73090. * `min` and `max` if some custom point property is used or if approximation
  73091. * for data grouping is set to `'sum'`.
  73092. */
  73093. colorKey?: string;
  73094. /**
  73095. * (Highcharts) A series specific or series type specific color set to use
  73096. * instead of the global colors.
  73097. */
  73098. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  73099. /**
  73100. * (Highstock) Compare the values of the series against the first non-null,
  73101. * non- zero value in the visible range. The y axis will show percentage or
  73102. * absolute change depending on whether `compare` is set to `"percent"` or
  73103. * `"value"`. When this is applied to multiple series, it allows comparing
  73104. * the development of the series against each other. Adds a `change` field
  73105. * to every point object.
  73106. */
  73107. compare?: string;
  73108. /**
  73109. * (Highstock) When compare is `percent`, this option dictates whether to
  73110. * use 0 or 100 as the base of comparison.
  73111. */
  73112. compareBase?: (0|100);
  73113. /**
  73114. * (Highstock) Defines if comparison should start from the first point
  73115. * within the visible range or should start from the first point **before**
  73116. * the range.
  73117. *
  73118. * In other words, this flag determines if first point within the visible
  73119. * range will have 0% (`compareStart=true`) or should have been already
  73120. * calculated according to the previous point (`compareStart=false`).
  73121. */
  73122. compareStart?: boolean;
  73123. /**
  73124. * (Gantt) Override Pathfinder connector options for a series. Requires
  73125. * Highcharts Gantt to be loaded.
  73126. */
  73127. connectors?: SeriesConnectorsOptionsObject;
  73128. /**
  73129. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  73130. * rounded to its nearest pixel in order to render sharp on screen. In some
  73131. * cases, when there are a lot of densely packed columns, this leads to
  73132. * visible difference in column widths or distance between columns. In these
  73133. * cases, setting `crisp` to `false` may look better, even though each
  73134. * column is rendered blurry.
  73135. */
  73136. crisp?: boolean;
  73137. /**
  73138. * (Highcharts) You can set the cursor to "pointer" if you have click events
  73139. * attached to the series, to signal to the user that the points and lines
  73140. * can be clicked.
  73141. *
  73142. * In styled mode, the series cursor can be set with the same classes as
  73143. * listed under series.color.
  73144. */
  73145. cursor?: (string|CursorValue);
  73146. /**
  73147. * (Highcharts) A reserved subspace to store options and values for
  73148. * customized functionality. Here you can add additional data for your own
  73149. * event callbacks and formatter callbacks.
  73150. */
  73151. custom?: Dictionary<any>;
  73152. /**
  73153. * (Highstock) Data grouping is the concept of sampling the data values into
  73154. * larger blocks in order to ease readability and increase performance of
  73155. * the JavaScript charts. Highcharts Stock by default applies data grouping
  73156. * when the points become closer than a certain pixel value, determined by
  73157. * the `groupPixelWidth` option.
  73158. *
  73159. * If data grouping is applied, the grouping information of grouped points
  73160. * can be read from the Point.dataGroup. If point options other than the
  73161. * data itself are set, for example `name` or `color` or custom properties,
  73162. * the grouping logic doesn't know how to group it. In this case the options
  73163. * of the first point instance are copied over to the group point. This can
  73164. * be altered through a custom `approximation` callback function.
  73165. */
  73166. dataGrouping?: DataGroupingOptionsObject;
  73167. /**
  73168. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  73169. * labels, appearing next to each data point.
  73170. *
  73171. * Since v6.2.0, multiple data labels can be applied to each single point by
  73172. * defining them as an array of configs.
  73173. *
  73174. * In styled mode, the data labels can be styled with the
  73175. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  73176. * (see example).
  73177. */
  73178. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  73179. /**
  73180. * (Highcharts) The thickness of a 3D pie.
  73181. */
  73182. depth?: number;
  73183. /**
  73184. * (Highcharts) A description of the series to add to the screen reader
  73185. * information about the series.
  73186. */
  73187. description?: string;
  73188. /**
  73189. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  73190. * This includes point tooltips and click events on graphs and points. For
  73191. * large datasets it improves performance.
  73192. */
  73193. enableMouseTracking?: boolean;
  73194. /**
  73195. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  73196. * right. Defaults to `startAngle` plus 360.
  73197. */
  73198. endAngle?: number;
  73199. /**
  73200. * (Highcharts) General event handlers for the series items. These event
  73201. * hooks can also be attached to the series at run time using the
  73202. * `Highcharts.addEvent` function.
  73203. */
  73204. events?: SeriesEventsOptionsObject;
  73205. /**
  73206. * (Highcharts) If the total sum of the pie's values is 0, the series is
  73207. * represented as an empty circle . The `fillColor` option defines the color
  73208. * of that circle. Use pie.borderWidth to set the border thickness.
  73209. */
  73210. fillColor?: (ColorString|GradientColorObject|PatternObject);
  73211. /**
  73212. * (Highstock) Defines when to display a gap in the graph, together with the
  73213. * gapUnit option.
  73214. *
  73215. * In case when `dataGrouping` is enabled, points can be grouped into a
  73216. * larger time span. This can make the grouped points to have a greater
  73217. * distance than the absolute value of `gapSize` property, which will result
  73218. * in disappearing graph completely. To prevent this situation the mentioned
  73219. * distance between grouped points is used instead of previously defined
  73220. * `gapSize`.
  73221. *
  73222. * In practice, this option is most often used to visualize gaps in time
  73223. * series. In a stock chart, intraday data is available for daytime hours,
  73224. * while gaps will appear in nights and weekends.
  73225. */
  73226. gapSize?: number;
  73227. /**
  73228. * (Highstock) Together with gapSize, this option defines where to draw gaps
  73229. * in the graph.
  73230. *
  73231. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  73232. * if the distance between two points is greater than 5 times that of the
  73233. * two closest points, the graph will be broken.
  73234. *
  73235. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  73236. * values, which on a datetime axis is milliseconds. This also applies to
  73237. * the navigator series that inherits gap options from the base series.
  73238. */
  73239. gapUnit?: OptionsGapUnitValue;
  73240. /**
  73241. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  73242. * whether the series shall be redrawn as if the hidden point were `null`.
  73243. *
  73244. * The default value changed from `false` to `true` with Highcharts 3.0.
  73245. */
  73246. ignoreHiddenPoint?: boolean;
  73247. /**
  73248. * (Highcharts) When set to `false` will prevent the series data from being
  73249. * included in any form of data export.
  73250. *
  73251. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  73252. * `includeInCSVExport`.
  73253. */
  73254. includeInDataExport?: boolean;
  73255. /**
  73256. * (Highcharts) The size of the inner diameter for the pie. A size greater
  73257. * than 0 renders a donut chart. Can be a percentage or pixel value.
  73258. * Percentages are relative to the pie size. Pixel values are given as
  73259. * integers.
  73260. *
  73261. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  73262. * area, not the pie size.
  73263. */
  73264. innerSize?: (number|string);
  73265. /**
  73266. * (Highmaps) What property to join the `mapData` to the value data. For
  73267. * example, if joinBy is "code", the mapData items with a specific code is
  73268. * merged into the data with the same code. For maps loaded from GeoJSON,
  73269. * the keys may be held in each point's `properties` object.
  73270. *
  73271. * The joinBy option can also be an array of two values, where the first
  73272. * points to a key in the `mapData`, and the second points to another key in
  73273. * the `data`.
  73274. *
  73275. * When joinBy is `null`, the map items are joined by their position in the
  73276. * array, which performs much better in maps with many data points. This is
  73277. * the recommended option if you are printing more than a thousand data
  73278. * points and have a backend that can preprocess the data into a parallel
  73279. * array of the mapData.
  73280. */
  73281. joinBy?: (string|Array<string>);
  73282. /**
  73283. * (Highcharts) An array specifying which option maps to which key in the
  73284. * data point array. This makes it convenient to work with unstructured data
  73285. * arrays from different sources.
  73286. */
  73287. keys?: Array<string>;
  73288. /**
  73289. * (Highstock) The line marks the last price from all points.
  73290. */
  73291. lastPrice?: SeriesLastPriceOptionsObject;
  73292. /**
  73293. * (Highstock) The line marks the last price from visible range of points.
  73294. */
  73295. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  73296. /**
  73297. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  73298. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  73299. * the ends and bends.
  73300. */
  73301. linecap?: SeriesLinecapValue;
  73302. /**
  73303. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  73304. * Additionally, the value can be ":previous" to link to the previous
  73305. * series. When two series are linked, only the first one appears in the
  73306. * legend. Toggling the visibility of this also toggles the linked series.
  73307. *
  73308. * If master series uses data sorting and linked series does not have its
  73309. * own sorting definition, the linked series will be sorted in the same
  73310. * order as the master one.
  73311. */
  73312. linkedTo?: string;
  73313. /**
  73314. * (Highcharts) The minimum size for a pie in response to auto margins. The
  73315. * pie will try to shrink to make room for data labels in side the plot
  73316. * area, but only to this size.
  73317. */
  73318. minSize?: (number|string);
  73319. /**
  73320. * (Highstock) Options for the corresponding navigator series if
  73321. * `showInNavigator` is `true` for this series. Available options are the
  73322. * same as any series, documented at plotOptions and series.
  73323. *
  73324. * These options are merged with options in navigator.series, and will take
  73325. * precedence if the same option is defined both places.
  73326. */
  73327. navigatorOptions?: PlotSeriesOptions;
  73328. /**
  73329. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  73330. * dataLabels.
  73331. */
  73332. opacity?: number;
  73333. /**
  73334. * (Highcharts) Properties for each single point.
  73335. */
  73336. point?: PlotSeriesPointOptions;
  73337. /**
  73338. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  73339. * an individual series. Overrides the chart wide configuration.
  73340. */
  73341. pointDescriptionFormatter?: Function;
  73342. /**
  73343. * (Highstock) The width of each point on the x axis. For example in a
  73344. * column chart with one value each day, the pointRange would be 1 day (= 24
  73345. * * 3600
  73346. *
  73347. * * 1000 milliseconds). This is normally computed automatically, but this
  73348. * option can be used to override the automatic value.
  73349. */
  73350. pointRange?: number;
  73351. /**
  73352. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  73353. * true, the checkbox next to the series name in the legend will be checked
  73354. * for a selected series.
  73355. */
  73356. selected?: boolean;
  73357. /**
  73358. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  73359. * the shadow can be an object configuration containing `color`, `offsetX`,
  73360. * `offsetY`, `opacity` and `width`.
  73361. */
  73362. shadow?: (boolean|ShadowOptionsObject);
  73363. /**
  73364. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  73365. * allow selecting the series. The state of the checkbox is determined by
  73366. * the `selected` option.
  73367. */
  73368. showCheckbox?: boolean;
  73369. /**
  73370. * (Highcharts) Whether to display this particular series or series type in
  73371. * the legend. Since 2.1, pies are not shown in the legend by default.
  73372. */
  73373. showInLegend?: boolean;
  73374. /**
  73375. * (Highstock) Whether or not to show the series in the navigator. Takes
  73376. * precedence over navigator.baseSeries if defined.
  73377. */
  73378. showInNavigator?: boolean;
  73379. /**
  73380. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  73381. * percentage or pixel value. Pixel values are given as integers. The
  73382. * default behaviour (as of 3.0) is to scale to the plot area and give room
  73383. * for data labels within the plot area. slicedOffset is also included in
  73384. * the default size calculation. As a consequence, the size of the pie may
  73385. * vary when points are updated and data labels more around. In that case it
  73386. * is best to set a fixed value, for example `"75%"`.
  73387. */
  73388. size?: (number|string|null);
  73389. /**
  73390. * (Highcharts) If set to `true`, the accessibility module will skip past
  73391. * the points in this series for keyboard navigation.
  73392. */
  73393. skipKeyboardNavigation?: boolean;
  73394. /**
  73395. * (Highcharts) If a point is sliced, moved out from the center, how many
  73396. * pixels should it be moved?.
  73397. */
  73398. slicedOffset?: number;
  73399. /**
  73400. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  73401. * and 90 right.
  73402. */
  73403. startAngle?: number;
  73404. states?: SeriesStatesOptionsObject;
  73405. /**
  73406. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  73407. * event on a series isn't triggered until the mouse moves over another
  73408. * series, or out of the plot area. When false, the `mouseOut` event on a
  73409. * series is triggered when the mouse leaves the area around the series'
  73410. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  73411. * false and `tooltip.shared` is false, the tooltip will be hidden when
  73412. * moving the mouse between series.
  73413. */
  73414. stickyTracking?: boolean;
  73415. /**
  73416. * (Highcharts) A configuration object for the tooltip rendering of each
  73417. * single series. Properties are inherited from tooltip, but only the
  73418. * following properties can be defined on a series level.
  73419. */
  73420. tooltip?: SeriesTooltipOptionsObject;
  73421. /**
  73422. * (Highstock) The parameter allows setting line series type and use OHLC
  73423. * indicators. Data in OHLC format is required.
  73424. */
  73425. useOhlcData?: boolean;
  73426. /**
  73427. * (Highcharts) Set the initial visibility of the series.
  73428. */
  73429. visible?: boolean;
  73430. /**
  73431. * (Highmaps) Define the z index of the series.
  73432. */
  73433. zIndex?: number;
  73434. }
  73435. /**
  73436. * (Highstock) Enable or disable the initial animation when a series is
  73437. * displayed. The animation can also be set as a configuration object. Please
  73438. * note that this option only applies to the initial animation of the series
  73439. * itself. For other animations, see chart.animation and the animation parameter
  73440. * under the API methods. The following properties are supported:
  73441. *
  73442. * - `defer`: The animation delay time in milliseconds.
  73443. *
  73444. * - `duration`: The duration of the animation in milliseconds.
  73445. *
  73446. * - `easing`: Can be a string reference to an easing function set on the `Math`
  73447. * object or a function. See the _Custom easing function_ demo below.
  73448. *
  73449. * Due to poor performance, animation is disabled in old IE browsers for several
  73450. * chart types.
  73451. */
  73452. export interface PlotPivotpointsAnimationOptions {
  73453. defer?: number;
  73454. }
  73455. /**
  73456. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73457. * animation when a series is displayed for the `dataLabels`. The animation can
  73458. * also be set as a configuration object. Please note that this option only
  73459. * applies to the initial animation. For other animations, see chart.animation
  73460. * and the animation parameter under the API methods. The following properties
  73461. * are supported:
  73462. *
  73463. * - `defer`: The animation delay time in milliseconds.
  73464. */
  73465. export interface PlotPivotpointsDataLabelsAnimationOptions {
  73466. /**
  73467. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  73468. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  73469. * inherits defer time from the series.animation.defer.
  73470. */
  73471. defer?: number;
  73472. }
  73473. /**
  73474. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  73475. * appearing next to each data point.
  73476. *
  73477. * Since v6.2.0, multiple data labels can be applied to each single point by
  73478. * defining them as an array of configs.
  73479. *
  73480. * In styled mode, the data labels can be styled with the
  73481. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  73482. * example).
  73483. */
  73484. export interface PlotPivotpointsDataLabelsOptions {
  73485. /**
  73486. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  73487. * compared to the point. If `right`, the right side of the label should be
  73488. * touching the point. For points with an extent, like columns, the
  73489. * alignments also dictates how to align it inside the box, as given with
  73490. * the inside option. Can be one of `left`, `center` or `right`.
  73491. */
  73492. align?: (AlignValue|null);
  73493. /**
  73494. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  73495. * overlap. To make the labels less sensitive for overlapping, the
  73496. * dataLabels.padding can be set to 0.
  73497. */
  73498. allowOverlap?: boolean;
  73499. /**
  73500. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  73501. * animation when a series is displayed for the `dataLabels`. The animation
  73502. * can also be set as a configuration object. Please note that this option
  73503. * only applies to the initial animation. For other animations, see
  73504. * chart.animation and the animation parameter under the API methods. The
  73505. * following properties are supported:
  73506. *
  73507. * - `defer`: The animation delay time in milliseconds.
  73508. */
  73509. animation?: (boolean|PlotPivotpointsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  73510. /**
  73511. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  73512. * for the data label.
  73513. */
  73514. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  73515. /**
  73516. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  73517. * label. Defaults to `undefined`.
  73518. */
  73519. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73520. /**
  73521. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  73522. * the data label.
  73523. */
  73524. borderRadius?: number;
  73525. /**
  73526. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  73527. * the data label.
  73528. */
  73529. borderWidth?: number;
  73530. /**
  73531. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  73532. * Particularly in styled mode, this can be used to give each series' or
  73533. * point's data label unique styling. In addition to this option, a default
  73534. * color class name is added so that we can give the labels a contrast text
  73535. * shadow.
  73536. */
  73537. className?: string;
  73538. /**
  73539. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  73540. * labels. Defaults to `undefined`. For certain series types, like column or
  73541. * map, the data labels can be drawn inside the points. In this case the
  73542. * data label will be drawn with maximum contrast by default. Additionally,
  73543. * it will be given a `text-outline` style with the opposite color, to
  73544. * further increase the contrast. This can be overridden by setting the
  73545. * `text-outline` style to `none` in the `dataLabels.style` option.
  73546. */
  73547. color?: (ColorString|GradientColorObject|PatternObject);
  73548. /**
  73549. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  73550. * are outside the plot area. By default, the data label is moved inside the
  73551. * plot area according to the overflow option.
  73552. */
  73553. crop?: boolean;
  73554. /**
  73555. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  73556. * labels until the initial series animation has finished. Setting to
  73557. * `false` renders the data label immediately. If set to `true` inherits the
  73558. * defer time set in plotOptions.series.animation. If set to a number, a
  73559. * defer time is specified in milliseconds.
  73560. */
  73561. defer?: (boolean|number);
  73562. /**
  73563. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  73564. * labels.
  73565. */
  73566. enabled?: boolean;
  73567. /**
  73568. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  73569. * of which data labels to display. The declarative filter is designed for
  73570. * use when callback functions are not available, like when the chart
  73571. * options require a pure JSON structure or for use with graphical editors.
  73572. * For programmatic control, use the `formatter` instead, and return
  73573. * `undefined` to disable a single data label.
  73574. */
  73575. filter?: DataLabelsFilterOptionsObject;
  73576. /**
  73577. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  73578. * label. Available variables are the same as for `formatter`.
  73579. */
  73580. format?: string;
  73581. /**
  73582. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  73583. * format the data label. Note that if a `format` is defined, the format
  73584. * takes precedence and the formatter is ignored.
  73585. */
  73586. formatter?: DataLabelsFormatterCallbackFunction;
  73587. /**
  73588. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  73589. * columns or map areas, whether to align the data label inside the box or
  73590. * to the actual value point. Defaults to `false` in most cases, `true` in
  73591. * stacked columns.
  73592. */
  73593. inside?: boolean;
  73594. /**
  73595. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  73596. * of null. Works analogously to format. `nullFormat` can be applied only to
  73597. * series which support displaying null points.
  73598. */
  73599. nullFormat?: (boolean|string);
  73600. /**
  73601. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  73602. * that defines formatting for points with the value of null. Works
  73603. * analogously to formatter. `nullPointFormatter` can be applied only to
  73604. * series which support displaying null points.
  73605. */
  73606. nullFormatter?: DataLabelsFormatterCallbackFunction;
  73607. /**
  73608. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  73609. * flow outside the plot area. The default is `"justify"`, which aligns them
  73610. * inside the plot area. For columns and bars, this means it will be moved
  73611. * inside the bar. To display data labels outside the plot area, set `crop`
  73612. * to `false` and `overflow` to `"allow"`.
  73613. */
  73614. overflow?: DataLabelsOverflowValue;
  73615. /**
  73616. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  73617. * the `backgroundColor` is set, this is the padding within the box.
  73618. */
  73619. padding?: number;
  73620. /**
  73621. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  73622. * points. If `center` alignment is not possible, it defaults to `right`.
  73623. */
  73624. position?: AlignValue;
  73625. /**
  73626. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  73627. * that due to a more complex structure, backgrounds, borders and padding
  73628. * will be lost on a rotated data label.
  73629. */
  73630. rotation?: number;
  73631. /**
  73632. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  73633. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  73634. * an object configuration containing `color`, `offsetX`, `offsetY`,
  73635. * `opacity` and `width`.
  73636. */
  73637. shadow?: (boolean|ShadowOptionsObject);
  73638. /**
  73639. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  73640. * the border around the label. Symbols are predefined functions on the
  73641. * Renderer object.
  73642. */
  73643. shape?: string;
  73644. /**
  73645. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  73646. * default `color` setting is `"contrast"`, which is a pseudo color that
  73647. * Highcharts picks up and applies the maximum contrast to the underlying
  73648. * point item, for example the bar in a bar chart.
  73649. *
  73650. * The `textOutline` is a pseudo property that applies an outline of the
  73651. * given width with the given color, which by default is the maximum
  73652. * contrast to the text. So a bright text color will result in a black text
  73653. * outline for maximum readability on a mixed background. In some cases,
  73654. * especially with grayscale text, the text outline doesn't work well, in
  73655. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  73656. * is true, the `textOutline` will not be picked up. In this, case, the same
  73657. * effect can be acheived through the `text-shadow` CSS property.
  73658. *
  73659. * For some series types, where each point has an extent, like for example
  73660. * tree maps, the data label may overflow the point. There are two
  73661. * strategies for handling overflow. By default, the text will wrap to
  73662. * multiple lines. The other strategy is to set `style.textOverflow` to
  73663. * `ellipsis`, which will keep the text on one line plus it will break
  73664. * inside long words.
  73665. */
  73666. style?: CSSObject;
  73667. /**
  73668. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  73669. * should follow marker's shape. Border and background are disabled for a
  73670. * label that follows a path.
  73671. *
  73672. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  73673. * to true will disable this option.
  73674. */
  73675. textPath?: DataLabelsTextPathOptionsObject;
  73676. /**
  73677. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  73678. * the labels.
  73679. */
  73680. useHTML?: boolean;
  73681. /**
  73682. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  73683. * label. Can be one of `top`, `middle` or `bottom`. The default value
  73684. * depends on the data, for instance in a column chart, the label is above
  73685. * positive values and below negative values.
  73686. */
  73687. verticalAlign?: (VerticalAlignValue|null);
  73688. /**
  73689. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  73690. * label relative to the point in pixels.
  73691. */
  73692. x?: number;
  73693. /**
  73694. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  73695. * label relative to the point in pixels.
  73696. */
  73697. y?: number;
  73698. /**
  73699. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  73700. * The default Z index puts it above the series. Use a Z index of 2 to
  73701. * display it behind the series.
  73702. */
  73703. z?: number;
  73704. }
  73705. /**
  73706. * (Highcharts, Highstock) Options for the series data sorting.
  73707. */
  73708. export interface PlotPivotpointsDataSortingOptions {
  73709. /**
  73710. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  73711. * Use xAxis.reversed to change the sorting order.
  73712. */
  73713. enabled?: boolean;
  73714. /**
  73715. * (Highcharts, Highstock) Whether to allow matching points by name in an
  73716. * update. If this option is disabled, points will be matched by order.
  73717. */
  73718. matchByName?: boolean;
  73719. /**
  73720. * (Highcharts, Highstock) Determines what data value should be used to sort
  73721. * by.
  73722. */
  73723. sortKey?: string;
  73724. }
  73725. /**
  73726. * (Highstock) Pivot points indicator. This series requires the `linkedTo`
  73727. * option to be set and should be loaded after `stock/indicators/indicators.js`
  73728. * file.
  73729. *
  73730. * In TypeScript the type option must always be set.
  73731. *
  73732. * Configuration options for the series are given in three levels:
  73733. *
  73734. * 1. Options for all series in a chart are defined in the plotOptions.series
  73735. * object.
  73736. *
  73737. * 2. Options for all `pivotpoints` series are defined in
  73738. * plotOptions.pivotpoints.
  73739. *
  73740. * 3. Options for one single series are given in the series instance array. (see
  73741. * online documentation for example)
  73742. */
  73743. export interface PlotPivotpointsOptions {
  73744. /**
  73745. * (Highstock) Accessibility options for a series.
  73746. */
  73747. accessibility?: SeriesAccessibilityOptionsObject;
  73748. /**
  73749. * (Highstock) Allow this series' points to be selected by clicking on the
  73750. * graphic (columns, point markers, pie slices, map areas etc).
  73751. *
  73752. * The selected points can be handled by point select and unselect events,
  73753. * or collectively by the getSelectedPoints function.
  73754. *
  73755. * And alternative way of selecting points is through dragging.
  73756. */
  73757. allowPointSelect?: boolean;
  73758. /**
  73759. * (Highstock) Enable or disable the initial animation when a series is
  73760. * displayed. The animation can also be set as a configuration object.
  73761. * Please note that this option only applies to the initial animation of the
  73762. * series itself. For other animations, see chart.animation and the
  73763. * animation parameter under the API methods. The following properties are
  73764. * supported:
  73765. *
  73766. * - `defer`: The animation delay time in milliseconds.
  73767. *
  73768. * - `duration`: The duration of the animation in milliseconds.
  73769. *
  73770. * - `easing`: Can be a string reference to an easing function set on the
  73771. * `Math` object or a function. See the _Custom easing function_ demo below.
  73772. *
  73773. * Due to poor performance, animation is disabled in old IE browsers for
  73774. * several chart types.
  73775. */
  73776. animation?: (boolean|PlotPivotpointsAnimationOptions|Partial<AnimationOptionsObject>);
  73777. /**
  73778. * (Highstock) For some series, there is a limit that shuts down initial
  73779. * animation by default when the total number of points in the chart is too
  73780. * high. For example, for a column chart and its derivatives, animation does
  73781. * not run if there is more than 250 points totally. To disable this cap,
  73782. * set `animationLimit` to `Infinity`.
  73783. */
  73784. animationLimit?: number;
  73785. /**
  73786. * (Highstock) Sets the color blending in the boost module.
  73787. */
  73788. boostBlending?: OptionsBoostBlendingValue;
  73789. /**
  73790. * (Highstock) Set the point threshold for when a series should enter boost
  73791. * mode.
  73792. *
  73793. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  73794. * there are 2000 or more points in the series.
  73795. *
  73796. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  73797. * it to 1 will force boosting.
  73798. *
  73799. * Note that the cropThreshold also affects this setting. When zooming in on
  73800. * a series that has fewer points than the `cropThreshold`, all points are
  73801. * rendered although outside the visible plot area, and the `boostThreshold`
  73802. * won't take effect.
  73803. */
  73804. boostThreshold?: number;
  73805. /**
  73806. * (Highmaps) The border color of the map areas.
  73807. *
  73808. * In styled mode, the border stroke is given in the `.highcharts-point`
  73809. * class.
  73810. */
  73811. borderColor?: (ColorString|GradientColorObject|PatternObject);
  73812. /**
  73813. * (Highmaps) The border width of each map area.
  73814. *
  73815. * In styled mode, the border stroke width is given in the
  73816. * `.highcharts-point` class.
  73817. */
  73818. borderWidth?: number;
  73819. /**
  73820. * (Highstock) An additional class name to apply to the series' graphical
  73821. * elements. This option does not replace default class names of the
  73822. * graphical element.
  73823. */
  73824. className?: string;
  73825. /**
  73826. * (Highstock) Disable this option to allow series rendering in the whole
  73827. * plotting area.
  73828. *
  73829. * **Note:** Clipping should be always enabled when chart.zoomType is set
  73830. */
  73831. clip?: boolean;
  73832. /**
  73833. * (Highstock) The main color of the series. In line type series it applies
  73834. * to the line and the point markers unless otherwise specified. In bar type
  73835. * series it applies to the bars unless a color is specified per point. The
  73836. * default value is pulled from the `options.colors` array.
  73837. *
  73838. * In styled mode, the color can be defined by the colorIndex option. Also,
  73839. * the series color can be set with the `.highcharts-series`,
  73840. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  73841. * `.highcharts-series-{n}` class, or individual classes given by the
  73842. * `className` option.
  73843. */
  73844. color?: (ColorString|GradientColorObject|PatternObject);
  73845. /**
  73846. * (Highstock) Styled mode only. A specific color index to use for the
  73847. * series, so its graphic representations are given the class name
  73848. * `highcharts-color-{n}`.
  73849. */
  73850. colorIndex?: number;
  73851. /**
  73852. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  73853. * used to calculate point color if `colorAxis` is used. Requires to set
  73854. * `min` and `max` if some custom point property is used or if approximation
  73855. * for data grouping is set to `'sum'`.
  73856. */
  73857. colorKey?: string;
  73858. /**
  73859. * (Highstock) Compare the values of the series against the first non-null,
  73860. * non- zero value in the visible range. The y axis will show percentage or
  73861. * absolute change depending on whether `compare` is set to `"percent"` or
  73862. * `"value"`. When this is applied to multiple series, it allows comparing
  73863. * the development of the series against each other. Adds a `change` field
  73864. * to every point object.
  73865. */
  73866. compare?: string;
  73867. /**
  73868. * (Highstock) When compare is `percent`, this option dictates whether to
  73869. * use 0 or 100 as the base of comparison.
  73870. */
  73871. compareBase?: (0|100);
  73872. /**
  73873. * (Highstock) Defines if comparison should start from the first point
  73874. * within the visible range or should start from the first point **before**
  73875. * the range.
  73876. *
  73877. * In other words, this flag determines if first point within the visible
  73878. * range will have 0% (`compareStart=true`) or should have been already
  73879. * calculated according to the previous point (`compareStart=false`).
  73880. */
  73881. compareStart?: boolean;
  73882. /**
  73883. * (Highstock) Whether to compare indicator to the main series values or
  73884. * indicator values.
  73885. */
  73886. compareToMain?: boolean;
  73887. /**
  73888. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  73889. * series plot across the extremes.
  73890. */
  73891. connectEnds?: boolean;
  73892. /**
  73893. * (Highcharts, Highstock) Whether to connect a graph line across null
  73894. * points, or render a gap between the two points on either side of the
  73895. * null.
  73896. */
  73897. connectNulls?: boolean;
  73898. /**
  73899. * (Gantt) Override Pathfinder connector options for a series. Requires
  73900. * Highcharts Gantt to be loaded.
  73901. */
  73902. connectors?: SeriesConnectorsOptionsObject;
  73903. /**
  73904. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  73905. * rounded to its nearest pixel in order to render sharp on screen. In some
  73906. * cases, when there are a lot of densely packed columns, this leads to
  73907. * visible difference in column widths or distance between columns. In these
  73908. * cases, setting `crisp` to `false` may look better, even though each
  73909. * column is rendered blurry.
  73910. */
  73911. crisp?: boolean;
  73912. /**
  73913. * (Highcharts, Highstock) When the series contains less points than the
  73914. * crop threshold, all points are drawn, even if the points fall outside the
  73915. * visible plot area at the current zoom. The advantage of drawing all
  73916. * points (including markers and columns), is that animation is performed on
  73917. * updates. On the other hand, when the series contains more points than the
  73918. * crop threshold, the series data is cropped to only contain points that
  73919. * fall within the plot area. The advantage of cropping away invisible
  73920. * points is to increase performance on large series.
  73921. */
  73922. cropThreshold?: number;
  73923. /**
  73924. * (Highstock) You can set the cursor to "pointer" if you have click events
  73925. * attached to the series, to signal to the user that the points and lines
  73926. * can be clicked.
  73927. *
  73928. * In styled mode, the series cursor can be set with the same classes as
  73929. * listed under series.color.
  73930. */
  73931. cursor?: (string|CursorValue);
  73932. /**
  73933. * (Highstock) A reserved subspace to store options and values for
  73934. * customized functionality. Here you can add additional data for your own
  73935. * event callbacks and formatter callbacks.
  73936. */
  73937. custom?: Dictionary<any>;
  73938. /**
  73939. * (Highstock) Name of the dash style to use for the graph, or for some
  73940. * series types the outline of each shape.
  73941. *
  73942. * In styled mode, the stroke dash-array can be set with the same classes as
  73943. * listed under series.color.
  73944. */
  73945. dashStyle?: DashStyleValue;
  73946. /**
  73947. * (Highstock) Data grouping is the concept of sampling the data values into
  73948. * larger blocks in order to ease readability and increase performance of
  73949. * the JavaScript charts. Highcharts Stock by default applies data grouping
  73950. * when the points become closer than a certain pixel value, determined by
  73951. * the `groupPixelWidth` option.
  73952. *
  73953. * If data grouping is applied, the grouping information of grouped points
  73954. * can be read from the Point.dataGroup. If point options other than the
  73955. * data itself are set, for example `name` or `color` or custom properties,
  73956. * the grouping logic doesn't know how to group it. In this case the options
  73957. * of the first point instance are copied over to the group point. This can
  73958. * be altered through a custom `approximation` callback function.
  73959. */
  73960. dataGrouping?: DataGroupingOptionsObject;
  73961. /**
  73962. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  73963. * labels, appearing next to each data point.
  73964. *
  73965. * Since v6.2.0, multiple data labels can be applied to each single point by
  73966. * defining them as an array of configs.
  73967. *
  73968. * In styled mode, the data labels can be styled with the
  73969. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  73970. * (see example).
  73971. */
  73972. dataLabels?: (PlotPivotpointsDataLabelsOptions|Array<PlotPivotpointsDataLabelsOptions>);
  73973. /**
  73974. * (Highcharts, Highstock) Options for the series data sorting.
  73975. */
  73976. dataSorting?: (DataSortingOptionsObject|PlotPivotpointsDataSortingOptions);
  73977. /**
  73978. * (Highstock) A description of the series to add to the screen reader
  73979. * information about the series.
  73980. */
  73981. description?: string;
  73982. /**
  73983. * (Highstock) Enable or disable the mouse tracking for a specific series.
  73984. * This includes point tooltips and click events on graphs and points. For
  73985. * large datasets it improves performance.
  73986. */
  73987. enableMouseTracking?: boolean;
  73988. /**
  73989. * (Highstock) General event handlers for the series items. These event
  73990. * hooks can also be attached to the series at run time using the
  73991. * `Highcharts.addEvent` function.
  73992. */
  73993. events?: SeriesEventsOptionsObject;
  73994. /**
  73995. * (Highstock) Determines whether the series should look for the nearest
  73996. * point in both dimensions or just the x-dimension when hovering the
  73997. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  73998. * series. If the data has duplicate x-values, it is recommended to set this
  73999. * to `'xy'` to allow hovering over all points.
  74000. *
  74001. * Applies only to series types using nearest neighbor search (not direct
  74002. * hover) for tooltip.
  74003. */
  74004. findNearestPointBy?: OptionsFindNearestPointByValue;
  74005. /**
  74006. * (Highstock) Defines when to display a gap in the graph, together with the
  74007. * gapUnit option.
  74008. *
  74009. * In case when `dataGrouping` is enabled, points can be grouped into a
  74010. * larger time span. This can make the grouped points to have a greater
  74011. * distance than the absolute value of `gapSize` property, which will result
  74012. * in disappearing graph completely. To prevent this situation the mentioned
  74013. * distance between grouped points is used instead of previously defined
  74014. * `gapSize`.
  74015. *
  74016. * In practice, this option is most often used to visualize gaps in time
  74017. * series. In a stock chart, intraday data is available for daytime hours,
  74018. * while gaps will appear in nights and weekends.
  74019. */
  74020. gapSize?: number;
  74021. /**
  74022. * (Highstock) Together with gapSize, this option defines where to draw gaps
  74023. * in the graph.
  74024. *
  74025. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  74026. * if the distance between two points is greater than 5 times that of the
  74027. * two closest points, the graph will be broken.
  74028. *
  74029. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  74030. * values, which on a datetime axis is milliseconds. This also applies to
  74031. * the navigator series that inherits gap options from the base series.
  74032. */
  74033. gapUnit?: OptionsGapUnitValue;
  74034. /**
  74035. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  74036. * chart width or only the zoomed area when zooming in on parts of the X
  74037. * axis. By default, the Y axis adjusts to the min and max of the visible
  74038. * data. Cartesian series only.
  74039. */
  74040. getExtremesFromAll?: boolean;
  74041. /**
  74042. * (Highstock) When set to `false` will prevent the series data from being
  74043. * included in any form of data export.
  74044. *
  74045. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  74046. * `includeInCSVExport`.
  74047. */
  74048. includeInDataExport?: boolean;
  74049. /**
  74050. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  74051. * series as possible in a natural way, seeking to avoid other series. The
  74052. * goal of this feature is to make the chart more easily readable, like if a
  74053. * human designer placed the labels in the optimal position.
  74054. *
  74055. * The series labels currently work with series types having a `graph` or an
  74056. * `area`.
  74057. */
  74058. label?: SeriesLabelOptionsObject;
  74059. /**
  74060. * (Highstock) The line marks the last price from all points.
  74061. */
  74062. lastPrice?: SeriesLastPriceOptionsObject;
  74063. /**
  74064. * (Highstock) The line marks the last price from visible range of points.
  74065. */
  74066. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  74067. /**
  74068. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  74069. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  74070. * the ends and bends.
  74071. */
  74072. linecap?: SeriesLinecapValue;
  74073. /**
  74074. * (Highcharts, Highstock) Pixel width of the graph line.
  74075. */
  74076. lineWidth?: number;
  74077. /**
  74078. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  74079. * based on. Required for this indicator.
  74080. */
  74081. linkedTo?: string;
  74082. /**
  74083. * (Highstock) Options for the point markers of line-like series. Properties
  74084. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  74085. * appearance of the markers. Other series types, like column series, don't
  74086. * have markers, but have visual options on the series level instead.
  74087. *
  74088. * In styled mode, the markers can be styled with the `.highcharts-point`,
  74089. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  74090. */
  74091. marker?: PointMarkerOptionsObject;
  74092. /**
  74093. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  74094. * If not set, it will be based on a technical indicator type and default
  74095. * params.
  74096. */
  74097. name?: string;
  74098. /**
  74099. * (Highstock) The color for the parts of the graph or points that are below
  74100. * the threshold. Note that `zones` takes precedence over the negative
  74101. * color. Using `negativeColor` is equivalent to applying a zone with value
  74102. * of 0.
  74103. */
  74104. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  74105. /**
  74106. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  74107. * dataLabels.
  74108. */
  74109. opacity?: number;
  74110. /**
  74111. * (Highstock) Paramters used in calculation of regression series' points.
  74112. */
  74113. params?: PlotPivotpointsParamsOptions;
  74114. /**
  74115. * (Highstock) Properties for each single point.
  74116. */
  74117. point?: PlotSeriesPointOptions;
  74118. /**
  74119. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  74120. * individual series. Overrides the chart wide configuration.
  74121. */
  74122. pointDescriptionFormatter?: Function;
  74123. /**
  74124. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  74125. * true, the checkbox next to the series name in the legend will be checked
  74126. * for a selected series.
  74127. */
  74128. selected?: boolean;
  74129. /**
  74130. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  74131. * the shadow can be an object configuration containing `color`, `offsetX`,
  74132. * `offsetY`, `opacity` and `width`.
  74133. */
  74134. shadow?: (boolean|ShadowOptionsObject);
  74135. /**
  74136. * (Highstock) If true, a checkbox is displayed next to the legend item to
  74137. * allow selecting the series. The state of the checkbox is determined by
  74138. * the `selected` option.
  74139. */
  74140. showCheckbox?: boolean;
  74141. /**
  74142. * (Highstock) Whether to display this particular series or series type in
  74143. * the legend. Standalone series are shown in legend by default, and linked
  74144. * series are not. Since v7.2.0 it is possible to show series that use
  74145. * colorAxis by setting this option to `true`.
  74146. */
  74147. showInLegend?: boolean;
  74148. /**
  74149. * (Highstock) If set to `true`, the accessibility module will skip past the
  74150. * points in this series for keyboard navigation.
  74151. */
  74152. skipKeyboardNavigation?: boolean;
  74153. /**
  74154. * (Highcharts, Highstock) When this is true, the series will not cause the
  74155. * Y axis to cross the zero plane (or threshold option) unless the data
  74156. * actually crosses the plane.
  74157. *
  74158. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  74159. * make the Y axis show negative values according to the `minPadding`
  74160. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  74161. */
  74162. softThreshold?: boolean;
  74163. states?: SeriesStatesOptionsObject;
  74164. /**
  74165. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  74166. * values are `left`, `center` and `right`.
  74167. */
  74168. step?: OptionsStepValue;
  74169. /**
  74170. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  74171. * event on a series isn't triggered until the mouse moves over another
  74172. * series, or out of the plot area. When false, the `mouseOut` event on a
  74173. * series is triggered when the mouse leaves the area around the series'
  74174. * graph or markers. This also implies the tooltip when not shared. When
  74175. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  74176. * be hidden when moving the mouse between series. Defaults to true for line
  74177. * and area type series, but to false for columns, pies etc.
  74178. *
  74179. * **Note:** The boost module will force this option because of technical
  74180. * limitations.
  74181. */
  74182. stickyTracking?: boolean;
  74183. /**
  74184. * (Highcharts, Highstock) The threshold, also called zero level or base
  74185. * level. For line type series this is only used in conjunction with
  74186. * negativeColor.
  74187. */
  74188. threshold?: (number|null);
  74189. /**
  74190. * (Highstock) A configuration object for the tooltip rendering of each
  74191. * single series. Properties are inherited from tooltip, but only the
  74192. * following properties can be defined on a series level.
  74193. */
  74194. tooltip?: SeriesTooltipOptionsObject;
  74195. /**
  74196. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  74197. * is longer than this, only one dimensional arrays of numbers, or two
  74198. * dimensional arrays with x and y values are allowed. Also, only the first
  74199. * point is tested, and the rest are assumed to be the same format. This
  74200. * saves expensive data checking and indexing in long series. Set it to `0`
  74201. * disable.
  74202. *
  74203. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  74204. * two dimensional arrays are allowed.
  74205. */
  74206. turboThreshold?: number;
  74207. /**
  74208. * (Highstock) Set the initial visibility of the series.
  74209. */
  74210. visible?: boolean;
  74211. /**
  74212. * (Highmaps) Define the z index of the series.
  74213. */
  74214. zIndex?: number;
  74215. /**
  74216. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  74217. */
  74218. zoneAxis?: string;
  74219. /**
  74220. * (Highcharts, Highstock) An array defining zones within a series. Zones
  74221. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  74222. * the `zoneAxis` option. The zone definitions have to be in ascending order
  74223. * regarding to the value.
  74224. *
  74225. * In styled mode, the color zones are styled with the
  74226. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  74227. * option (view live demo).
  74228. */
  74229. zones?: Array<SeriesZonesOptionsObject>;
  74230. }
  74231. /**
  74232. * (Highstock) Paramters used in calculation of regression series' points.
  74233. */
  74234. export interface PlotPivotpointsParamsOptions {
  74235. /**
  74236. * (Highstock) Algorithm used to calculate ressistance and support lines
  74237. * based on pivot points. Implemented algorithms: `'standard'`,
  74238. * `'fibonacci'` and `'camarilla'`
  74239. */
  74240. algorithm?: string;
  74241. index?: string;
  74242. /**
  74243. * (Highstock) The base period for indicator calculations. This is the
  74244. * number of data points which are taken into account for the indicator
  74245. * calculations.
  74246. */
  74247. period?: number;
  74248. }
  74249. /**
  74250. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  74251. * is displayed. The animation can also be set as a configuration object. Please
  74252. * note that this option only applies to the initial animation of the series
  74253. * itself. For other animations, see chart.animation and the animation parameter
  74254. * under the API methods. The following properties are supported:
  74255. *
  74256. * - `defer`: The animation delay time in milliseconds.
  74257. *
  74258. * - `duration`: The duration of the animation in milliseconds.
  74259. *
  74260. * - `easing`: Can be a string reference to an easing function set on the `Math`
  74261. * object or a function. See the _Custom easing function_ demo below.
  74262. *
  74263. * Due to poor performance, animation is disabled in old IE browsers for several
  74264. * chart types.
  74265. */
  74266. export interface PlotPolygonAnimationOptions {
  74267. defer?: number;
  74268. }
  74269. /**
  74270. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74271. * animation when a series is displayed for the `dataLabels`. The animation can
  74272. * also be set as a configuration object. Please note that this option only
  74273. * applies to the initial animation. For other animations, see chart.animation
  74274. * and the animation parameter under the API methods. The following properties
  74275. * are supported:
  74276. *
  74277. * - `defer`: The animation delay time in milliseconds.
  74278. */
  74279. export interface PlotPolygonDataLabelsAnimationOptions {
  74280. /**
  74281. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  74282. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  74283. * inherits defer time from the series.animation.defer.
  74284. */
  74285. defer?: number;
  74286. }
  74287. /**
  74288. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  74289. * appearing next to each data point.
  74290. *
  74291. * Since v6.2.0, multiple data labels can be applied to each single point by
  74292. * defining them as an array of configs.
  74293. *
  74294. * In styled mode, the data labels can be styled with the
  74295. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  74296. * example).
  74297. */
  74298. export interface PlotPolygonDataLabelsOptions {
  74299. /**
  74300. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  74301. * compared to the point. If `right`, the right side of the label should be
  74302. * touching the point. For points with an extent, like columns, the
  74303. * alignments also dictates how to align it inside the box, as given with
  74304. * the inside option. Can be one of `left`, `center` or `right`.
  74305. */
  74306. align?: (AlignValue|null);
  74307. /**
  74308. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  74309. * overlap. To make the labels less sensitive for overlapping, the
  74310. * dataLabels.padding can be set to 0.
  74311. */
  74312. allowOverlap?: boolean;
  74313. /**
  74314. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  74315. * animation when a series is displayed for the `dataLabels`. The animation
  74316. * can also be set as a configuration object. Please note that this option
  74317. * only applies to the initial animation. For other animations, see
  74318. * chart.animation and the animation parameter under the API methods. The
  74319. * following properties are supported:
  74320. *
  74321. * - `defer`: The animation delay time in milliseconds.
  74322. */
  74323. animation?: (boolean|PlotPolygonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  74324. /**
  74325. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  74326. * for the data label.
  74327. */
  74328. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  74329. /**
  74330. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  74331. * label. Defaults to `undefined`.
  74332. */
  74333. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74334. /**
  74335. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  74336. * the data label.
  74337. */
  74338. borderRadius?: number;
  74339. /**
  74340. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  74341. * the data label.
  74342. */
  74343. borderWidth?: number;
  74344. /**
  74345. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  74346. * Particularly in styled mode, this can be used to give each series' or
  74347. * point's data label unique styling. In addition to this option, a default
  74348. * color class name is added so that we can give the labels a contrast text
  74349. * shadow.
  74350. */
  74351. className?: string;
  74352. /**
  74353. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  74354. * labels. Defaults to `undefined`. For certain series types, like column or
  74355. * map, the data labels can be drawn inside the points. In this case the
  74356. * data label will be drawn with maximum contrast by default. Additionally,
  74357. * it will be given a `text-outline` style with the opposite color, to
  74358. * further increase the contrast. This can be overridden by setting the
  74359. * `text-outline` style to `none` in the `dataLabels.style` option.
  74360. */
  74361. color?: (ColorString|GradientColorObject|PatternObject);
  74362. /**
  74363. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  74364. * are outside the plot area. By default, the data label is moved inside the
  74365. * plot area according to the overflow option.
  74366. */
  74367. crop?: boolean;
  74368. /**
  74369. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  74370. * labels until the initial series animation has finished. Setting to
  74371. * `false` renders the data label immediately. If set to `true` inherits the
  74372. * defer time set in plotOptions.series.animation. If set to a number, a
  74373. * defer time is specified in milliseconds.
  74374. */
  74375. defer?: (boolean|number);
  74376. /**
  74377. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  74378. * labels.
  74379. */
  74380. enabled?: boolean;
  74381. /**
  74382. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  74383. * of which data labels to display. The declarative filter is designed for
  74384. * use when callback functions are not available, like when the chart
  74385. * options require a pure JSON structure or for use with graphical editors.
  74386. * For programmatic control, use the `formatter` instead, and return
  74387. * `undefined` to disable a single data label.
  74388. */
  74389. filter?: DataLabelsFilterOptionsObject;
  74390. /**
  74391. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  74392. * label. Available variables are the same as for `formatter`.
  74393. */
  74394. format?: string;
  74395. /**
  74396. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  74397. * format the data label. Note that if a `format` is defined, the format
  74398. * takes precedence and the formatter is ignored.
  74399. */
  74400. formatter?: DataLabelsFormatterCallbackFunction;
  74401. /**
  74402. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  74403. * columns or map areas, whether to align the data label inside the box or
  74404. * to the actual value point. Defaults to `false` in most cases, `true` in
  74405. * stacked columns.
  74406. */
  74407. inside?: boolean;
  74408. /**
  74409. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  74410. * of null. Works analogously to format. `nullFormat` can be applied only to
  74411. * series which support displaying null points.
  74412. */
  74413. nullFormat?: (boolean|string);
  74414. /**
  74415. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  74416. * that defines formatting for points with the value of null. Works
  74417. * analogously to formatter. `nullPointFormatter` can be applied only to
  74418. * series which support displaying null points.
  74419. */
  74420. nullFormatter?: DataLabelsFormatterCallbackFunction;
  74421. /**
  74422. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  74423. * flow outside the plot area. The default is `"justify"`, which aligns them
  74424. * inside the plot area. For columns and bars, this means it will be moved
  74425. * inside the bar. To display data labels outside the plot area, set `crop`
  74426. * to `false` and `overflow` to `"allow"`.
  74427. */
  74428. overflow?: DataLabelsOverflowValue;
  74429. /**
  74430. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  74431. * the `backgroundColor` is set, this is the padding within the box.
  74432. */
  74433. padding?: number;
  74434. /**
  74435. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  74436. * points. If `center` alignment is not possible, it defaults to `right`.
  74437. */
  74438. position?: AlignValue;
  74439. /**
  74440. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  74441. * that due to a more complex structure, backgrounds, borders and padding
  74442. * will be lost on a rotated data label.
  74443. */
  74444. rotation?: number;
  74445. /**
  74446. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  74447. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  74448. * an object configuration containing `color`, `offsetX`, `offsetY`,
  74449. * `opacity` and `width`.
  74450. */
  74451. shadow?: (boolean|ShadowOptionsObject);
  74452. /**
  74453. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  74454. * the border around the label. Symbols are predefined functions on the
  74455. * Renderer object.
  74456. */
  74457. shape?: string;
  74458. /**
  74459. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  74460. * default `color` setting is `"contrast"`, which is a pseudo color that
  74461. * Highcharts picks up and applies the maximum contrast to the underlying
  74462. * point item, for example the bar in a bar chart.
  74463. *
  74464. * The `textOutline` is a pseudo property that applies an outline of the
  74465. * given width with the given color, which by default is the maximum
  74466. * contrast to the text. So a bright text color will result in a black text
  74467. * outline for maximum readability on a mixed background. In some cases,
  74468. * especially with grayscale text, the text outline doesn't work well, in
  74469. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  74470. * is true, the `textOutline` will not be picked up. In this, case, the same
  74471. * effect can be acheived through the `text-shadow` CSS property.
  74472. *
  74473. * For some series types, where each point has an extent, like for example
  74474. * tree maps, the data label may overflow the point. There are two
  74475. * strategies for handling overflow. By default, the text will wrap to
  74476. * multiple lines. The other strategy is to set `style.textOverflow` to
  74477. * `ellipsis`, which will keep the text on one line plus it will break
  74478. * inside long words.
  74479. */
  74480. style?: CSSObject;
  74481. /**
  74482. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  74483. * should follow marker's shape. Border and background are disabled for a
  74484. * label that follows a path.
  74485. *
  74486. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  74487. * to true will disable this option.
  74488. */
  74489. textPath?: DataLabelsTextPathOptionsObject;
  74490. /**
  74491. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  74492. * the labels.
  74493. */
  74494. useHTML?: boolean;
  74495. /**
  74496. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  74497. * label. Can be one of `top`, `middle` or `bottom`. The default value
  74498. * depends on the data, for instance in a column chart, the label is above
  74499. * positive values and below negative values.
  74500. */
  74501. verticalAlign?: (VerticalAlignValue|null);
  74502. /**
  74503. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  74504. * label relative to the point in pixels.
  74505. */
  74506. x?: number;
  74507. /**
  74508. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  74509. * label relative to the point in pixels.
  74510. */
  74511. y?: number;
  74512. /**
  74513. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  74514. * The default Z index puts it above the series. Use a Z index of 2 to
  74515. * display it behind the series.
  74516. */
  74517. z?: number;
  74518. }
  74519. /**
  74520. * (Highcharts, Highstock) Options for the series data sorting.
  74521. */
  74522. export interface PlotPolygonDataSortingOptions {
  74523. /**
  74524. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  74525. * Use xAxis.reversed to change the sorting order.
  74526. */
  74527. enabled?: boolean;
  74528. /**
  74529. * (Highcharts, Highstock) Whether to allow matching points by name in an
  74530. * update. If this option is disabled, points will be matched by order.
  74531. */
  74532. matchByName?: boolean;
  74533. /**
  74534. * (Highcharts, Highstock) Determines what data value should be used to sort
  74535. * by.
  74536. */
  74537. sortKey?: string;
  74538. }
  74539. /**
  74540. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  74541. * one state by default, the `default` state.
  74542. */
  74543. export interface PlotPolygonDragDropGuideBoxOptions {
  74544. /**
  74545. * (Highcharts, Highstock) Style options for the guide box default state.
  74546. */
  74547. default?: DragDropGuideBoxOptionsObject;
  74548. }
  74549. /**
  74550. * (Highcharts, Highstock) A polygon series can be used to draw any freeform
  74551. * shape in the cartesian coordinate system. A fill is applied with the `color`
  74552. * option, and stroke is applied through `lineWidth` and `lineColor` options.
  74553. *
  74554. * In TypeScript the type option must always be set.
  74555. *
  74556. * Configuration options for the series are given in three levels:
  74557. *
  74558. * 1. Options for all series in a chart are defined in the plotOptions.series
  74559. * object.
  74560. *
  74561. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  74562. *
  74563. * 3. Options for one single series are given in the series instance array. (see
  74564. * online documentation for example)
  74565. */
  74566. export interface PlotPolygonOptions {
  74567. /**
  74568. * (Highcharts, Highstock) Accessibility options for a series.
  74569. */
  74570. accessibility?: SeriesAccessibilityOptionsObject;
  74571. /**
  74572. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  74573. * rendered. If `true`, areas which don't correspond to a data point, are
  74574. * rendered as `null` points. If `false`, those areas are skipped.
  74575. */
  74576. allAreas?: boolean;
  74577. /**
  74578. * (Highcharts, Highstock) Allow this series' points to be selected by
  74579. * clicking on the graphic (columns, point markers, pie slices, map areas
  74580. * etc).
  74581. *
  74582. * The selected points can be handled by point select and unselect events,
  74583. * or collectively by the getSelectedPoints function.
  74584. *
  74585. * And alternative way of selecting points is through dragging.
  74586. */
  74587. allowPointSelect?: boolean;
  74588. /**
  74589. * (Highcharts, Highstock) Enable or disable the initial animation when a
  74590. * series is displayed. The animation can also be set as a configuration
  74591. * object. Please note that this option only applies to the initial
  74592. * animation of the series itself. For other animations, see chart.animation
  74593. * and the animation parameter under the API methods. The following
  74594. * properties are supported:
  74595. *
  74596. * - `defer`: The animation delay time in milliseconds.
  74597. *
  74598. * - `duration`: The duration of the animation in milliseconds.
  74599. *
  74600. * - `easing`: Can be a string reference to an easing function set on the
  74601. * `Math` object or a function. See the _Custom easing function_ demo below.
  74602. *
  74603. * Due to poor performance, animation is disabled in old IE browsers for
  74604. * several chart types.
  74605. */
  74606. animation?: (boolean|PlotPolygonAnimationOptions|Partial<AnimationOptionsObject>);
  74607. /**
  74608. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  74609. * initial animation by default when the total number of points in the chart
  74610. * is too high. For example, for a column chart and its derivatives,
  74611. * animation does not run if there is more than 250 points totally. To
  74612. * disable this cap, set `animationLimit` to `Infinity`.
  74613. */
  74614. animationLimit?: number;
  74615. /**
  74616. * (Highmaps) The border color of the map areas.
  74617. *
  74618. * In styled mode, the border stroke is given in the `.highcharts-point`
  74619. * class.
  74620. */
  74621. borderColor?: (ColorString|GradientColorObject|PatternObject);
  74622. /**
  74623. * (Highmaps) The border width of each map area.
  74624. *
  74625. * In styled mode, the border stroke width is given in the
  74626. * `.highcharts-point` class.
  74627. */
  74628. borderWidth?: number;
  74629. /**
  74630. * (Highcharts, Highstock) An additional class name to apply to the series'
  74631. * graphical elements. This option does not replace default class names of
  74632. * the graphical element.
  74633. */
  74634. className?: string;
  74635. /**
  74636. * (Highcharts, Highstock) Disable this option to allow series rendering in
  74637. * the whole plotting area.
  74638. *
  74639. * **Note:** Clipping should be always enabled when chart.zoomType is set
  74640. */
  74641. clip?: boolean;
  74642. /**
  74643. * (Highcharts, Highstock) The main color of the series. In line type series
  74644. * it applies to the line and the point markers unless otherwise specified.
  74645. * In bar type series it applies to the bars unless a color is specified per
  74646. * point. The default value is pulled from the `options.colors` array.
  74647. *
  74648. * In styled mode, the color can be defined by the colorIndex option. Also,
  74649. * the series color can be set with the `.highcharts-series`,
  74650. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  74651. * `.highcharts-series-{n}` class, or individual classes given by the
  74652. * `className` option.
  74653. */
  74654. color?: (ColorString|GradientColorObject|PatternObject);
  74655. /**
  74656. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  74657. * this number defines which colorAxis the particular series is connected
  74658. * to. It refers to either the axis id or the index of the axis in the
  74659. * colorAxis array, with 0 being the first. Set this option to false to
  74660. * prevent a series from connecting to the default color axis.
  74661. *
  74662. * Since v7.2.0 the option can also be an axis id or an axis index instead
  74663. * of a boolean flag.
  74664. */
  74665. colorAxis?: (boolean|number|string);
  74666. /**
  74667. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  74668. * for the series, so its graphic representations are given the class name
  74669. * `highcharts-color-{n}`.
  74670. */
  74671. colorIndex?: number;
  74672. /**
  74673. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  74674. * used to calculate point color if `colorAxis` is used. Requires to set
  74675. * `min` and `max` if some custom point property is used or if approximation
  74676. * for data grouping is set to `'sum'`.
  74677. */
  74678. colorKey?: string;
  74679. /**
  74680. * (Highstock) Compare the values of the series against the first non-null,
  74681. * non- zero value in the visible range. The y axis will show percentage or
  74682. * absolute change depending on whether `compare` is set to `"percent"` or
  74683. * `"value"`. When this is applied to multiple series, it allows comparing
  74684. * the development of the series against each other. Adds a `change` field
  74685. * to every point object.
  74686. */
  74687. compare?: string;
  74688. /**
  74689. * (Highstock) When compare is `percent`, this option dictates whether to
  74690. * use 0 or 100 as the base of comparison.
  74691. */
  74692. compareBase?: (0|100);
  74693. /**
  74694. * (Highstock) Defines if comparison should start from the first point
  74695. * within the visible range or should start from the first point **before**
  74696. * the range.
  74697. *
  74698. * In other words, this flag determines if first point within the visible
  74699. * range will have 0% (`compareStart=true`) or should have been already
  74700. * calculated according to the previous point (`compareStart=false`).
  74701. */
  74702. compareStart?: boolean;
  74703. /**
  74704. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  74705. * series plot across the extremes.
  74706. */
  74707. connectEnds?: boolean;
  74708. /**
  74709. * (Highcharts, Highstock) Whether to connect a graph line across null
  74710. * points, or render a gap between the two points on either side of the
  74711. * null.
  74712. */
  74713. connectNulls?: boolean;
  74714. /**
  74715. * (Gantt) Override Pathfinder connector options for a series. Requires
  74716. * Highcharts Gantt to be loaded.
  74717. */
  74718. connectors?: SeriesConnectorsOptionsObject;
  74719. /**
  74720. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  74721. * rounded to its nearest pixel in order to render sharp on screen. In some
  74722. * cases, when there are a lot of densely packed columns, this leads to
  74723. * visible difference in column widths or distance between columns. In these
  74724. * cases, setting `crisp` to `false` may look better, even though each
  74725. * column is rendered blurry.
  74726. */
  74727. crisp?: boolean;
  74728. /**
  74729. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  74730. * click events attached to the series, to signal to the user that the
  74731. * points and lines can be clicked.
  74732. *
  74733. * In styled mode, the series cursor can be set with the same classes as
  74734. * listed under series.color.
  74735. */
  74736. cursor?: (string|CursorValue);
  74737. /**
  74738. * (Highcharts, Highstock) A reserved subspace to store options and values
  74739. * for customized functionality. Here you can add additional data for your
  74740. * own event callbacks and formatter callbacks.
  74741. */
  74742. custom?: Dictionary<any>;
  74743. /**
  74744. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  74745. * for some series types the outline of each shape.
  74746. *
  74747. * In styled mode, the stroke dash-array can be set with the same classes as
  74748. * listed under series.color.
  74749. */
  74750. dashStyle?: DashStyleValue;
  74751. /**
  74752. * (Highstock) Data grouping is the concept of sampling the data values into
  74753. * larger blocks in order to ease readability and increase performance of
  74754. * the JavaScript charts. Highcharts Stock by default applies data grouping
  74755. * when the points become closer than a certain pixel value, determined by
  74756. * the `groupPixelWidth` option.
  74757. *
  74758. * If data grouping is applied, the grouping information of grouped points
  74759. * can be read from the Point.dataGroup. If point options other than the
  74760. * data itself are set, for example `name` or `color` or custom properties,
  74761. * the grouping logic doesn't know how to group it. In this case the options
  74762. * of the first point instance are copied over to the group point. This can
  74763. * be altered through a custom `approximation` callback function.
  74764. */
  74765. dataGrouping?: DataGroupingOptionsObject;
  74766. /**
  74767. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  74768. * labels, appearing next to each data point.
  74769. *
  74770. * Since v6.2.0, multiple data labels can be applied to each single point by
  74771. * defining them as an array of configs.
  74772. *
  74773. * In styled mode, the data labels can be styled with the
  74774. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  74775. * (see example).
  74776. */
  74777. dataLabels?: (PlotPolygonDataLabelsOptions|Array<PlotPolygonDataLabelsOptions>);
  74778. /**
  74779. * (Highcharts, Highstock) Options for the series data sorting.
  74780. */
  74781. dataSorting?: (DataSortingOptionsObject|PlotPolygonDataSortingOptions);
  74782. /**
  74783. * (Highcharts, Highstock) A description of the series to add to the screen
  74784. * reader information about the series.
  74785. */
  74786. description?: string;
  74787. /**
  74788. * (Highcharts, Highstock) The draggable-points module allows points to be
  74789. * moved around or modified in the chart. In addition to the options
  74790. * mentioned under the `dragDrop` API structure, the module fires three
  74791. * events, point.dragStart, point.drag and point.drop.
  74792. */
  74793. dragDrop?: SeriesDragDropOptionsObject;
  74794. /**
  74795. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  74796. * specific series. This includes point tooltips and click events on graphs
  74797. * and points. For large datasets it improves performance.
  74798. */
  74799. enableMouseTracking?: boolean;
  74800. /**
  74801. * (Highcharts, Highstock) General event handlers for the series items.
  74802. * These event hooks can also be attached to the series at run time using
  74803. * the `Highcharts.addEvent` function.
  74804. */
  74805. events?: SeriesEventsOptionsObject;
  74806. /**
  74807. * (Highcharts, Highstock) Determines whether the series should look for the
  74808. * nearest point in both dimensions or just the x-dimension when hovering
  74809. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  74810. * other series. If the data has duplicate x-values, it is recommended to
  74811. * set this to `'xy'` to allow hovering over all points.
  74812. *
  74813. * Applies only to series types using nearest neighbor search (not direct
  74814. * hover) for tooltip.
  74815. */
  74816. findNearestPointBy?: OptionsFindNearestPointByValue;
  74817. /**
  74818. * (Highstock) Defines when to display a gap in the graph, together with the
  74819. * gapUnit option.
  74820. *
  74821. * In case when `dataGrouping` is enabled, points can be grouped into a
  74822. * larger time span. This can make the grouped points to have a greater
  74823. * distance than the absolute value of `gapSize` property, which will result
  74824. * in disappearing graph completely. To prevent this situation the mentioned
  74825. * distance between grouped points is used instead of previously defined
  74826. * `gapSize`.
  74827. *
  74828. * In practice, this option is most often used to visualize gaps in time
  74829. * series. In a stock chart, intraday data is available for daytime hours,
  74830. * while gaps will appear in nights and weekends.
  74831. */
  74832. gapSize?: number;
  74833. /**
  74834. * (Highstock) Together with gapSize, this option defines where to draw gaps
  74835. * in the graph.
  74836. *
  74837. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  74838. * if the distance between two points is greater than 5 times that of the
  74839. * two closest points, the graph will be broken.
  74840. *
  74841. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  74842. * values, which on a datetime axis is milliseconds. This also applies to
  74843. * the navigator series that inherits gap options from the base series.
  74844. */
  74845. gapUnit?: OptionsGapUnitValue;
  74846. /**
  74847. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  74848. * chart width or only the zoomed area when zooming in on parts of the X
  74849. * axis. By default, the Y axis adjusts to the min and max of the visible
  74850. * data. Cartesian series only.
  74851. */
  74852. getExtremesFromAll?: boolean;
  74853. /**
  74854. * (Highcharts, Highstock) When set to `false` will prevent the series data
  74855. * from being included in any form of data export.
  74856. *
  74857. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  74858. * `includeInCSVExport`.
  74859. */
  74860. includeInDataExport?: boolean;
  74861. /**
  74862. * (Highmaps) What property to join the `mapData` to the value data. For
  74863. * example, if joinBy is "code", the mapData items with a specific code is
  74864. * merged into the data with the same code. For maps loaded from GeoJSON,
  74865. * the keys may be held in each point's `properties` object.
  74866. *
  74867. * The joinBy option can also be an array of two values, where the first
  74868. * points to a key in the `mapData`, and the second points to another key in
  74869. * the `data`.
  74870. *
  74871. * When joinBy is `null`, the map items are joined by their position in the
  74872. * array, which performs much better in maps with many data points. This is
  74873. * the recommended option if you are printing more than a thousand data
  74874. * points and have a backend that can preprocess the data into a parallel
  74875. * array of the mapData.
  74876. */
  74877. joinBy?: (string|Array<string>);
  74878. /**
  74879. * (Highcharts, Highstock) An array specifying which option maps to which
  74880. * key in the data point array. This makes it convenient to work with
  74881. * unstructured data arrays from different sources.
  74882. */
  74883. keys?: Array<string>;
  74884. /**
  74885. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  74886. * series as possible in a natural way, seeking to avoid other series. The
  74887. * goal of this feature is to make the chart more easily readable, like if a
  74888. * human designer placed the labels in the optimal position.
  74889. *
  74890. * The series labels currently work with series types having a `graph` or an
  74891. * `area`.
  74892. */
  74893. label?: SeriesLabelOptionsObject;
  74894. /**
  74895. * (Highstock) The line marks the last price from all points.
  74896. */
  74897. lastPrice?: SeriesLastPriceOptionsObject;
  74898. /**
  74899. * (Highstock) The line marks the last price from visible range of points.
  74900. */
  74901. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  74902. /**
  74903. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  74904. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  74905. * the ends and bends.
  74906. */
  74907. linecap?: SeriesLinecapValue;
  74908. /**
  74909. * (Highcharts, Highstock) The width of the line connecting the data points.
  74910. */
  74911. lineWidth?: number;
  74912. /**
  74913. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  74914. * Additionally, the value can be ":previous" to link to the previous
  74915. * series. When two series are linked, only the first one appears in the
  74916. * legend. Toggling the visibility of this also toggles the linked series.
  74917. *
  74918. * If master series uses data sorting and linked series does not have its
  74919. * own sorting definition, the linked series will be sorted in the same
  74920. * order as the master one.
  74921. */
  74922. linkedTo?: string;
  74923. /**
  74924. * (Highcharts, Highstock) Options for the point markers of line-like
  74925. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  74926. * the visual appearance of the markers. Other series types, like column
  74927. * series, don't have markers, but have visual options on the series level
  74928. * instead.
  74929. *
  74930. * In styled mode, the markers can be styled with the `.highcharts-point`,
  74931. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  74932. */
  74933. marker?: PointMarkerOptionsObject;
  74934. /**
  74935. * (Highstock) Options for the corresponding navigator series if
  74936. * `showInNavigator` is `true` for this series. Available options are the
  74937. * same as any series, documented at plotOptions and series.
  74938. *
  74939. * These options are merged with options in navigator.series, and will take
  74940. * precedence if the same option is defined both places.
  74941. */
  74942. navigatorOptions?: PlotSeriesOptions;
  74943. /**
  74944. * (Highcharts, Highstock) The color for the parts of the graph or points
  74945. * that are below the threshold. Note that `zones` takes precedence over the
  74946. * negative color. Using `negativeColor` is equivalent to applying a zone
  74947. * with value of 0.
  74948. */
  74949. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  74950. /**
  74951. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  74952. * and dataLabels.
  74953. */
  74954. opacity?: number;
  74955. /**
  74956. * (Highcharts, Highstock) Properties for each single point.
  74957. */
  74958. point?: PlotSeriesPointOptions;
  74959. /**
  74960. * (Highcharts, Highstock) Same as
  74961. * accessibility.series.descriptionFormatter, but for an individual series.
  74962. * Overrides the chart wide configuration.
  74963. */
  74964. pointDescriptionFormatter?: Function;
  74965. /**
  74966. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  74967. * a series, `pointInterval` defines the interval of the x values. For
  74968. * example, if a series contains one value every decade starting from year
  74969. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  74970. * `pointInterval` is set in milliseconds.
  74971. *
  74972. * It can be also be combined with `pointIntervalUnit` to draw irregular
  74973. * time intervals.
  74974. *
  74975. * Please note that this options applies to the _series data_, not the
  74976. * interval of the axis ticks, which is independent.
  74977. */
  74978. pointInterval?: number;
  74979. /**
  74980. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  74981. * setting the pointInterval to irregular time units, `day`, `month` and
  74982. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  74983. * also takes the DST crossover into consideration when dealing with local
  74984. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  74985. * months, 10 years etc.
  74986. *
  74987. * Please note that this options applies to the _series data_, not the
  74988. * interval of the axis ticks, which is independent.
  74989. */
  74990. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  74991. /**
  74992. * (Highstock) The width of each point on the x axis. For example in a
  74993. * column chart with one value each day, the pointRange would be 1 day (= 24
  74994. * * 3600
  74995. *
  74996. * * 1000 milliseconds). This is normally computed automatically, but this
  74997. * option can be used to override the automatic value.
  74998. */
  74999. pointRange?: number;
  75000. /**
  75001. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  75002. * a series, pointStart defines on what value to start. For example, if a
  75003. * series contains one yearly value starting from 1945, set pointStart to
  75004. * 1945.
  75005. */
  75006. pointStart?: number;
  75007. /**
  75008. * (Highcharts, Highstock) Whether to select the series initially. If
  75009. * `showCheckbox` is true, the checkbox next to the series name in the
  75010. * legend will be checked for a selected series.
  75011. */
  75012. selected?: boolean;
  75013. /**
  75014. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  75015. * legend item to allow selecting the series. The state of the checkbox is
  75016. * determined by the `selected` option.
  75017. */
  75018. showCheckbox?: boolean;
  75019. /**
  75020. * (Highcharts, Highstock) Whether to display this particular series or
  75021. * series type in the legend. Standalone series are shown in legend by
  75022. * default, and linked series are not. Since v7.2.0 it is possible to show
  75023. * series that use colorAxis by setting this option to `true`.
  75024. */
  75025. showInLegend?: boolean;
  75026. /**
  75027. * (Highstock) Whether or not to show the series in the navigator. Takes
  75028. * precedence over navigator.baseSeries if defined.
  75029. */
  75030. showInNavigator?: boolean;
  75031. /**
  75032. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  75033. * skip past the points in this series for keyboard navigation.
  75034. */
  75035. skipKeyboardNavigation?: boolean;
  75036. /**
  75037. * (Highcharts, Highstock) Whether to stack the values of each series on top
  75038. * of each other. Possible values are `undefined` to disable, `"normal"` to
  75039. * stack by value or `"percent"`.
  75040. *
  75041. * When stacking is enabled, data must be sorted in ascending X order.
  75042. *
  75043. * Some stacking options are related to specific series types. In the
  75044. * streamgraph series type, the stacking option is set to `"stream"`. The
  75045. * second one is `"overlap"`, which only applies to waterfall series.
  75046. */
  75047. stacking?: OptionsStackingValue;
  75048. states?: SeriesStatesOptionsObject;
  75049. /**
  75050. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  75051. * values are `left`, `center` and `right`.
  75052. */
  75053. step?: OptionsStepValue;
  75054. /**
  75055. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  75056. * `mouseOut` event on a series isn't triggered until the mouse moves over
  75057. * another series, or out of the plot area. When false, the `mouseOut` event
  75058. * on a series is triggered when the mouse leaves the area around the
  75059. * series' graph or markers. This also implies the tooltip. When
  75060. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75061. * be hidden when moving the mouse between series.
  75062. */
  75063. stickyTracking?: boolean;
  75064. /**
  75065. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  75066. * of each single series. Properties are inherited from tooltip. Overridable
  75067. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  75068. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  75069. * series.name by default shows in the headerFormat and point.x and point.y
  75070. * in the pointFormat.
  75071. */
  75072. tooltip?: SeriesTooltipOptionsObject;
  75073. trackByArea?: boolean;
  75074. /**
  75075. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75076. * is longer than this, only one dimensional arrays of numbers, or two
  75077. * dimensional arrays with x and y values are allowed. Also, only the first
  75078. * point is tested, and the rest are assumed to be the same format. This
  75079. * saves expensive data checking and indexing in long series. Set it to `0`
  75080. * disable.
  75081. *
  75082. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75083. * two dimensional arrays are allowed.
  75084. */
  75085. turboThreshold?: number;
  75086. /**
  75087. * (Highcharts, Highstock) Set the initial visibility of the series.
  75088. */
  75089. visible?: boolean;
  75090. /**
  75091. * (Highmaps) Define the z index of the series.
  75092. */
  75093. zIndex?: number;
  75094. /**
  75095. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75096. */
  75097. zoneAxis?: string;
  75098. /**
  75099. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75100. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75101. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75102. * regarding to the value.
  75103. *
  75104. * In styled mode, the color zones are styled with the
  75105. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75106. * option (view live demo).
  75107. */
  75108. zones?: Array<SeriesZonesOptionsObject>;
  75109. }
  75110. /**
  75111. * (Highstock) Enable or disable the initial animation when a series is
  75112. * displayed. The animation can also be set as a configuration object. Please
  75113. * note that this option only applies to the initial animation of the series
  75114. * itself. For other animations, see chart.animation and the animation parameter
  75115. * under the API methods. The following properties are supported:
  75116. *
  75117. * - `defer`: The animation delay time in milliseconds.
  75118. *
  75119. * - `duration`: The duration of the animation in milliseconds.
  75120. *
  75121. * - `easing`: Can be a string reference to an easing function set on the `Math`
  75122. * object or a function. See the _Custom easing function_ demo below.
  75123. *
  75124. * Due to poor performance, animation is disabled in old IE browsers for several
  75125. * chart types.
  75126. */
  75127. export interface PlotPpoAnimationOptions {
  75128. defer?: number;
  75129. }
  75130. /**
  75131. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75132. * animation when a series is displayed for the `dataLabels`. The animation can
  75133. * also be set as a configuration object. Please note that this option only
  75134. * applies to the initial animation. For other animations, see chart.animation
  75135. * and the animation parameter under the API methods. The following properties
  75136. * are supported:
  75137. *
  75138. * - `defer`: The animation delay time in milliseconds.
  75139. */
  75140. export interface PlotPpoDataLabelsAnimationOptions {
  75141. /**
  75142. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  75143. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  75144. * inherits defer time from the series.animation.defer.
  75145. */
  75146. defer?: number;
  75147. }
  75148. /**
  75149. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  75150. * appearing next to each data point.
  75151. *
  75152. * Since v6.2.0, multiple data labels can be applied to each single point by
  75153. * defining them as an array of configs.
  75154. *
  75155. * In styled mode, the data labels can be styled with the
  75156. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  75157. * example).
  75158. */
  75159. export interface PlotPpoDataLabelsOptions {
  75160. /**
  75161. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  75162. * compared to the point. If `right`, the right side of the label should be
  75163. * touching the point. For points with an extent, like columns, the
  75164. * alignments also dictates how to align it inside the box, as given with
  75165. * the inside option. Can be one of `left`, `center` or `right`.
  75166. */
  75167. align?: (AlignValue|null);
  75168. /**
  75169. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  75170. * overlap. To make the labels less sensitive for overlapping, the
  75171. * dataLabels.padding can be set to 0.
  75172. */
  75173. allowOverlap?: boolean;
  75174. /**
  75175. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75176. * animation when a series is displayed for the `dataLabels`. The animation
  75177. * can also be set as a configuration object. Please note that this option
  75178. * only applies to the initial animation. For other animations, see
  75179. * chart.animation and the animation parameter under the API methods. The
  75180. * following properties are supported:
  75181. *
  75182. * - `defer`: The animation delay time in milliseconds.
  75183. */
  75184. animation?: (boolean|PlotPpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  75185. /**
  75186. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  75187. * for the data label.
  75188. */
  75189. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  75190. /**
  75191. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  75192. * label. Defaults to `undefined`.
  75193. */
  75194. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75195. /**
  75196. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  75197. * the data label.
  75198. */
  75199. borderRadius?: number;
  75200. /**
  75201. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  75202. * the data label.
  75203. */
  75204. borderWidth?: number;
  75205. /**
  75206. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  75207. * Particularly in styled mode, this can be used to give each series' or
  75208. * point's data label unique styling. In addition to this option, a default
  75209. * color class name is added so that we can give the labels a contrast text
  75210. * shadow.
  75211. */
  75212. className?: string;
  75213. /**
  75214. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  75215. * labels. Defaults to `undefined`. For certain series types, like column or
  75216. * map, the data labels can be drawn inside the points. In this case the
  75217. * data label will be drawn with maximum contrast by default. Additionally,
  75218. * it will be given a `text-outline` style with the opposite color, to
  75219. * further increase the contrast. This can be overridden by setting the
  75220. * `text-outline` style to `none` in the `dataLabels.style` option.
  75221. */
  75222. color?: (ColorString|GradientColorObject|PatternObject);
  75223. /**
  75224. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  75225. * are outside the plot area. By default, the data label is moved inside the
  75226. * plot area according to the overflow option.
  75227. */
  75228. crop?: boolean;
  75229. /**
  75230. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  75231. * labels until the initial series animation has finished. Setting to
  75232. * `false` renders the data label immediately. If set to `true` inherits the
  75233. * defer time set in plotOptions.series.animation. If set to a number, a
  75234. * defer time is specified in milliseconds.
  75235. */
  75236. defer?: (boolean|number);
  75237. /**
  75238. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  75239. * labels.
  75240. */
  75241. enabled?: boolean;
  75242. /**
  75243. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  75244. * of which data labels to display. The declarative filter is designed for
  75245. * use when callback functions are not available, like when the chart
  75246. * options require a pure JSON structure or for use with graphical editors.
  75247. * For programmatic control, use the `formatter` instead, and return
  75248. * `undefined` to disable a single data label.
  75249. */
  75250. filter?: DataLabelsFilterOptionsObject;
  75251. /**
  75252. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  75253. * label. Available variables are the same as for `formatter`.
  75254. */
  75255. format?: string;
  75256. /**
  75257. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  75258. * format the data label. Note that if a `format` is defined, the format
  75259. * takes precedence and the formatter is ignored.
  75260. */
  75261. formatter?: DataLabelsFormatterCallbackFunction;
  75262. /**
  75263. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  75264. * columns or map areas, whether to align the data label inside the box or
  75265. * to the actual value point. Defaults to `false` in most cases, `true` in
  75266. * stacked columns.
  75267. */
  75268. inside?: boolean;
  75269. /**
  75270. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  75271. * of null. Works analogously to format. `nullFormat` can be applied only to
  75272. * series which support displaying null points.
  75273. */
  75274. nullFormat?: (boolean|string);
  75275. /**
  75276. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  75277. * that defines formatting for points with the value of null. Works
  75278. * analogously to formatter. `nullPointFormatter` can be applied only to
  75279. * series which support displaying null points.
  75280. */
  75281. nullFormatter?: DataLabelsFormatterCallbackFunction;
  75282. /**
  75283. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  75284. * flow outside the plot area. The default is `"justify"`, which aligns them
  75285. * inside the plot area. For columns and bars, this means it will be moved
  75286. * inside the bar. To display data labels outside the plot area, set `crop`
  75287. * to `false` and `overflow` to `"allow"`.
  75288. */
  75289. overflow?: DataLabelsOverflowValue;
  75290. /**
  75291. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  75292. * the `backgroundColor` is set, this is the padding within the box.
  75293. */
  75294. padding?: number;
  75295. /**
  75296. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  75297. * points. If `center` alignment is not possible, it defaults to `right`.
  75298. */
  75299. position?: AlignValue;
  75300. /**
  75301. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  75302. * that due to a more complex structure, backgrounds, borders and padding
  75303. * will be lost on a rotated data label.
  75304. */
  75305. rotation?: number;
  75306. /**
  75307. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  75308. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  75309. * an object configuration containing `color`, `offsetX`, `offsetY`,
  75310. * `opacity` and `width`.
  75311. */
  75312. shadow?: (boolean|ShadowOptionsObject);
  75313. /**
  75314. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  75315. * the border around the label. Symbols are predefined functions on the
  75316. * Renderer object.
  75317. */
  75318. shape?: string;
  75319. /**
  75320. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  75321. * default `color` setting is `"contrast"`, which is a pseudo color that
  75322. * Highcharts picks up and applies the maximum contrast to the underlying
  75323. * point item, for example the bar in a bar chart.
  75324. *
  75325. * The `textOutline` is a pseudo property that applies an outline of the
  75326. * given width with the given color, which by default is the maximum
  75327. * contrast to the text. So a bright text color will result in a black text
  75328. * outline for maximum readability on a mixed background. In some cases,
  75329. * especially with grayscale text, the text outline doesn't work well, in
  75330. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  75331. * is true, the `textOutline` will not be picked up. In this, case, the same
  75332. * effect can be acheived through the `text-shadow` CSS property.
  75333. *
  75334. * For some series types, where each point has an extent, like for example
  75335. * tree maps, the data label may overflow the point. There are two
  75336. * strategies for handling overflow. By default, the text will wrap to
  75337. * multiple lines. The other strategy is to set `style.textOverflow` to
  75338. * `ellipsis`, which will keep the text on one line plus it will break
  75339. * inside long words.
  75340. */
  75341. style?: CSSObject;
  75342. /**
  75343. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  75344. * should follow marker's shape. Border and background are disabled for a
  75345. * label that follows a path.
  75346. *
  75347. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  75348. * to true will disable this option.
  75349. */
  75350. textPath?: DataLabelsTextPathOptionsObject;
  75351. /**
  75352. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  75353. * the labels.
  75354. */
  75355. useHTML?: boolean;
  75356. /**
  75357. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  75358. * label. Can be one of `top`, `middle` or `bottom`. The default value
  75359. * depends on the data, for instance in a column chart, the label is above
  75360. * positive values and below negative values.
  75361. */
  75362. verticalAlign?: (VerticalAlignValue|null);
  75363. /**
  75364. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  75365. * label relative to the point in pixels.
  75366. */
  75367. x?: number;
  75368. /**
  75369. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  75370. * label relative to the point in pixels.
  75371. */
  75372. y?: number;
  75373. /**
  75374. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  75375. * The default Z index puts it above the series. Use a Z index of 2 to
  75376. * display it behind the series.
  75377. */
  75378. z?: number;
  75379. }
  75380. /**
  75381. * (Highcharts, Highstock) Options for the series data sorting.
  75382. */
  75383. export interface PlotPpoDataSortingOptions {
  75384. /**
  75385. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  75386. * Use xAxis.reversed to change the sorting order.
  75387. */
  75388. enabled?: boolean;
  75389. /**
  75390. * (Highcharts, Highstock) Whether to allow matching points by name in an
  75391. * update. If this option is disabled, points will be matched by order.
  75392. */
  75393. matchByName?: boolean;
  75394. /**
  75395. * (Highcharts, Highstock) Determines what data value should be used to sort
  75396. * by.
  75397. */
  75398. sortKey?: string;
  75399. }
  75400. /**
  75401. * (Highstock) Percentage Price Oscillator. This series requires the `linkedTo`
  75402. * option to be set and should be loaded after the
  75403. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  75404. *
  75405. * In TypeScript the type option must always be set.
  75406. *
  75407. * Configuration options for the series are given in three levels:
  75408. *
  75409. * 1. Options for all series in a chart are defined in the plotOptions.series
  75410. * object.
  75411. *
  75412. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  75413. *
  75414. * 3. Options for one single series are given in the series instance array. (see
  75415. * online documentation for example)
  75416. */
  75417. export interface PlotPpoOptions {
  75418. /**
  75419. * (Highstock) Accessibility options for a series.
  75420. */
  75421. accessibility?: SeriesAccessibilityOptionsObject;
  75422. /**
  75423. * (Highstock) Allow this series' points to be selected by clicking on the
  75424. * graphic (columns, point markers, pie slices, map areas etc).
  75425. *
  75426. * The selected points can be handled by point select and unselect events,
  75427. * or collectively by the getSelectedPoints function.
  75428. *
  75429. * And alternative way of selecting points is through dragging.
  75430. */
  75431. allowPointSelect?: boolean;
  75432. /**
  75433. * (Highstock) Enable or disable the initial animation when a series is
  75434. * displayed. The animation can also be set as a configuration object.
  75435. * Please note that this option only applies to the initial animation of the
  75436. * series itself. For other animations, see chart.animation and the
  75437. * animation parameter under the API methods. The following properties are
  75438. * supported:
  75439. *
  75440. * - `defer`: The animation delay time in milliseconds.
  75441. *
  75442. * - `duration`: The duration of the animation in milliseconds.
  75443. *
  75444. * - `easing`: Can be a string reference to an easing function set on the
  75445. * `Math` object or a function. See the _Custom easing function_ demo below.
  75446. *
  75447. * Due to poor performance, animation is disabled in old IE browsers for
  75448. * several chart types.
  75449. */
  75450. animation?: (boolean|PlotPpoAnimationOptions|Partial<AnimationOptionsObject>);
  75451. /**
  75452. * (Highstock) For some series, there is a limit that shuts down initial
  75453. * animation by default when the total number of points in the chart is too
  75454. * high. For example, for a column chart and its derivatives, animation does
  75455. * not run if there is more than 250 points totally. To disable this cap,
  75456. * set `animationLimit` to `Infinity`.
  75457. */
  75458. animationLimit?: number;
  75459. /**
  75460. * (Highstock) Sets the color blending in the boost module.
  75461. */
  75462. boostBlending?: OptionsBoostBlendingValue;
  75463. /**
  75464. * (Highstock) Set the point threshold for when a series should enter boost
  75465. * mode.
  75466. *
  75467. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  75468. * there are 2000 or more points in the series.
  75469. *
  75470. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  75471. * it to 1 will force boosting.
  75472. *
  75473. * Note that the cropThreshold also affects this setting. When zooming in on
  75474. * a series that has fewer points than the `cropThreshold`, all points are
  75475. * rendered although outside the visible plot area, and the `boostThreshold`
  75476. * won't take effect.
  75477. */
  75478. boostThreshold?: number;
  75479. /**
  75480. * (Highmaps) The border color of the map areas.
  75481. *
  75482. * In styled mode, the border stroke is given in the `.highcharts-point`
  75483. * class.
  75484. */
  75485. borderColor?: (ColorString|GradientColorObject|PatternObject);
  75486. /**
  75487. * (Highmaps) The border width of each map area.
  75488. *
  75489. * In styled mode, the border stroke width is given in the
  75490. * `.highcharts-point` class.
  75491. */
  75492. borderWidth?: number;
  75493. /**
  75494. * (Highstock) An additional class name to apply to the series' graphical
  75495. * elements. This option does not replace default class names of the
  75496. * graphical element.
  75497. */
  75498. className?: string;
  75499. /**
  75500. * (Highstock) Disable this option to allow series rendering in the whole
  75501. * plotting area.
  75502. *
  75503. * **Note:** Clipping should be always enabled when chart.zoomType is set
  75504. */
  75505. clip?: boolean;
  75506. /**
  75507. * (Highstock) The main color of the series. In line type series it applies
  75508. * to the line and the point markers unless otherwise specified. In bar type
  75509. * series it applies to the bars unless a color is specified per point. The
  75510. * default value is pulled from the `options.colors` array.
  75511. *
  75512. * In styled mode, the color can be defined by the colorIndex option. Also,
  75513. * the series color can be set with the `.highcharts-series`,
  75514. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  75515. * `.highcharts-series-{n}` class, or individual classes given by the
  75516. * `className` option.
  75517. */
  75518. color?: (ColorString|GradientColorObject|PatternObject);
  75519. /**
  75520. * (Highstock) Styled mode only. A specific color index to use for the
  75521. * series, so its graphic representations are given the class name
  75522. * `highcharts-color-{n}`.
  75523. */
  75524. colorIndex?: number;
  75525. /**
  75526. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  75527. * used to calculate point color if `colorAxis` is used. Requires to set
  75528. * `min` and `max` if some custom point property is used or if approximation
  75529. * for data grouping is set to `'sum'`.
  75530. */
  75531. colorKey?: string;
  75532. /**
  75533. * (Highstock) Compare the values of the series against the first non-null,
  75534. * non- zero value in the visible range. The y axis will show percentage or
  75535. * absolute change depending on whether `compare` is set to `"percent"` or
  75536. * `"value"`. When this is applied to multiple series, it allows comparing
  75537. * the development of the series against each other. Adds a `change` field
  75538. * to every point object.
  75539. */
  75540. compare?: string;
  75541. /**
  75542. * (Highstock) When compare is `percent`, this option dictates whether to
  75543. * use 0 or 100 as the base of comparison.
  75544. */
  75545. compareBase?: (0|100);
  75546. /**
  75547. * (Highstock) Defines if comparison should start from the first point
  75548. * within the visible range or should start from the first point **before**
  75549. * the range.
  75550. *
  75551. * In other words, this flag determines if first point within the visible
  75552. * range will have 0% (`compareStart=true`) or should have been already
  75553. * calculated according to the previous point (`compareStart=false`).
  75554. */
  75555. compareStart?: boolean;
  75556. /**
  75557. * (Highstock) Whether to compare indicator to the main series values or
  75558. * indicator values.
  75559. */
  75560. compareToMain?: boolean;
  75561. /**
  75562. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  75563. * series plot across the extremes.
  75564. */
  75565. connectEnds?: boolean;
  75566. /**
  75567. * (Highcharts, Highstock) Whether to connect a graph line across null
  75568. * points, or render a gap between the two points on either side of the
  75569. * null.
  75570. */
  75571. connectNulls?: boolean;
  75572. /**
  75573. * (Gantt) Override Pathfinder connector options for a series. Requires
  75574. * Highcharts Gantt to be loaded.
  75575. */
  75576. connectors?: SeriesConnectorsOptionsObject;
  75577. /**
  75578. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  75579. * rounded to its nearest pixel in order to render sharp on screen. In some
  75580. * cases, when there are a lot of densely packed columns, this leads to
  75581. * visible difference in column widths or distance between columns. In these
  75582. * cases, setting `crisp` to `false` may look better, even though each
  75583. * column is rendered blurry.
  75584. */
  75585. crisp?: boolean;
  75586. /**
  75587. * (Highcharts, Highstock) When the series contains less points than the
  75588. * crop threshold, all points are drawn, even if the points fall outside the
  75589. * visible plot area at the current zoom. The advantage of drawing all
  75590. * points (including markers and columns), is that animation is performed on
  75591. * updates. On the other hand, when the series contains more points than the
  75592. * crop threshold, the series data is cropped to only contain points that
  75593. * fall within the plot area. The advantage of cropping away invisible
  75594. * points is to increase performance on large series.
  75595. */
  75596. cropThreshold?: number;
  75597. /**
  75598. * (Highstock) You can set the cursor to "pointer" if you have click events
  75599. * attached to the series, to signal to the user that the points and lines
  75600. * can be clicked.
  75601. *
  75602. * In styled mode, the series cursor can be set with the same classes as
  75603. * listed under series.color.
  75604. */
  75605. cursor?: (string|CursorValue);
  75606. /**
  75607. * (Highstock) A reserved subspace to store options and values for
  75608. * customized functionality. Here you can add additional data for your own
  75609. * event callbacks and formatter callbacks.
  75610. */
  75611. custom?: Dictionary<any>;
  75612. /**
  75613. * (Highstock) Name of the dash style to use for the graph, or for some
  75614. * series types the outline of each shape.
  75615. *
  75616. * In styled mode, the stroke dash-array can be set with the same classes as
  75617. * listed under series.color.
  75618. */
  75619. dashStyle?: DashStyleValue;
  75620. /**
  75621. * (Highstock) Data grouping is the concept of sampling the data values into
  75622. * larger blocks in order to ease readability and increase performance of
  75623. * the JavaScript charts. Highcharts Stock by default applies data grouping
  75624. * when the points become closer than a certain pixel value, determined by
  75625. * the `groupPixelWidth` option.
  75626. *
  75627. * If data grouping is applied, the grouping information of grouped points
  75628. * can be read from the Point.dataGroup. If point options other than the
  75629. * data itself are set, for example `name` or `color` or custom properties,
  75630. * the grouping logic doesn't know how to group it. In this case the options
  75631. * of the first point instance are copied over to the group point. This can
  75632. * be altered through a custom `approximation` callback function.
  75633. */
  75634. dataGrouping?: DataGroupingOptionsObject;
  75635. /**
  75636. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  75637. * labels, appearing next to each data point.
  75638. *
  75639. * Since v6.2.0, multiple data labels can be applied to each single point by
  75640. * defining them as an array of configs.
  75641. *
  75642. * In styled mode, the data labels can be styled with the
  75643. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  75644. * (see example).
  75645. */
  75646. dataLabels?: (PlotPpoDataLabelsOptions|Array<PlotPpoDataLabelsOptions>);
  75647. /**
  75648. * (Highcharts, Highstock) Options for the series data sorting.
  75649. */
  75650. dataSorting?: (DataSortingOptionsObject|PlotPpoDataSortingOptions);
  75651. /**
  75652. * (Highstock) A description of the series to add to the screen reader
  75653. * information about the series.
  75654. */
  75655. description?: string;
  75656. /**
  75657. * (Highstock) Enable or disable the mouse tracking for a specific series.
  75658. * This includes point tooltips and click events on graphs and points. For
  75659. * large datasets it improves performance.
  75660. */
  75661. enableMouseTracking?: boolean;
  75662. /**
  75663. * (Highstock) General event handlers for the series items. These event
  75664. * hooks can also be attached to the series at run time using the
  75665. * `Highcharts.addEvent` function.
  75666. */
  75667. events?: SeriesEventsOptionsObject;
  75668. /**
  75669. * (Highstock) Determines whether the series should look for the nearest
  75670. * point in both dimensions or just the x-dimension when hovering the
  75671. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  75672. * series. If the data has duplicate x-values, it is recommended to set this
  75673. * to `'xy'` to allow hovering over all points.
  75674. *
  75675. * Applies only to series types using nearest neighbor search (not direct
  75676. * hover) for tooltip.
  75677. */
  75678. findNearestPointBy?: OptionsFindNearestPointByValue;
  75679. /**
  75680. * (Highstock) Defines when to display a gap in the graph, together with the
  75681. * gapUnit option.
  75682. *
  75683. * In case when `dataGrouping` is enabled, points can be grouped into a
  75684. * larger time span. This can make the grouped points to have a greater
  75685. * distance than the absolute value of `gapSize` property, which will result
  75686. * in disappearing graph completely. To prevent this situation the mentioned
  75687. * distance between grouped points is used instead of previously defined
  75688. * `gapSize`.
  75689. *
  75690. * In practice, this option is most often used to visualize gaps in time
  75691. * series. In a stock chart, intraday data is available for daytime hours,
  75692. * while gaps will appear in nights and weekends.
  75693. */
  75694. gapSize?: number;
  75695. /**
  75696. * (Highstock) Together with gapSize, this option defines where to draw gaps
  75697. * in the graph.
  75698. *
  75699. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  75700. * if the distance between two points is greater than 5 times that of the
  75701. * two closest points, the graph will be broken.
  75702. *
  75703. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  75704. * values, which on a datetime axis is milliseconds. This also applies to
  75705. * the navigator series that inherits gap options from the base series.
  75706. */
  75707. gapUnit?: OptionsGapUnitValue;
  75708. /**
  75709. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  75710. * chart width or only the zoomed area when zooming in on parts of the X
  75711. * axis. By default, the Y axis adjusts to the min and max of the visible
  75712. * data. Cartesian series only.
  75713. */
  75714. getExtremesFromAll?: boolean;
  75715. /**
  75716. * (Highstock) When set to `false` will prevent the series data from being
  75717. * included in any form of data export.
  75718. *
  75719. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  75720. * `includeInCSVExport`.
  75721. */
  75722. includeInDataExport?: boolean;
  75723. /**
  75724. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  75725. * series as possible in a natural way, seeking to avoid other series. The
  75726. * goal of this feature is to make the chart more easily readable, like if a
  75727. * human designer placed the labels in the optimal position.
  75728. *
  75729. * The series labels currently work with series types having a `graph` or an
  75730. * `area`.
  75731. */
  75732. label?: SeriesLabelOptionsObject;
  75733. /**
  75734. * (Highstock) The line marks the last price from all points.
  75735. */
  75736. lastPrice?: SeriesLastPriceOptionsObject;
  75737. /**
  75738. * (Highstock) The line marks the last price from visible range of points.
  75739. */
  75740. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  75741. /**
  75742. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  75743. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  75744. * the ends and bends.
  75745. */
  75746. linecap?: SeriesLinecapValue;
  75747. /**
  75748. * (Highcharts, Highstock) Pixel width of the graph line.
  75749. */
  75750. lineWidth?: number;
  75751. /**
  75752. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  75753. * based on. Required for this indicator.
  75754. */
  75755. linkedTo?: string;
  75756. /**
  75757. * (Highstock) Options for the point markers of line-like series. Properties
  75758. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  75759. * appearance of the markers. Other series types, like column series, don't
  75760. * have markers, but have visual options on the series level instead.
  75761. *
  75762. * In styled mode, the markers can be styled with the `.highcharts-point`,
  75763. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  75764. */
  75765. marker?: PointMarkerOptionsObject;
  75766. /**
  75767. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  75768. * If not set, it will be based on a technical indicator type and default
  75769. * params.
  75770. */
  75771. name?: string;
  75772. /**
  75773. * (Highstock) The color for the parts of the graph or points that are below
  75774. * the threshold. Note that `zones` takes precedence over the negative
  75775. * color. Using `negativeColor` is equivalent to applying a zone with value
  75776. * of 0.
  75777. */
  75778. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  75779. /**
  75780. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  75781. * dataLabels.
  75782. */
  75783. opacity?: number;
  75784. /**
  75785. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  75786. * series points.
  75787. */
  75788. params?: PlotPpoParamsOptions;
  75789. /**
  75790. * (Highstock) Properties for each single point.
  75791. */
  75792. point?: PlotSeriesPointOptions;
  75793. /**
  75794. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  75795. * individual series. Overrides the chart wide configuration.
  75796. */
  75797. pointDescriptionFormatter?: Function;
  75798. /**
  75799. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  75800. * true, the checkbox next to the series name in the legend will be checked
  75801. * for a selected series.
  75802. */
  75803. selected?: boolean;
  75804. /**
  75805. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  75806. * the shadow can be an object configuration containing `color`, `offsetX`,
  75807. * `offsetY`, `opacity` and `width`.
  75808. */
  75809. shadow?: (boolean|ShadowOptionsObject);
  75810. /**
  75811. * (Highstock) If true, a checkbox is displayed next to the legend item to
  75812. * allow selecting the series. The state of the checkbox is determined by
  75813. * the `selected` option.
  75814. */
  75815. showCheckbox?: boolean;
  75816. /**
  75817. * (Highstock) Whether to display this particular series or series type in
  75818. * the legend. Standalone series are shown in legend by default, and linked
  75819. * series are not. Since v7.2.0 it is possible to show series that use
  75820. * colorAxis by setting this option to `true`.
  75821. */
  75822. showInLegend?: boolean;
  75823. /**
  75824. * (Highstock) If set to `true`, the accessibility module will skip past the
  75825. * points in this series for keyboard navigation.
  75826. */
  75827. skipKeyboardNavigation?: boolean;
  75828. /**
  75829. * (Highcharts, Highstock) When this is true, the series will not cause the
  75830. * Y axis to cross the zero plane (or threshold option) unless the data
  75831. * actually crosses the plane.
  75832. *
  75833. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  75834. * make the Y axis show negative values according to the `minPadding`
  75835. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  75836. */
  75837. softThreshold?: boolean;
  75838. states?: SeriesStatesOptionsObject;
  75839. /**
  75840. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  75841. * values are `left`, `center` and `right`.
  75842. */
  75843. step?: OptionsStepValue;
  75844. /**
  75845. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  75846. * event on a series isn't triggered until the mouse moves over another
  75847. * series, or out of the plot area. When false, the `mouseOut` event on a
  75848. * series is triggered when the mouse leaves the area around the series'
  75849. * graph or markers. This also implies the tooltip when not shared. When
  75850. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  75851. * be hidden when moving the mouse between series. Defaults to true for line
  75852. * and area type series, but to false for columns, pies etc.
  75853. *
  75854. * **Note:** The boost module will force this option because of technical
  75855. * limitations.
  75856. */
  75857. stickyTracking?: boolean;
  75858. /**
  75859. * (Highcharts, Highstock) The threshold, also called zero level or base
  75860. * level. For line type series this is only used in conjunction with
  75861. * negativeColor.
  75862. */
  75863. threshold?: (number|null);
  75864. /**
  75865. * (Highstock) A configuration object for the tooltip rendering of each
  75866. * single series. Properties are inherited from tooltip, but only the
  75867. * following properties can be defined on a series level.
  75868. */
  75869. tooltip?: SeriesTooltipOptionsObject;
  75870. /**
  75871. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  75872. * is longer than this, only one dimensional arrays of numbers, or two
  75873. * dimensional arrays with x and y values are allowed. Also, only the first
  75874. * point is tested, and the rest are assumed to be the same format. This
  75875. * saves expensive data checking and indexing in long series. Set it to `0`
  75876. * disable.
  75877. *
  75878. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  75879. * two dimensional arrays are allowed.
  75880. */
  75881. turboThreshold?: number;
  75882. /**
  75883. * (Highstock) Set the initial visibility of the series.
  75884. */
  75885. visible?: boolean;
  75886. /**
  75887. * (Highmaps) Define the z index of the series.
  75888. */
  75889. zIndex?: number;
  75890. /**
  75891. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  75892. */
  75893. zoneAxis?: string;
  75894. /**
  75895. * (Highcharts, Highstock) An array defining zones within a series. Zones
  75896. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  75897. * the `zoneAxis` option. The zone definitions have to be in ascending order
  75898. * regarding to the value.
  75899. *
  75900. * In styled mode, the color zones are styled with the
  75901. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  75902. * option (view live demo).
  75903. */
  75904. zones?: Array<SeriesZonesOptionsObject>;
  75905. }
  75906. /**
  75907. * (Highstock) Paramters used in calculation of Percentage Price Oscillator
  75908. * series points.
  75909. */
  75910. export interface PlotPpoParamsOptions {
  75911. /**
  75912. * (Highstock) The point index which indicator calculations will base. For
  75913. * example using OHLC data, index=2 means the indicator will be calculated
  75914. * using Low values.
  75915. *
  75916. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  75917. * default index is set to 3 which means that the ema indicator will be
  75918. * calculated using Close values.
  75919. */
  75920. index?: number;
  75921. period?: string;
  75922. /**
  75923. * (Highstock) Periods for Percentage Price Oscillator calculations.
  75924. */
  75925. periods?: Array<number>;
  75926. }
  75927. /**
  75928. * (Highstock) Enable or disable the initial animation when a series is
  75929. * displayed. The animation can also be set as a configuration object. Please
  75930. * note that this option only applies to the initial animation of the series
  75931. * itself. For other animations, see chart.animation and the animation parameter
  75932. * under the API methods. The following properties are supported:
  75933. *
  75934. * - `defer`: The animation delay time in milliseconds.
  75935. *
  75936. * - `duration`: The duration of the animation in milliseconds.
  75937. *
  75938. * - `easing`: Can be a string reference to an easing function set on the `Math`
  75939. * object or a function. See the _Custom easing function_ demo below.
  75940. *
  75941. * Due to poor performance, animation is disabled in old IE browsers for several
  75942. * chart types.
  75943. */
  75944. export interface PlotPriceenvelopesAnimationOptions {
  75945. defer?: number;
  75946. }
  75947. /**
  75948. * (Highstock) Bottom line options.
  75949. */
  75950. export interface PlotPriceenvelopesBottomLineOptions {
  75951. styles?: PlotPriceenvelopesBottomLineStylesOptions;
  75952. }
  75953. export interface PlotPriceenvelopesBottomLineStylesOptions {
  75954. /**
  75955. * (Highstock) Color of the line. If not set, it's inherited from
  75956. * plotOptions.priceenvelopes.color.
  75957. */
  75958. lineColor?: ColorString;
  75959. /**
  75960. * (Highstock) Pixel width of the line.
  75961. */
  75962. lineWidth?: number;
  75963. }
  75964. /**
  75965. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  75966. * animation when a series is displayed for the `dataLabels`. The animation can
  75967. * also be set as a configuration object. Please note that this option only
  75968. * applies to the initial animation. For other animations, see chart.animation
  75969. * and the animation parameter under the API methods. The following properties
  75970. * are supported:
  75971. *
  75972. * - `defer`: The animation delay time in milliseconds.
  75973. */
  75974. export interface PlotPriceenvelopesDataLabelsAnimationOptions {
  75975. /**
  75976. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  75977. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  75978. * inherits defer time from the series.animation.defer.
  75979. */
  75980. defer?: number;
  75981. }
  75982. /**
  75983. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  75984. * appearing next to each data point.
  75985. *
  75986. * Since v6.2.0, multiple data labels can be applied to each single point by
  75987. * defining them as an array of configs.
  75988. *
  75989. * In styled mode, the data labels can be styled with the
  75990. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  75991. * example).
  75992. */
  75993. export interface PlotPriceenvelopesDataLabelsOptions {
  75994. /**
  75995. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  75996. * compared to the point. If `right`, the right side of the label should be
  75997. * touching the point. For points with an extent, like columns, the
  75998. * alignments also dictates how to align it inside the box, as given with
  75999. * the inside option. Can be one of `left`, `center` or `right`.
  76000. */
  76001. align?: (AlignValue|null);
  76002. /**
  76003. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  76004. * overlap. To make the labels less sensitive for overlapping, the
  76005. * dataLabels.padding can be set to 0.
  76006. */
  76007. allowOverlap?: boolean;
  76008. /**
  76009. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76010. * animation when a series is displayed for the `dataLabels`. The animation
  76011. * can also be set as a configuration object. Please note that this option
  76012. * only applies to the initial animation. For other animations, see
  76013. * chart.animation and the animation parameter under the API methods. The
  76014. * following properties are supported:
  76015. *
  76016. * - `defer`: The animation delay time in milliseconds.
  76017. */
  76018. animation?: (boolean|PlotPriceenvelopesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  76019. /**
  76020. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  76021. * for the data label.
  76022. */
  76023. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  76024. /**
  76025. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  76026. * label. Defaults to `undefined`.
  76027. */
  76028. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76029. /**
  76030. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  76031. * the data label.
  76032. */
  76033. borderRadius?: number;
  76034. /**
  76035. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  76036. * the data label.
  76037. */
  76038. borderWidth?: number;
  76039. /**
  76040. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  76041. * Particularly in styled mode, this can be used to give each series' or
  76042. * point's data label unique styling. In addition to this option, a default
  76043. * color class name is added so that we can give the labels a contrast text
  76044. * shadow.
  76045. */
  76046. className?: string;
  76047. /**
  76048. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  76049. * labels. Defaults to `undefined`. For certain series types, like column or
  76050. * map, the data labels can be drawn inside the points. In this case the
  76051. * data label will be drawn with maximum contrast by default. Additionally,
  76052. * it will be given a `text-outline` style with the opposite color, to
  76053. * further increase the contrast. This can be overridden by setting the
  76054. * `text-outline` style to `none` in the `dataLabels.style` option.
  76055. */
  76056. color?: (ColorString|GradientColorObject|PatternObject);
  76057. /**
  76058. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  76059. * are outside the plot area. By default, the data label is moved inside the
  76060. * plot area according to the overflow option.
  76061. */
  76062. crop?: boolean;
  76063. /**
  76064. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  76065. * labels until the initial series animation has finished. Setting to
  76066. * `false` renders the data label immediately. If set to `true` inherits the
  76067. * defer time set in plotOptions.series.animation. If set to a number, a
  76068. * defer time is specified in milliseconds.
  76069. */
  76070. defer?: (boolean|number);
  76071. /**
  76072. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  76073. * labels.
  76074. */
  76075. enabled?: boolean;
  76076. /**
  76077. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  76078. * of which data labels to display. The declarative filter is designed for
  76079. * use when callback functions are not available, like when the chart
  76080. * options require a pure JSON structure or for use with graphical editors.
  76081. * For programmatic control, use the `formatter` instead, and return
  76082. * `undefined` to disable a single data label.
  76083. */
  76084. filter?: DataLabelsFilterOptionsObject;
  76085. /**
  76086. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  76087. * label. Available variables are the same as for `formatter`.
  76088. */
  76089. format?: string;
  76090. /**
  76091. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  76092. * format the data label. Note that if a `format` is defined, the format
  76093. * takes precedence and the formatter is ignored.
  76094. */
  76095. formatter?: DataLabelsFormatterCallbackFunction;
  76096. /**
  76097. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  76098. * columns or map areas, whether to align the data label inside the box or
  76099. * to the actual value point. Defaults to `false` in most cases, `true` in
  76100. * stacked columns.
  76101. */
  76102. inside?: boolean;
  76103. /**
  76104. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  76105. * of null. Works analogously to format. `nullFormat` can be applied only to
  76106. * series which support displaying null points.
  76107. */
  76108. nullFormat?: (boolean|string);
  76109. /**
  76110. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  76111. * that defines formatting for points with the value of null. Works
  76112. * analogously to formatter. `nullPointFormatter` can be applied only to
  76113. * series which support displaying null points.
  76114. */
  76115. nullFormatter?: DataLabelsFormatterCallbackFunction;
  76116. /**
  76117. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  76118. * flow outside the plot area. The default is `"justify"`, which aligns them
  76119. * inside the plot area. For columns and bars, this means it will be moved
  76120. * inside the bar. To display data labels outside the plot area, set `crop`
  76121. * to `false` and `overflow` to `"allow"`.
  76122. */
  76123. overflow?: DataLabelsOverflowValue;
  76124. /**
  76125. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  76126. * the `backgroundColor` is set, this is the padding within the box.
  76127. */
  76128. padding?: number;
  76129. /**
  76130. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  76131. * points. If `center` alignment is not possible, it defaults to `right`.
  76132. */
  76133. position?: AlignValue;
  76134. /**
  76135. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  76136. * that due to a more complex structure, backgrounds, borders and padding
  76137. * will be lost on a rotated data label.
  76138. */
  76139. rotation?: number;
  76140. /**
  76141. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  76142. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  76143. * an object configuration containing `color`, `offsetX`, `offsetY`,
  76144. * `opacity` and `width`.
  76145. */
  76146. shadow?: (boolean|ShadowOptionsObject);
  76147. /**
  76148. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  76149. * the border around the label. Symbols are predefined functions on the
  76150. * Renderer object.
  76151. */
  76152. shape?: string;
  76153. /**
  76154. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  76155. * default `color` setting is `"contrast"`, which is a pseudo color that
  76156. * Highcharts picks up and applies the maximum contrast to the underlying
  76157. * point item, for example the bar in a bar chart.
  76158. *
  76159. * The `textOutline` is a pseudo property that applies an outline of the
  76160. * given width with the given color, which by default is the maximum
  76161. * contrast to the text. So a bright text color will result in a black text
  76162. * outline for maximum readability on a mixed background. In some cases,
  76163. * especially with grayscale text, the text outline doesn't work well, in
  76164. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  76165. * is true, the `textOutline` will not be picked up. In this, case, the same
  76166. * effect can be acheived through the `text-shadow` CSS property.
  76167. *
  76168. * For some series types, where each point has an extent, like for example
  76169. * tree maps, the data label may overflow the point. There are two
  76170. * strategies for handling overflow. By default, the text will wrap to
  76171. * multiple lines. The other strategy is to set `style.textOverflow` to
  76172. * `ellipsis`, which will keep the text on one line plus it will break
  76173. * inside long words.
  76174. */
  76175. style?: CSSObject;
  76176. /**
  76177. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  76178. * should follow marker's shape. Border and background are disabled for a
  76179. * label that follows a path.
  76180. *
  76181. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  76182. * to true will disable this option.
  76183. */
  76184. textPath?: DataLabelsTextPathOptionsObject;
  76185. /**
  76186. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  76187. * the labels.
  76188. */
  76189. useHTML?: boolean;
  76190. /**
  76191. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  76192. * label. Can be one of `top`, `middle` or `bottom`. The default value
  76193. * depends on the data, for instance in a column chart, the label is above
  76194. * positive values and below negative values.
  76195. */
  76196. verticalAlign?: (VerticalAlignValue|null);
  76197. /**
  76198. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  76199. * label relative to the point in pixels.
  76200. */
  76201. x?: number;
  76202. /**
  76203. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  76204. * label relative to the point in pixels.
  76205. */
  76206. y?: number;
  76207. /**
  76208. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  76209. * The default Z index puts it above the series. Use a Z index of 2 to
  76210. * display it behind the series.
  76211. */
  76212. z?: number;
  76213. }
  76214. /**
  76215. * (Highcharts, Highstock) Options for the series data sorting.
  76216. */
  76217. export interface PlotPriceenvelopesDataSortingOptions {
  76218. /**
  76219. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  76220. * Use xAxis.reversed to change the sorting order.
  76221. */
  76222. enabled?: boolean;
  76223. /**
  76224. * (Highcharts, Highstock) Whether to allow matching points by name in an
  76225. * update. If this option is disabled, points will be matched by order.
  76226. */
  76227. matchByName?: boolean;
  76228. /**
  76229. * (Highcharts, Highstock) Determines what data value should be used to sort
  76230. * by.
  76231. */
  76232. sortKey?: string;
  76233. }
  76234. /**
  76235. * (Highstock) Price envelopes indicator based on SMA calculations. This series
  76236. * requires the `linkedTo` option to be set and should be loaded after the
  76237. * `stock/indicators/indicators.js` file.
  76238. *
  76239. * In TypeScript the type option must always be set.
  76240. *
  76241. * Configuration options for the series are given in three levels:
  76242. *
  76243. * 1. Options for all series in a chart are defined in the plotOptions.series
  76244. * object.
  76245. *
  76246. * 2. Options for all `priceenvelopes` series are defined in
  76247. * plotOptions.priceenvelopes.
  76248. *
  76249. * 3. Options for one single series are given in the series instance array. (see
  76250. * online documentation for example)
  76251. */
  76252. export interface PlotPriceenvelopesOptions {
  76253. /**
  76254. * (Highstock) Accessibility options for a series.
  76255. */
  76256. accessibility?: SeriesAccessibilityOptionsObject;
  76257. /**
  76258. * (Highstock) Allow this series' points to be selected by clicking on the
  76259. * graphic (columns, point markers, pie slices, map areas etc).
  76260. *
  76261. * The selected points can be handled by point select and unselect events,
  76262. * or collectively by the getSelectedPoints function.
  76263. *
  76264. * And alternative way of selecting points is through dragging.
  76265. */
  76266. allowPointSelect?: boolean;
  76267. /**
  76268. * (Highstock) Enable or disable the initial animation when a series is
  76269. * displayed. The animation can also be set as a configuration object.
  76270. * Please note that this option only applies to the initial animation of the
  76271. * series itself. For other animations, see chart.animation and the
  76272. * animation parameter under the API methods. The following properties are
  76273. * supported:
  76274. *
  76275. * - `defer`: The animation delay time in milliseconds.
  76276. *
  76277. * - `duration`: The duration of the animation in milliseconds.
  76278. *
  76279. * - `easing`: Can be a string reference to an easing function set on the
  76280. * `Math` object or a function. See the _Custom easing function_ demo below.
  76281. *
  76282. * Due to poor performance, animation is disabled in old IE browsers for
  76283. * several chart types.
  76284. */
  76285. animation?: (boolean|PlotPriceenvelopesAnimationOptions|Partial<AnimationOptionsObject>);
  76286. /**
  76287. * (Highstock) For some series, there is a limit that shuts down initial
  76288. * animation by default when the total number of points in the chart is too
  76289. * high. For example, for a column chart and its derivatives, animation does
  76290. * not run if there is more than 250 points totally. To disable this cap,
  76291. * set `animationLimit` to `Infinity`.
  76292. */
  76293. animationLimit?: number;
  76294. /**
  76295. * (Highstock) Sets the color blending in the boost module.
  76296. */
  76297. boostBlending?: OptionsBoostBlendingValue;
  76298. /**
  76299. * (Highstock) Set the point threshold for when a series should enter boost
  76300. * mode.
  76301. *
  76302. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  76303. * there are 2000 or more points in the series.
  76304. *
  76305. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  76306. * it to 1 will force boosting.
  76307. *
  76308. * Note that the cropThreshold also affects this setting. When zooming in on
  76309. * a series that has fewer points than the `cropThreshold`, all points are
  76310. * rendered although outside the visible plot area, and the `boostThreshold`
  76311. * won't take effect.
  76312. */
  76313. boostThreshold?: number;
  76314. /**
  76315. * (Highmaps) The border color of the map areas.
  76316. *
  76317. * In styled mode, the border stroke is given in the `.highcharts-point`
  76318. * class.
  76319. */
  76320. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76321. /**
  76322. * (Highmaps) The border width of each map area.
  76323. *
  76324. * In styled mode, the border stroke width is given in the
  76325. * `.highcharts-point` class.
  76326. */
  76327. borderWidth?: number;
  76328. /**
  76329. * (Highstock) Bottom line options.
  76330. */
  76331. bottomLine?: PlotPriceenvelopesBottomLineOptions;
  76332. /**
  76333. * (Highstock) An additional class name to apply to the series' graphical
  76334. * elements. This option does not replace default class names of the
  76335. * graphical element.
  76336. */
  76337. className?: string;
  76338. /**
  76339. * (Highstock) Disable this option to allow series rendering in the whole
  76340. * plotting area.
  76341. *
  76342. * **Note:** Clipping should be always enabled when chart.zoomType is set
  76343. */
  76344. clip?: boolean;
  76345. /**
  76346. * (Highstock) The main color of the series. In line type series it applies
  76347. * to the line and the point markers unless otherwise specified. In bar type
  76348. * series it applies to the bars unless a color is specified per point. The
  76349. * default value is pulled from the `options.colors` array.
  76350. *
  76351. * In styled mode, the color can be defined by the colorIndex option. Also,
  76352. * the series color can be set with the `.highcharts-series`,
  76353. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  76354. * `.highcharts-series-{n}` class, or individual classes given by the
  76355. * `className` option.
  76356. */
  76357. color?: (ColorString|GradientColorObject|PatternObject);
  76358. /**
  76359. * (Highstock) Styled mode only. A specific color index to use for the
  76360. * series, so its graphic representations are given the class name
  76361. * `highcharts-color-{n}`.
  76362. */
  76363. colorIndex?: number;
  76364. /**
  76365. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  76366. * used to calculate point color if `colorAxis` is used. Requires to set
  76367. * `min` and `max` if some custom point property is used or if approximation
  76368. * for data grouping is set to `'sum'`.
  76369. */
  76370. colorKey?: string;
  76371. /**
  76372. * (Highstock) Compare the values of the series against the first non-null,
  76373. * non- zero value in the visible range. The y axis will show percentage or
  76374. * absolute change depending on whether `compare` is set to `"percent"` or
  76375. * `"value"`. When this is applied to multiple series, it allows comparing
  76376. * the development of the series against each other. Adds a `change` field
  76377. * to every point object.
  76378. */
  76379. compare?: string;
  76380. /**
  76381. * (Highstock) When compare is `percent`, this option dictates whether to
  76382. * use 0 or 100 as the base of comparison.
  76383. */
  76384. compareBase?: (0|100);
  76385. /**
  76386. * (Highstock) Defines if comparison should start from the first point
  76387. * within the visible range or should start from the first point **before**
  76388. * the range.
  76389. *
  76390. * In other words, this flag determines if first point within the visible
  76391. * range will have 0% (`compareStart=true`) or should have been already
  76392. * calculated according to the previous point (`compareStart=false`).
  76393. */
  76394. compareStart?: boolean;
  76395. /**
  76396. * (Highstock) Whether to compare indicator to the main series values or
  76397. * indicator values.
  76398. */
  76399. compareToMain?: boolean;
  76400. /**
  76401. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  76402. * series plot across the extremes.
  76403. */
  76404. connectEnds?: boolean;
  76405. /**
  76406. * (Highcharts, Highstock) Whether to connect a graph line across null
  76407. * points, or render a gap between the two points on either side of the
  76408. * null.
  76409. */
  76410. connectNulls?: boolean;
  76411. /**
  76412. * (Gantt) Override Pathfinder connector options for a series. Requires
  76413. * Highcharts Gantt to be loaded.
  76414. */
  76415. connectors?: SeriesConnectorsOptionsObject;
  76416. /**
  76417. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  76418. * rounded to its nearest pixel in order to render sharp on screen. In some
  76419. * cases, when there are a lot of densely packed columns, this leads to
  76420. * visible difference in column widths or distance between columns. In these
  76421. * cases, setting `crisp` to `false` may look better, even though each
  76422. * column is rendered blurry.
  76423. */
  76424. crisp?: boolean;
  76425. /**
  76426. * (Highcharts, Highstock) When the series contains less points than the
  76427. * crop threshold, all points are drawn, even if the points fall outside the
  76428. * visible plot area at the current zoom. The advantage of drawing all
  76429. * points (including markers and columns), is that animation is performed on
  76430. * updates. On the other hand, when the series contains more points than the
  76431. * crop threshold, the series data is cropped to only contain points that
  76432. * fall within the plot area. The advantage of cropping away invisible
  76433. * points is to increase performance on large series.
  76434. */
  76435. cropThreshold?: number;
  76436. /**
  76437. * (Highstock) You can set the cursor to "pointer" if you have click events
  76438. * attached to the series, to signal to the user that the points and lines
  76439. * can be clicked.
  76440. *
  76441. * In styled mode, the series cursor can be set with the same classes as
  76442. * listed under series.color.
  76443. */
  76444. cursor?: (string|CursorValue);
  76445. /**
  76446. * (Highstock) A reserved subspace to store options and values for
  76447. * customized functionality. Here you can add additional data for your own
  76448. * event callbacks and formatter callbacks.
  76449. */
  76450. custom?: Dictionary<any>;
  76451. /**
  76452. * (Highstock) Name of the dash style to use for the graph, or for some
  76453. * series types the outline of each shape.
  76454. *
  76455. * In styled mode, the stroke dash-array can be set with the same classes as
  76456. * listed under series.color.
  76457. */
  76458. dashStyle?: DashStyleValue;
  76459. /**
  76460. * (Highstock) Data grouping is the concept of sampling the data values into
  76461. * larger blocks in order to ease readability and increase performance of
  76462. * the JavaScript charts. Highcharts Stock by default applies data grouping
  76463. * when the points become closer than a certain pixel value, determined by
  76464. * the `groupPixelWidth` option.
  76465. *
  76466. * If data grouping is applied, the grouping information of grouped points
  76467. * can be read from the Point.dataGroup. If point options other than the
  76468. * data itself are set, for example `name` or `color` or custom properties,
  76469. * the grouping logic doesn't know how to group it. In this case the options
  76470. * of the first point instance are copied over to the group point. This can
  76471. * be altered through a custom `approximation` callback function.
  76472. */
  76473. dataGrouping?: DataGroupingOptionsObject;
  76474. /**
  76475. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  76476. * labels, appearing next to each data point.
  76477. *
  76478. * Since v6.2.0, multiple data labels can be applied to each single point by
  76479. * defining them as an array of configs.
  76480. *
  76481. * In styled mode, the data labels can be styled with the
  76482. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  76483. * (see example).
  76484. */
  76485. dataLabels?: (PlotPriceenvelopesDataLabelsOptions|Array<PlotPriceenvelopesDataLabelsOptions>);
  76486. /**
  76487. * (Highcharts, Highstock) Options for the series data sorting.
  76488. */
  76489. dataSorting?: (DataSortingOptionsObject|PlotPriceenvelopesDataSortingOptions);
  76490. /**
  76491. * (Highstock) A description of the series to add to the screen reader
  76492. * information about the series.
  76493. */
  76494. description?: string;
  76495. /**
  76496. * (Highstock) Enable or disable the mouse tracking for a specific series.
  76497. * This includes point tooltips and click events on graphs and points. For
  76498. * large datasets it improves performance.
  76499. */
  76500. enableMouseTracking?: boolean;
  76501. /**
  76502. * (Highstock) General event handlers for the series items. These event
  76503. * hooks can also be attached to the series at run time using the
  76504. * `Highcharts.addEvent` function.
  76505. */
  76506. events?: SeriesEventsOptionsObject;
  76507. /**
  76508. * (Highstock) Determines whether the series should look for the nearest
  76509. * point in both dimensions or just the x-dimension when hovering the
  76510. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  76511. * series. If the data has duplicate x-values, it is recommended to set this
  76512. * to `'xy'` to allow hovering over all points.
  76513. *
  76514. * Applies only to series types using nearest neighbor search (not direct
  76515. * hover) for tooltip.
  76516. */
  76517. findNearestPointBy?: OptionsFindNearestPointByValue;
  76518. /**
  76519. * (Highstock) Defines when to display a gap in the graph, together with the
  76520. * gapUnit option.
  76521. *
  76522. * In case when `dataGrouping` is enabled, points can be grouped into a
  76523. * larger time span. This can make the grouped points to have a greater
  76524. * distance than the absolute value of `gapSize` property, which will result
  76525. * in disappearing graph completely. To prevent this situation the mentioned
  76526. * distance between grouped points is used instead of previously defined
  76527. * `gapSize`.
  76528. *
  76529. * In practice, this option is most often used to visualize gaps in time
  76530. * series. In a stock chart, intraday data is available for daytime hours,
  76531. * while gaps will appear in nights and weekends.
  76532. */
  76533. gapSize?: number;
  76534. /**
  76535. * (Highstock) Together with gapSize, this option defines where to draw gaps
  76536. * in the graph.
  76537. *
  76538. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  76539. * if the distance between two points is greater than 5 times that of the
  76540. * two closest points, the graph will be broken.
  76541. *
  76542. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  76543. * values, which on a datetime axis is milliseconds. This also applies to
  76544. * the navigator series that inherits gap options from the base series.
  76545. */
  76546. gapUnit?: OptionsGapUnitValue;
  76547. /**
  76548. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  76549. * chart width or only the zoomed area when zooming in on parts of the X
  76550. * axis. By default, the Y axis adjusts to the min and max of the visible
  76551. * data. Cartesian series only.
  76552. */
  76553. getExtremesFromAll?: boolean;
  76554. /**
  76555. * (Highstock) When set to `false` will prevent the series data from being
  76556. * included in any form of data export.
  76557. *
  76558. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  76559. * `includeInCSVExport`.
  76560. */
  76561. includeInDataExport?: boolean;
  76562. /**
  76563. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  76564. * series as possible in a natural way, seeking to avoid other series. The
  76565. * goal of this feature is to make the chart more easily readable, like if a
  76566. * human designer placed the labels in the optimal position.
  76567. *
  76568. * The series labels currently work with series types having a `graph` or an
  76569. * `area`.
  76570. */
  76571. label?: SeriesLabelOptionsObject;
  76572. /**
  76573. * (Highstock) The line marks the last price from all points.
  76574. */
  76575. lastPrice?: SeriesLastPriceOptionsObject;
  76576. /**
  76577. * (Highstock) The line marks the last price from visible range of points.
  76578. */
  76579. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  76580. /**
  76581. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  76582. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  76583. * the ends and bends.
  76584. */
  76585. linecap?: SeriesLinecapValue;
  76586. /**
  76587. * (Highcharts, Highstock) Pixel width of the graph line.
  76588. */
  76589. lineWidth?: number;
  76590. /**
  76591. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  76592. * based on. Required for this indicator.
  76593. */
  76594. linkedTo?: string;
  76595. /**
  76596. * (Highstock) Options for the point markers of line-like series. Properties
  76597. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  76598. * appearance of the markers. Other series types, like column series, don't
  76599. * have markers, but have visual options on the series level instead.
  76600. *
  76601. * In styled mode, the markers can be styled with the `.highcharts-point`,
  76602. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  76603. */
  76604. marker?: PointMarkerOptionsObject;
  76605. /**
  76606. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  76607. * If not set, it will be based on a technical indicator type and default
  76608. * params.
  76609. */
  76610. name?: string;
  76611. /**
  76612. * (Highstock) The color for the parts of the graph or points that are below
  76613. * the threshold. Note that `zones` takes precedence over the negative
  76614. * color. Using `negativeColor` is equivalent to applying a zone with value
  76615. * of 0.
  76616. */
  76617. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  76618. /**
  76619. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  76620. * dataLabels.
  76621. */
  76622. opacity?: number;
  76623. /**
  76624. * (Highstock) Paramters used in calculation of regression series' points.
  76625. */
  76626. params?: PlotPriceenvelopesParamsOptions;
  76627. /**
  76628. * (Highstock) Properties for each single point.
  76629. */
  76630. point?: PlotSeriesPointOptions;
  76631. /**
  76632. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  76633. * individual series. Overrides the chart wide configuration.
  76634. */
  76635. pointDescriptionFormatter?: Function;
  76636. /**
  76637. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  76638. * true, the checkbox next to the series name in the legend will be checked
  76639. * for a selected series.
  76640. */
  76641. selected?: boolean;
  76642. /**
  76643. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  76644. * the shadow can be an object configuration containing `color`, `offsetX`,
  76645. * `offsetY`, `opacity` and `width`.
  76646. */
  76647. shadow?: (boolean|ShadowOptionsObject);
  76648. /**
  76649. * (Highstock) If true, a checkbox is displayed next to the legend item to
  76650. * allow selecting the series. The state of the checkbox is determined by
  76651. * the `selected` option.
  76652. */
  76653. showCheckbox?: boolean;
  76654. /**
  76655. * (Highstock) Whether to display this particular series or series type in
  76656. * the legend. Standalone series are shown in legend by default, and linked
  76657. * series are not. Since v7.2.0 it is possible to show series that use
  76658. * colorAxis by setting this option to `true`.
  76659. */
  76660. showInLegend?: boolean;
  76661. /**
  76662. * (Highstock) If set to `true`, the accessibility module will skip past the
  76663. * points in this series for keyboard navigation.
  76664. */
  76665. skipKeyboardNavigation?: boolean;
  76666. /**
  76667. * (Highcharts, Highstock) When this is true, the series will not cause the
  76668. * Y axis to cross the zero plane (or threshold option) unless the data
  76669. * actually crosses the plane.
  76670. *
  76671. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  76672. * make the Y axis show negative values according to the `minPadding`
  76673. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  76674. */
  76675. softThreshold?: boolean;
  76676. states?: SeriesStatesOptionsObject;
  76677. /**
  76678. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  76679. * values are `left`, `center` and `right`.
  76680. */
  76681. step?: OptionsStepValue;
  76682. /**
  76683. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  76684. * event on a series isn't triggered until the mouse moves over another
  76685. * series, or out of the plot area. When false, the `mouseOut` event on a
  76686. * series is triggered when the mouse leaves the area around the series'
  76687. * graph or markers. This also implies the tooltip when not shared. When
  76688. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  76689. * be hidden when moving the mouse between series. Defaults to true for line
  76690. * and area type series, but to false for columns, pies etc.
  76691. *
  76692. * **Note:** The boost module will force this option because of technical
  76693. * limitations.
  76694. */
  76695. stickyTracking?: boolean;
  76696. /**
  76697. * (Highcharts, Highstock) The threshold, also called zero level or base
  76698. * level. For line type series this is only used in conjunction with
  76699. * negativeColor.
  76700. */
  76701. threshold?: (number|null);
  76702. /**
  76703. * (Highstock) A configuration object for the tooltip rendering of each
  76704. * single series. Properties are inherited from tooltip, but only the
  76705. * following properties can be defined on a series level.
  76706. */
  76707. tooltip?: SeriesTooltipOptionsObject;
  76708. /**
  76709. * (Highstock) Top line options.
  76710. */
  76711. topLine?: PlotPriceenvelopesTopLineOptions;
  76712. /**
  76713. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  76714. * is longer than this, only one dimensional arrays of numbers, or two
  76715. * dimensional arrays with x and y values are allowed. Also, only the first
  76716. * point is tested, and the rest are assumed to be the same format. This
  76717. * saves expensive data checking and indexing in long series. Set it to `0`
  76718. * disable.
  76719. *
  76720. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  76721. * two dimensional arrays are allowed.
  76722. */
  76723. turboThreshold?: number;
  76724. /**
  76725. * (Highstock) Set the initial visibility of the series.
  76726. */
  76727. visible?: boolean;
  76728. /**
  76729. * (Highmaps) Define the z index of the series.
  76730. */
  76731. zIndex?: number;
  76732. /**
  76733. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  76734. */
  76735. zoneAxis?: string;
  76736. /**
  76737. * (Highcharts, Highstock) An array defining zones within a series. Zones
  76738. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  76739. * the `zoneAxis` option. The zone definitions have to be in ascending order
  76740. * regarding to the value.
  76741. *
  76742. * In styled mode, the color zones are styled with the
  76743. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  76744. * option (view live demo).
  76745. */
  76746. zones?: Array<SeriesZonesOptionsObject>;
  76747. }
  76748. /**
  76749. * (Highstock) Paramters used in calculation of regression series' points.
  76750. */
  76751. export interface PlotPriceenvelopesParamsOptions {
  76752. /**
  76753. * (Highstock) Percentage below the moving average that should be displayed.
  76754. * 0.1 means 90%. Relative to the calculated value.
  76755. */
  76756. bottomBand?: number;
  76757. /**
  76758. * (Highstock) The point index which indicator calculations will base. For
  76759. * example using OHLC data, index=2 means the indicator will be calculated
  76760. * using Low values.
  76761. */
  76762. index?: number;
  76763. /**
  76764. * (Highstock) The base period for indicator calculations. This is the
  76765. * number of data points which are taken into account for the indicator
  76766. * calculations.
  76767. */
  76768. period?: number;
  76769. /**
  76770. * (Highstock) Percentage above the moving average that should be displayed.
  76771. * 0.1 means 110%. Relative to the calculated value.
  76772. */
  76773. topBand?: number;
  76774. }
  76775. /**
  76776. * (Highstock) Top line options.
  76777. */
  76778. export interface PlotPriceenvelopesTopLineOptions {
  76779. styles?: PlotPriceenvelopesTopLineStylesOptions;
  76780. }
  76781. export interface PlotPriceenvelopesTopLineStylesOptions {
  76782. /**
  76783. * (Highstock) Color of the line. If not set, it's inherited from
  76784. * plotOptions.priceenvelopes.color.
  76785. */
  76786. lineColor?: ColorString;
  76787. /**
  76788. * (Highstock) Pixel width of the line.
  76789. */
  76790. lineWidth?: number;
  76791. }
  76792. /**
  76793. * (Highstock) Enable or disable the initial animation when a series is
  76794. * displayed. The animation can also be set as a configuration object. Please
  76795. * note that this option only applies to the initial animation of the series
  76796. * itself. For other animations, see chart.animation and the animation parameter
  76797. * under the API methods. The following properties are supported:
  76798. *
  76799. * - `defer`: The animation delay time in milliseconds.
  76800. *
  76801. * - `duration`: The duration of the animation in milliseconds.
  76802. *
  76803. * - `easing`: Can be a string reference to an easing function set on the `Math`
  76804. * object or a function. See the _Custom easing function_ demo below.
  76805. *
  76806. * Due to poor performance, animation is disabled in old IE browsers for several
  76807. * chart types.
  76808. */
  76809. export interface PlotPsarAnimationOptions {
  76810. defer?: number;
  76811. }
  76812. /**
  76813. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76814. * animation when a series is displayed for the `dataLabels`. The animation can
  76815. * also be set as a configuration object. Please note that this option only
  76816. * applies to the initial animation. For other animations, see chart.animation
  76817. * and the animation parameter under the API methods. The following properties
  76818. * are supported:
  76819. *
  76820. * - `defer`: The animation delay time in milliseconds.
  76821. */
  76822. export interface PlotPsarDataLabelsAnimationOptions {
  76823. /**
  76824. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  76825. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  76826. * inherits defer time from the series.animation.defer.
  76827. */
  76828. defer?: number;
  76829. }
  76830. /**
  76831. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  76832. * appearing next to each data point.
  76833. *
  76834. * Since v6.2.0, multiple data labels can be applied to each single point by
  76835. * defining them as an array of configs.
  76836. *
  76837. * In styled mode, the data labels can be styled with the
  76838. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  76839. * example).
  76840. */
  76841. export interface PlotPsarDataLabelsOptions {
  76842. /**
  76843. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  76844. * compared to the point. If `right`, the right side of the label should be
  76845. * touching the point. For points with an extent, like columns, the
  76846. * alignments also dictates how to align it inside the box, as given with
  76847. * the inside option. Can be one of `left`, `center` or `right`.
  76848. */
  76849. align?: (AlignValue|null);
  76850. /**
  76851. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  76852. * overlap. To make the labels less sensitive for overlapping, the
  76853. * dataLabels.padding can be set to 0.
  76854. */
  76855. allowOverlap?: boolean;
  76856. /**
  76857. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  76858. * animation when a series is displayed for the `dataLabels`. The animation
  76859. * can also be set as a configuration object. Please note that this option
  76860. * only applies to the initial animation. For other animations, see
  76861. * chart.animation and the animation parameter under the API methods. The
  76862. * following properties are supported:
  76863. *
  76864. * - `defer`: The animation delay time in milliseconds.
  76865. */
  76866. animation?: (boolean|PlotPsarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  76867. /**
  76868. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  76869. * for the data label.
  76870. */
  76871. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  76872. /**
  76873. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  76874. * label. Defaults to `undefined`.
  76875. */
  76876. borderColor?: (ColorString|GradientColorObject|PatternObject);
  76877. /**
  76878. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  76879. * the data label.
  76880. */
  76881. borderRadius?: number;
  76882. /**
  76883. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  76884. * the data label.
  76885. */
  76886. borderWidth?: number;
  76887. /**
  76888. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  76889. * Particularly in styled mode, this can be used to give each series' or
  76890. * point's data label unique styling. In addition to this option, a default
  76891. * color class name is added so that we can give the labels a contrast text
  76892. * shadow.
  76893. */
  76894. className?: string;
  76895. /**
  76896. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  76897. * labels. Defaults to `undefined`. For certain series types, like column or
  76898. * map, the data labels can be drawn inside the points. In this case the
  76899. * data label will be drawn with maximum contrast by default. Additionally,
  76900. * it will be given a `text-outline` style with the opposite color, to
  76901. * further increase the contrast. This can be overridden by setting the
  76902. * `text-outline` style to `none` in the `dataLabels.style` option.
  76903. */
  76904. color?: (ColorString|GradientColorObject|PatternObject);
  76905. /**
  76906. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  76907. * are outside the plot area. By default, the data label is moved inside the
  76908. * plot area according to the overflow option.
  76909. */
  76910. crop?: boolean;
  76911. /**
  76912. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  76913. * labels until the initial series animation has finished. Setting to
  76914. * `false` renders the data label immediately. If set to `true` inherits the
  76915. * defer time set in plotOptions.series.animation. If set to a number, a
  76916. * defer time is specified in milliseconds.
  76917. */
  76918. defer?: (boolean|number);
  76919. /**
  76920. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  76921. * labels.
  76922. */
  76923. enabled?: boolean;
  76924. /**
  76925. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  76926. * of which data labels to display. The declarative filter is designed for
  76927. * use when callback functions are not available, like when the chart
  76928. * options require a pure JSON structure or for use with graphical editors.
  76929. * For programmatic control, use the `formatter` instead, and return
  76930. * `undefined` to disable a single data label.
  76931. */
  76932. filter?: DataLabelsFilterOptionsObject;
  76933. /**
  76934. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  76935. * label. Available variables are the same as for `formatter`.
  76936. */
  76937. format?: string;
  76938. /**
  76939. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  76940. * format the data label. Note that if a `format` is defined, the format
  76941. * takes precedence and the formatter is ignored.
  76942. */
  76943. formatter?: DataLabelsFormatterCallbackFunction;
  76944. /**
  76945. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  76946. * columns or map areas, whether to align the data label inside the box or
  76947. * to the actual value point. Defaults to `false` in most cases, `true` in
  76948. * stacked columns.
  76949. */
  76950. inside?: boolean;
  76951. /**
  76952. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  76953. * of null. Works analogously to format. `nullFormat` can be applied only to
  76954. * series which support displaying null points.
  76955. */
  76956. nullFormat?: (boolean|string);
  76957. /**
  76958. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  76959. * that defines formatting for points with the value of null. Works
  76960. * analogously to formatter. `nullPointFormatter` can be applied only to
  76961. * series which support displaying null points.
  76962. */
  76963. nullFormatter?: DataLabelsFormatterCallbackFunction;
  76964. /**
  76965. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  76966. * flow outside the plot area. The default is `"justify"`, which aligns them
  76967. * inside the plot area. For columns and bars, this means it will be moved
  76968. * inside the bar. To display data labels outside the plot area, set `crop`
  76969. * to `false` and `overflow` to `"allow"`.
  76970. */
  76971. overflow?: DataLabelsOverflowValue;
  76972. /**
  76973. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  76974. * the `backgroundColor` is set, this is the padding within the box.
  76975. */
  76976. padding?: number;
  76977. /**
  76978. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  76979. * points. If `center` alignment is not possible, it defaults to `right`.
  76980. */
  76981. position?: AlignValue;
  76982. /**
  76983. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  76984. * that due to a more complex structure, backgrounds, borders and padding
  76985. * will be lost on a rotated data label.
  76986. */
  76987. rotation?: number;
  76988. /**
  76989. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  76990. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  76991. * an object configuration containing `color`, `offsetX`, `offsetY`,
  76992. * `opacity` and `width`.
  76993. */
  76994. shadow?: (boolean|ShadowOptionsObject);
  76995. /**
  76996. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  76997. * the border around the label. Symbols are predefined functions on the
  76998. * Renderer object.
  76999. */
  77000. shape?: string;
  77001. /**
  77002. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  77003. * default `color` setting is `"contrast"`, which is a pseudo color that
  77004. * Highcharts picks up and applies the maximum contrast to the underlying
  77005. * point item, for example the bar in a bar chart.
  77006. *
  77007. * The `textOutline` is a pseudo property that applies an outline of the
  77008. * given width with the given color, which by default is the maximum
  77009. * contrast to the text. So a bright text color will result in a black text
  77010. * outline for maximum readability on a mixed background. In some cases,
  77011. * especially with grayscale text, the text outline doesn't work well, in
  77012. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  77013. * is true, the `textOutline` will not be picked up. In this, case, the same
  77014. * effect can be acheived through the `text-shadow` CSS property.
  77015. *
  77016. * For some series types, where each point has an extent, like for example
  77017. * tree maps, the data label may overflow the point. There are two
  77018. * strategies for handling overflow. By default, the text will wrap to
  77019. * multiple lines. The other strategy is to set `style.textOverflow` to
  77020. * `ellipsis`, which will keep the text on one line plus it will break
  77021. * inside long words.
  77022. */
  77023. style?: CSSObject;
  77024. /**
  77025. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  77026. * should follow marker's shape. Border and background are disabled for a
  77027. * label that follows a path.
  77028. *
  77029. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  77030. * to true will disable this option.
  77031. */
  77032. textPath?: DataLabelsTextPathOptionsObject;
  77033. /**
  77034. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  77035. * the labels.
  77036. */
  77037. useHTML?: boolean;
  77038. /**
  77039. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  77040. * label. Can be one of `top`, `middle` or `bottom`. The default value
  77041. * depends on the data, for instance in a column chart, the label is above
  77042. * positive values and below negative values.
  77043. */
  77044. verticalAlign?: (VerticalAlignValue|null);
  77045. /**
  77046. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  77047. * label relative to the point in pixels.
  77048. */
  77049. x?: number;
  77050. /**
  77051. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  77052. * label relative to the point in pixels.
  77053. */
  77054. y?: number;
  77055. /**
  77056. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  77057. * The default Z index puts it above the series. Use a Z index of 2 to
  77058. * display it behind the series.
  77059. */
  77060. z?: number;
  77061. }
  77062. /**
  77063. * (Highcharts, Highstock) Options for the series data sorting.
  77064. */
  77065. export interface PlotPsarDataSortingOptions {
  77066. /**
  77067. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  77068. * Use xAxis.reversed to change the sorting order.
  77069. */
  77070. enabled?: boolean;
  77071. /**
  77072. * (Highcharts, Highstock) Whether to allow matching points by name in an
  77073. * update. If this option is disabled, points will be matched by order.
  77074. */
  77075. matchByName?: boolean;
  77076. /**
  77077. * (Highcharts, Highstock) Determines what data value should be used to sort
  77078. * by.
  77079. */
  77080. sortKey?: string;
  77081. }
  77082. /**
  77083. * (Highstock) Parabolic SAR. This series requires `linkedTo` option to be set
  77084. * and should be loaded after `stock/indicators/indicators.js` file.
  77085. *
  77086. * In TypeScript the type option must always be set.
  77087. *
  77088. * Configuration options for the series are given in three levels:
  77089. *
  77090. * 1. Options for all series in a chart are defined in the plotOptions.series
  77091. * object.
  77092. *
  77093. * 2. Options for all `psar` series are defined in plotOptions.psar.
  77094. *
  77095. * 3. Options for one single series are given in the series instance array. (see
  77096. * online documentation for example)
  77097. */
  77098. export interface PlotPsarOptions {
  77099. /**
  77100. * (Highstock) Accessibility options for a series.
  77101. */
  77102. accessibility?: SeriesAccessibilityOptionsObject;
  77103. /**
  77104. * (Highstock) Allow this series' points to be selected by clicking on the
  77105. * graphic (columns, point markers, pie slices, map areas etc).
  77106. *
  77107. * The selected points can be handled by point select and unselect events,
  77108. * or collectively by the getSelectedPoints function.
  77109. *
  77110. * And alternative way of selecting points is through dragging.
  77111. */
  77112. allowPointSelect?: boolean;
  77113. /**
  77114. * (Highstock) Enable or disable the initial animation when a series is
  77115. * displayed. The animation can also be set as a configuration object.
  77116. * Please note that this option only applies to the initial animation of the
  77117. * series itself. For other animations, see chart.animation and the
  77118. * animation parameter under the API methods. The following properties are
  77119. * supported:
  77120. *
  77121. * - `defer`: The animation delay time in milliseconds.
  77122. *
  77123. * - `duration`: The duration of the animation in milliseconds.
  77124. *
  77125. * - `easing`: Can be a string reference to an easing function set on the
  77126. * `Math` object or a function. See the _Custom easing function_ demo below.
  77127. *
  77128. * Due to poor performance, animation is disabled in old IE browsers for
  77129. * several chart types.
  77130. */
  77131. animation?: (boolean|PlotPsarAnimationOptions|Partial<AnimationOptionsObject>);
  77132. /**
  77133. * (Highstock) For some series, there is a limit that shuts down initial
  77134. * animation by default when the total number of points in the chart is too
  77135. * high. For example, for a column chart and its derivatives, animation does
  77136. * not run if there is more than 250 points totally. To disable this cap,
  77137. * set `animationLimit` to `Infinity`.
  77138. */
  77139. animationLimit?: number;
  77140. /**
  77141. * (Highstock) Sets the color blending in the boost module.
  77142. */
  77143. boostBlending?: OptionsBoostBlendingValue;
  77144. /**
  77145. * (Highstock) Set the point threshold for when a series should enter boost
  77146. * mode.
  77147. *
  77148. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  77149. * there are 2000 or more points in the series.
  77150. *
  77151. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  77152. * it to 1 will force boosting.
  77153. *
  77154. * Note that the cropThreshold also affects this setting. When zooming in on
  77155. * a series that has fewer points than the `cropThreshold`, all points are
  77156. * rendered although outside the visible plot area, and the `boostThreshold`
  77157. * won't take effect.
  77158. */
  77159. boostThreshold?: number;
  77160. /**
  77161. * (Highmaps) The border color of the map areas.
  77162. *
  77163. * In styled mode, the border stroke is given in the `.highcharts-point`
  77164. * class.
  77165. */
  77166. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77167. /**
  77168. * (Highmaps) The border width of each map area.
  77169. *
  77170. * In styled mode, the border stroke width is given in the
  77171. * `.highcharts-point` class.
  77172. */
  77173. borderWidth?: number;
  77174. /**
  77175. * (Highstock) An additional class name to apply to the series' graphical
  77176. * elements. This option does not replace default class names of the
  77177. * graphical element.
  77178. */
  77179. className?: string;
  77180. /**
  77181. * (Highstock) Disable this option to allow series rendering in the whole
  77182. * plotting area.
  77183. *
  77184. * **Note:** Clipping should be always enabled when chart.zoomType is set
  77185. */
  77186. clip?: boolean;
  77187. /**
  77188. * (Highstock) The main color of the series. In line type series it applies
  77189. * to the line and the point markers unless otherwise specified. In bar type
  77190. * series it applies to the bars unless a color is specified per point. The
  77191. * default value is pulled from the `options.colors` array.
  77192. *
  77193. * In styled mode, the color can be defined by the colorIndex option. Also,
  77194. * the series color can be set with the `.highcharts-series`,
  77195. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  77196. * `.highcharts-series-{n}` class, or individual classes given by the
  77197. * `className` option.
  77198. */
  77199. color?: (ColorString|GradientColorObject|PatternObject);
  77200. /**
  77201. * (Highstock) Styled mode only. A specific color index to use for the
  77202. * series, so its graphic representations are given the class name
  77203. * `highcharts-color-{n}`.
  77204. */
  77205. colorIndex?: number;
  77206. /**
  77207. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  77208. * used to calculate point color if `colorAxis` is used. Requires to set
  77209. * `min` and `max` if some custom point property is used or if approximation
  77210. * for data grouping is set to `'sum'`.
  77211. */
  77212. colorKey?: string;
  77213. /**
  77214. * (Highstock) Compare the values of the series against the first non-null,
  77215. * non- zero value in the visible range. The y axis will show percentage or
  77216. * absolute change depending on whether `compare` is set to `"percent"` or
  77217. * `"value"`. When this is applied to multiple series, it allows comparing
  77218. * the development of the series against each other. Adds a `change` field
  77219. * to every point object.
  77220. */
  77221. compare?: string;
  77222. /**
  77223. * (Highstock) When compare is `percent`, this option dictates whether to
  77224. * use 0 or 100 as the base of comparison.
  77225. */
  77226. compareBase?: (0|100);
  77227. /**
  77228. * (Highstock) Defines if comparison should start from the first point
  77229. * within the visible range or should start from the first point **before**
  77230. * the range.
  77231. *
  77232. * In other words, this flag determines if first point within the visible
  77233. * range will have 0% (`compareStart=true`) or should have been already
  77234. * calculated according to the previous point (`compareStart=false`).
  77235. */
  77236. compareStart?: boolean;
  77237. /**
  77238. * (Highstock) Whether to compare indicator to the main series values or
  77239. * indicator values.
  77240. */
  77241. compareToMain?: boolean;
  77242. /**
  77243. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  77244. * series plot across the extremes.
  77245. */
  77246. connectEnds?: boolean;
  77247. /**
  77248. * (Highcharts, Highstock) Whether to connect a graph line across null
  77249. * points, or render a gap between the two points on either side of the
  77250. * null.
  77251. */
  77252. connectNulls?: boolean;
  77253. /**
  77254. * (Gantt) Override Pathfinder connector options for a series. Requires
  77255. * Highcharts Gantt to be loaded.
  77256. */
  77257. connectors?: SeriesConnectorsOptionsObject;
  77258. /**
  77259. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  77260. * rounded to its nearest pixel in order to render sharp on screen. In some
  77261. * cases, when there are a lot of densely packed columns, this leads to
  77262. * visible difference in column widths or distance between columns. In these
  77263. * cases, setting `crisp` to `false` may look better, even though each
  77264. * column is rendered blurry.
  77265. */
  77266. crisp?: boolean;
  77267. /**
  77268. * (Highcharts, Highstock) When the series contains less points than the
  77269. * crop threshold, all points are drawn, even if the points fall outside the
  77270. * visible plot area at the current zoom. The advantage of drawing all
  77271. * points (including markers and columns), is that animation is performed on
  77272. * updates. On the other hand, when the series contains more points than the
  77273. * crop threshold, the series data is cropped to only contain points that
  77274. * fall within the plot area. The advantage of cropping away invisible
  77275. * points is to increase performance on large series.
  77276. */
  77277. cropThreshold?: number;
  77278. /**
  77279. * (Highstock) You can set the cursor to "pointer" if you have click events
  77280. * attached to the series, to signal to the user that the points and lines
  77281. * can be clicked.
  77282. *
  77283. * In styled mode, the series cursor can be set with the same classes as
  77284. * listed under series.color.
  77285. */
  77286. cursor?: (string|CursorValue);
  77287. /**
  77288. * (Highstock) A reserved subspace to store options and values for
  77289. * customized functionality. Here you can add additional data for your own
  77290. * event callbacks and formatter callbacks.
  77291. */
  77292. custom?: Dictionary<any>;
  77293. /**
  77294. * (Highstock) Name of the dash style to use for the graph, or for some
  77295. * series types the outline of each shape.
  77296. *
  77297. * In styled mode, the stroke dash-array can be set with the same classes as
  77298. * listed under series.color.
  77299. */
  77300. dashStyle?: DashStyleValue;
  77301. /**
  77302. * (Highstock) Data grouping is the concept of sampling the data values into
  77303. * larger blocks in order to ease readability and increase performance of
  77304. * the JavaScript charts. Highcharts Stock by default applies data grouping
  77305. * when the points become closer than a certain pixel value, determined by
  77306. * the `groupPixelWidth` option.
  77307. *
  77308. * If data grouping is applied, the grouping information of grouped points
  77309. * can be read from the Point.dataGroup. If point options other than the
  77310. * data itself are set, for example `name` or `color` or custom properties,
  77311. * the grouping logic doesn't know how to group it. In this case the options
  77312. * of the first point instance are copied over to the group point. This can
  77313. * be altered through a custom `approximation` callback function.
  77314. */
  77315. dataGrouping?: DataGroupingOptionsObject;
  77316. /**
  77317. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  77318. * labels, appearing next to each data point.
  77319. *
  77320. * Since v6.2.0, multiple data labels can be applied to each single point by
  77321. * defining them as an array of configs.
  77322. *
  77323. * In styled mode, the data labels can be styled with the
  77324. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  77325. * (see example).
  77326. */
  77327. dataLabels?: (PlotPsarDataLabelsOptions|Array<PlotPsarDataLabelsOptions>);
  77328. /**
  77329. * (Highcharts, Highstock) Options for the series data sorting.
  77330. */
  77331. dataSorting?: (DataSortingOptionsObject|PlotPsarDataSortingOptions);
  77332. /**
  77333. * (Highstock) A description of the series to add to the screen reader
  77334. * information about the series.
  77335. */
  77336. description?: string;
  77337. /**
  77338. * (Highstock) Enable or disable the mouse tracking for a specific series.
  77339. * This includes point tooltips and click events on graphs and points. For
  77340. * large datasets it improves performance.
  77341. */
  77342. enableMouseTracking?: boolean;
  77343. /**
  77344. * (Highstock) General event handlers for the series items. These event
  77345. * hooks can also be attached to the series at run time using the
  77346. * `Highcharts.addEvent` function.
  77347. */
  77348. events?: SeriesEventsOptionsObject;
  77349. /**
  77350. * (Highstock) Determines whether the series should look for the nearest
  77351. * point in both dimensions or just the x-dimension when hovering the
  77352. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  77353. * series. If the data has duplicate x-values, it is recommended to set this
  77354. * to `'xy'` to allow hovering over all points.
  77355. *
  77356. * Applies only to series types using nearest neighbor search (not direct
  77357. * hover) for tooltip.
  77358. */
  77359. findNearestPointBy?: OptionsFindNearestPointByValue;
  77360. /**
  77361. * (Highstock) Defines when to display a gap in the graph, together with the
  77362. * gapUnit option.
  77363. *
  77364. * In case when `dataGrouping` is enabled, points can be grouped into a
  77365. * larger time span. This can make the grouped points to have a greater
  77366. * distance than the absolute value of `gapSize` property, which will result
  77367. * in disappearing graph completely. To prevent this situation the mentioned
  77368. * distance between grouped points is used instead of previously defined
  77369. * `gapSize`.
  77370. *
  77371. * In practice, this option is most often used to visualize gaps in time
  77372. * series. In a stock chart, intraday data is available for daytime hours,
  77373. * while gaps will appear in nights and weekends.
  77374. */
  77375. gapSize?: number;
  77376. /**
  77377. * (Highstock) Together with gapSize, this option defines where to draw gaps
  77378. * in the graph.
  77379. *
  77380. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  77381. * if the distance between two points is greater than 5 times that of the
  77382. * two closest points, the graph will be broken.
  77383. *
  77384. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  77385. * values, which on a datetime axis is milliseconds. This also applies to
  77386. * the navigator series that inherits gap options from the base series.
  77387. */
  77388. gapUnit?: OptionsGapUnitValue;
  77389. /**
  77390. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  77391. * chart width or only the zoomed area when zooming in on parts of the X
  77392. * axis. By default, the Y axis adjusts to the min and max of the visible
  77393. * data. Cartesian series only.
  77394. */
  77395. getExtremesFromAll?: boolean;
  77396. /**
  77397. * (Highstock) When set to `false` will prevent the series data from being
  77398. * included in any form of data export.
  77399. *
  77400. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  77401. * `includeInCSVExport`.
  77402. */
  77403. includeInDataExport?: boolean;
  77404. /**
  77405. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  77406. * series as possible in a natural way, seeking to avoid other series. The
  77407. * goal of this feature is to make the chart more easily readable, like if a
  77408. * human designer placed the labels in the optimal position.
  77409. *
  77410. * The series labels currently work with series types having a `graph` or an
  77411. * `area`.
  77412. */
  77413. label?: SeriesLabelOptionsObject;
  77414. /**
  77415. * (Highstock) The line marks the last price from all points.
  77416. */
  77417. lastPrice?: SeriesLastPriceOptionsObject;
  77418. /**
  77419. * (Highstock) The line marks the last price from visible range of points.
  77420. */
  77421. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  77422. /**
  77423. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  77424. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  77425. * the ends and bends.
  77426. */
  77427. linecap?: SeriesLinecapValue;
  77428. /**
  77429. * (Highcharts, Highstock) Pixel width of the graph line.
  77430. */
  77431. lineWidth?: number;
  77432. /**
  77433. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  77434. * based on. Required for this indicator.
  77435. */
  77436. linkedTo?: string;
  77437. /**
  77438. * (Highstock) Options for the point markers of line-like series. Properties
  77439. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  77440. * appearance of the markers. Other series types, like column series, don't
  77441. * have markers, but have visual options on the series level instead.
  77442. *
  77443. * In styled mode, the markers can be styled with the `.highcharts-point`,
  77444. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  77445. */
  77446. marker?: PointMarkerOptionsObject;
  77447. /**
  77448. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  77449. * If not set, it will be based on a technical indicator type and default
  77450. * params.
  77451. */
  77452. name?: string;
  77453. /**
  77454. * (Highstock) The color for the parts of the graph or points that are below
  77455. * the threshold. Note that `zones` takes precedence over the negative
  77456. * color. Using `negativeColor` is equivalent to applying a zone with value
  77457. * of 0.
  77458. */
  77459. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  77460. /**
  77461. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  77462. * dataLabels.
  77463. */
  77464. opacity?: number;
  77465. /**
  77466. * (Highstock) Paramters used in calculation of regression series' points.
  77467. */
  77468. params?: PlotPsarParamsOptions;
  77469. /**
  77470. * (Highstock) Properties for each single point.
  77471. */
  77472. point?: PlotSeriesPointOptions;
  77473. /**
  77474. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  77475. * individual series. Overrides the chart wide configuration.
  77476. */
  77477. pointDescriptionFormatter?: Function;
  77478. /**
  77479. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  77480. * true, the checkbox next to the series name in the legend will be checked
  77481. * for a selected series.
  77482. */
  77483. selected?: boolean;
  77484. /**
  77485. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  77486. * the shadow can be an object configuration containing `color`, `offsetX`,
  77487. * `offsetY`, `opacity` and `width`.
  77488. */
  77489. shadow?: (boolean|ShadowOptionsObject);
  77490. /**
  77491. * (Highstock) If true, a checkbox is displayed next to the legend item to
  77492. * allow selecting the series. The state of the checkbox is determined by
  77493. * the `selected` option.
  77494. */
  77495. showCheckbox?: boolean;
  77496. /**
  77497. * (Highstock) Whether to display this particular series or series type in
  77498. * the legend. Standalone series are shown in legend by default, and linked
  77499. * series are not. Since v7.2.0 it is possible to show series that use
  77500. * colorAxis by setting this option to `true`.
  77501. */
  77502. showInLegend?: boolean;
  77503. /**
  77504. * (Highstock) If set to `true`, the accessibility module will skip past the
  77505. * points in this series for keyboard navigation.
  77506. */
  77507. skipKeyboardNavigation?: boolean;
  77508. /**
  77509. * (Highcharts, Highstock) When this is true, the series will not cause the
  77510. * Y axis to cross the zero plane (or threshold option) unless the data
  77511. * actually crosses the plane.
  77512. *
  77513. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  77514. * make the Y axis show negative values according to the `minPadding`
  77515. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  77516. */
  77517. softThreshold?: boolean;
  77518. states?: SeriesStatesOptionsObject;
  77519. /**
  77520. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  77521. * values are `left`, `center` and `right`.
  77522. */
  77523. step?: OptionsStepValue;
  77524. /**
  77525. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  77526. * event on a series isn't triggered until the mouse moves over another
  77527. * series, or out of the plot area. When false, the `mouseOut` event on a
  77528. * series is triggered when the mouse leaves the area around the series'
  77529. * graph or markers. This also implies the tooltip when not shared. When
  77530. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  77531. * be hidden when moving the mouse between series. Defaults to true for line
  77532. * and area type series, but to false for columns, pies etc.
  77533. *
  77534. * **Note:** The boost module will force this option because of technical
  77535. * limitations.
  77536. */
  77537. stickyTracking?: boolean;
  77538. /**
  77539. * (Highcharts, Highstock) The threshold, also called zero level or base
  77540. * level. For line type series this is only used in conjunction with
  77541. * negativeColor.
  77542. */
  77543. threshold?: (number|null);
  77544. /**
  77545. * (Highstock) A configuration object for the tooltip rendering of each
  77546. * single series. Properties are inherited from tooltip, but only the
  77547. * following properties can be defined on a series level.
  77548. */
  77549. tooltip?: SeriesTooltipOptionsObject;
  77550. /**
  77551. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  77552. * is longer than this, only one dimensional arrays of numbers, or two
  77553. * dimensional arrays with x and y values are allowed. Also, only the first
  77554. * point is tested, and the rest are assumed to be the same format. This
  77555. * saves expensive data checking and indexing in long series. Set it to `0`
  77556. * disable.
  77557. *
  77558. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  77559. * two dimensional arrays are allowed.
  77560. */
  77561. turboThreshold?: number;
  77562. /**
  77563. * (Highstock) Set the initial visibility of the series.
  77564. */
  77565. visible?: boolean;
  77566. /**
  77567. * (Highmaps) Define the z index of the series.
  77568. */
  77569. zIndex?: number;
  77570. /**
  77571. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  77572. */
  77573. zoneAxis?: string;
  77574. /**
  77575. * (Highcharts, Highstock) An array defining zones within a series. Zones
  77576. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  77577. * the `zoneAxis` option. The zone definitions have to be in ascending order
  77578. * regarding to the value.
  77579. *
  77580. * In styled mode, the color zones are styled with the
  77581. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  77582. * option (view live demo).
  77583. */
  77584. zones?: Array<SeriesZonesOptionsObject>;
  77585. }
  77586. /**
  77587. * (Highstock) Paramters used in calculation of regression series' points.
  77588. */
  77589. export interface PlotPsarParamsOptions {
  77590. /**
  77591. * (Highstock) Number of maximum decimals that are used in PSAR
  77592. * calculations.
  77593. */
  77594. decimals?: number;
  77595. /**
  77596. * (Highstock) Acceleration factor increases by increment each time the
  77597. * extreme point makes a new high.
  77598. */
  77599. increment?: number;
  77600. /**
  77601. * (Highstock) Index from which PSAR is starting calculation
  77602. */
  77603. index?: number;
  77604. /**
  77605. * (Highstock) The initial value for acceleration factor. Acceleration
  77606. * factor is starting with this value and increases by specified increment
  77607. * each time the extreme point makes a new high. AF can reach a maximum of
  77608. * maxAccelerationFactor, no matter how long the uptrend extends.
  77609. */
  77610. initialAccelerationFactor?: number;
  77611. /**
  77612. * (Highstock) The Maximum value for acceleration factor. AF can reach a
  77613. * maximum of maxAccelerationFactor, no matter how long the uptrend extends.
  77614. */
  77615. maxAccelerationFactor?: number;
  77616. period?: string;
  77617. }
  77618. /**
  77619. * (Highcharts) Enable or disable the initial animation when a series is
  77620. * displayed. The animation can also be set as a configuration object. Please
  77621. * note that this option only applies to the initial animation of the series
  77622. * itself. For other animations, see chart.animation and the animation parameter
  77623. * under the API methods. The following properties are supported:
  77624. *
  77625. * - `defer`: The animation delay time in milliseconds.
  77626. *
  77627. * - `duration`: The duration of the animation in milliseconds.
  77628. *
  77629. * - `easing`: Can be a string reference to an easing function set on the `Math`
  77630. * object or a function. See the _Custom easing function_ demo below.
  77631. *
  77632. * Due to poor performance, animation is disabled in old IE browsers for several
  77633. * chart types.
  77634. */
  77635. export interface PlotPyramid3dAnimationOptions {
  77636. defer?: number;
  77637. }
  77638. /**
  77639. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77640. * animation when a series is displayed for the `dataLabels`. The animation can
  77641. * also be set as a configuration object. Please note that this option only
  77642. * applies to the initial animation. For other animations, see chart.animation
  77643. * and the animation parameter under the API methods. The following properties
  77644. * are supported:
  77645. *
  77646. * - `defer`: The animation delay time in milliseconds.
  77647. */
  77648. export interface PlotPyramid3dDataLabelsAnimationOptions {
  77649. /**
  77650. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  77651. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  77652. * inherits defer time from the series.animation.defer.
  77653. */
  77654. defer?: number;
  77655. }
  77656. /**
  77657. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  77658. * appearing next to each data point.
  77659. *
  77660. * Since v6.2.0, multiple data labels can be applied to each single point by
  77661. * defining them as an array of configs.
  77662. *
  77663. * In styled mode, the data labels can be styled with the
  77664. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  77665. * example).
  77666. */
  77667. export interface PlotPyramid3dDataLabelsOptions {
  77668. /**
  77669. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  77670. * compared to the point. If `right`, the right side of the label should be
  77671. * touching the point. For points with an extent, like columns, the
  77672. * alignments also dictates how to align it inside the box, as given with
  77673. * the inside option. Can be one of `left`, `center` or `right`.
  77674. */
  77675. align?: string;
  77676. /**
  77677. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  77678. * overlap. To make the labels less sensitive for overlapping, the
  77679. * dataLabels.padding can be set to 0.
  77680. */
  77681. allowOverlap?: boolean;
  77682. /**
  77683. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  77684. * animation when a series is displayed for the `dataLabels`. The animation
  77685. * can also be set as a configuration object. Please note that this option
  77686. * only applies to the initial animation. For other animations, see
  77687. * chart.animation and the animation parameter under the API methods. The
  77688. * following properties are supported:
  77689. *
  77690. * - `defer`: The animation delay time in milliseconds.
  77691. */
  77692. animation?: (boolean|PlotPyramid3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  77693. /**
  77694. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  77695. * for the data label.
  77696. */
  77697. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  77698. /**
  77699. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  77700. * label. Defaults to `undefined`.
  77701. */
  77702. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77703. /**
  77704. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  77705. * the data label.
  77706. */
  77707. borderRadius?: number;
  77708. /**
  77709. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  77710. * the data label.
  77711. */
  77712. borderWidth?: number;
  77713. /**
  77714. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  77715. * Particularly in styled mode, this can be used to give each series' or
  77716. * point's data label unique styling. In addition to this option, a default
  77717. * color class name is added so that we can give the labels a contrast text
  77718. * shadow.
  77719. */
  77720. className?: string;
  77721. /**
  77722. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  77723. * labels. Defaults to `undefined`. For certain series types, like column or
  77724. * map, the data labels can be drawn inside the points. In this case the
  77725. * data label will be drawn with maximum contrast by default. Additionally,
  77726. * it will be given a `text-outline` style with the opposite color, to
  77727. * further increase the contrast. This can be overridden by setting the
  77728. * `text-outline` style to `none` in the `dataLabels.style` option.
  77729. */
  77730. color?: (ColorString|GradientColorObject|PatternObject);
  77731. /**
  77732. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  77733. * are outside the plot area. By default, the data label is moved inside the
  77734. * plot area according to the overflow option.
  77735. */
  77736. crop?: boolean;
  77737. /**
  77738. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  77739. * labels until the initial series animation has finished. Setting to
  77740. * `false` renders the data label immediately. If set to `true` inherits the
  77741. * defer time set in plotOptions.series.animation. If set to a number, a
  77742. * defer time is specified in milliseconds.
  77743. */
  77744. defer?: (boolean|number);
  77745. /**
  77746. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  77747. * labels.
  77748. */
  77749. enabled?: boolean;
  77750. /**
  77751. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  77752. * of which data labels to display. The declarative filter is designed for
  77753. * use when callback functions are not available, like when the chart
  77754. * options require a pure JSON structure or for use with graphical editors.
  77755. * For programmatic control, use the `formatter` instead, and return
  77756. * `undefined` to disable a single data label.
  77757. */
  77758. filter?: DataLabelsFilterOptionsObject;
  77759. /**
  77760. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  77761. * label. Available variables are the same as for `formatter`.
  77762. */
  77763. format?: string;
  77764. /**
  77765. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  77766. * format the data label. Note that if a `format` is defined, the format
  77767. * takes precedence and the formatter is ignored.
  77768. */
  77769. formatter?: DataLabelsFormatterCallbackFunction;
  77770. /**
  77771. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  77772. * columns or map areas, whether to align the data label inside the box or
  77773. * to the actual value point. Defaults to `false` in most cases, `true` in
  77774. * stacked columns.
  77775. */
  77776. inside?: boolean;
  77777. /**
  77778. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  77779. * of null. Works analogously to format. `nullFormat` can be applied only to
  77780. * series which support displaying null points.
  77781. */
  77782. nullFormat?: (boolean|string);
  77783. /**
  77784. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  77785. * that defines formatting for points with the value of null. Works
  77786. * analogously to formatter. `nullPointFormatter` can be applied only to
  77787. * series which support displaying null points.
  77788. */
  77789. nullFormatter?: DataLabelsFormatterCallbackFunction;
  77790. /**
  77791. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  77792. * flow outside the plot area. The default is `"justify"`, which aligns them
  77793. * inside the plot area. For columns and bars, this means it will be moved
  77794. * inside the bar. To display data labels outside the plot area, set `crop`
  77795. * to `false` and `overflow` to `"allow"`.
  77796. */
  77797. overflow?: string;
  77798. /**
  77799. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  77800. * the `backgroundColor` is set, this is the padding within the box.
  77801. */
  77802. padding?: number;
  77803. /**
  77804. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  77805. * points. If `center` alignment is not possible, it defaults to `right`.
  77806. */
  77807. position?: AlignValue;
  77808. /**
  77809. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  77810. * that due to a more complex structure, backgrounds, borders and padding
  77811. * will be lost on a rotated data label.
  77812. */
  77813. rotation?: number;
  77814. /**
  77815. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  77816. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  77817. * an object configuration containing `color`, `offsetX`, `offsetY`,
  77818. * `opacity` and `width`.
  77819. */
  77820. shadow?: (boolean|ShadowOptionsObject);
  77821. /**
  77822. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  77823. * the border around the label. Symbols are predefined functions on the
  77824. * Renderer object.
  77825. */
  77826. shape?: string;
  77827. /**
  77828. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  77829. * default `color` setting is `"contrast"`, which is a pseudo color that
  77830. * Highcharts picks up and applies the maximum contrast to the underlying
  77831. * point item, for example the bar in a bar chart.
  77832. *
  77833. * The `textOutline` is a pseudo property that applies an outline of the
  77834. * given width with the given color, which by default is the maximum
  77835. * contrast to the text. So a bright text color will result in a black text
  77836. * outline for maximum readability on a mixed background. In some cases,
  77837. * especially with grayscale text, the text outline doesn't work well, in
  77838. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  77839. * is true, the `textOutline` will not be picked up. In this, case, the same
  77840. * effect can be acheived through the `text-shadow` CSS property.
  77841. *
  77842. * For some series types, where each point has an extent, like for example
  77843. * tree maps, the data label may overflow the point. There are two
  77844. * strategies for handling overflow. By default, the text will wrap to
  77845. * multiple lines. The other strategy is to set `style.textOverflow` to
  77846. * `ellipsis`, which will keep the text on one line plus it will break
  77847. * inside long words.
  77848. */
  77849. style?: CSSObject;
  77850. /**
  77851. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  77852. * should follow marker's shape. Border and background are disabled for a
  77853. * label that follows a path.
  77854. *
  77855. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  77856. * to true will disable this option.
  77857. */
  77858. textPath?: DataLabelsTextPathOptionsObject;
  77859. /**
  77860. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  77861. * the labels.
  77862. */
  77863. useHTML?: boolean;
  77864. /**
  77865. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  77866. * label. Can be one of `top`, `middle` or `bottom`. The default value
  77867. * depends on the data, for instance in a column chart, the label is above
  77868. * positive values and below negative values.
  77869. */
  77870. verticalAlign?: string;
  77871. /**
  77872. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  77873. * label relative to the point in pixels.
  77874. */
  77875. x?: number;
  77876. /**
  77877. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  77878. * label relative to the point in pixels.
  77879. */
  77880. y?: number;
  77881. /**
  77882. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  77883. * The default Z index puts it above the series. Use a Z index of 2 to
  77884. * display it behind the series.
  77885. */
  77886. z?: number;
  77887. }
  77888. /**
  77889. * (Highcharts) Style options for the guide box. The guide box has one state by
  77890. * default, the `default` state.
  77891. */
  77892. export interface PlotPyramid3dDragDropGuideBoxOptions {
  77893. /**
  77894. * (Highcharts) Style options for the guide box default state.
  77895. */
  77896. default?: DragDropGuideBoxOptionsObject;
  77897. }
  77898. /**
  77899. * (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
  77900. * charts are a type of chart often used to visualize stages in a sales project,
  77901. * where the top are the initial stages with the most clients.
  77902. *
  77903. * In TypeScript the type option must always be set.
  77904. *
  77905. * Configuration options for the series are given in three levels:
  77906. *
  77907. * 1. Options for all series in a chart are defined in the plotOptions.series
  77908. * object.
  77909. *
  77910. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  77911. *
  77912. * 3. Options for one single series are given in the series instance array. (see
  77913. * online documentation for example)
  77914. */
  77915. export interface PlotPyramid3dOptions {
  77916. /**
  77917. * (Highcharts) Accessibility options for a series.
  77918. */
  77919. accessibility?: SeriesAccessibilityOptionsObject;
  77920. /**
  77921. * (Highcharts) Allow this series' points to be selected by clicking on the
  77922. * graphic (columns, point markers, pie slices, map areas etc).
  77923. *
  77924. * The selected points can be handled by point select and unselect events,
  77925. * or collectively by the getSelectedPoints function.
  77926. *
  77927. * And alternative way of selecting points is through dragging.
  77928. */
  77929. allowPointSelect?: boolean;
  77930. /**
  77931. * (Highcharts) Enable or disable the initial animation when a series is
  77932. * displayed. The animation can also be set as a configuration object.
  77933. * Please note that this option only applies to the initial animation of the
  77934. * series itself. For other animations, see chart.animation and the
  77935. * animation parameter under the API methods. The following properties are
  77936. * supported:
  77937. *
  77938. * - `defer`: The animation delay time in milliseconds.
  77939. *
  77940. * - `duration`: The duration of the animation in milliseconds.
  77941. *
  77942. * - `easing`: Can be a string reference to an easing function set on the
  77943. * `Math` object or a function. See the _Custom easing function_ demo below.
  77944. *
  77945. * Due to poor performance, animation is disabled in old IE browsers for
  77946. * several chart types.
  77947. */
  77948. animation?: (boolean|PlotPyramid3dAnimationOptions);
  77949. /**
  77950. * (Highcharts) For some series, there is a limit that shuts down initial
  77951. * animation by default when the total number of points in the chart is too
  77952. * high. For example, for a column chart and its derivatives, animation does
  77953. * not run if there is more than 250 points totally. To disable this cap,
  77954. * set `animationLimit` to `Infinity`.
  77955. */
  77956. animationLimit?: number;
  77957. /**
  77958. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  77959. * column or bar.
  77960. *
  77961. * In styled mode, the border stroke can be set with the `.highcharts-point`
  77962. * rule.
  77963. */
  77964. borderColor?: (ColorString|GradientColorObject|PatternObject);
  77965. /**
  77966. * (Highcharts, Highstock, Gantt) The corner radius of the border
  77967. * surrounding each column or bar.
  77968. */
  77969. borderRadius?: number;
  77970. /**
  77971. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  77972. * column or bar. Defaults to `1` when there is room for a border, but to
  77973. * `0` when the columns are so dense that a border would cover the next
  77974. * column.
  77975. *
  77976. * In styled mode, the stroke width can be set with the `.highcharts-point`
  77977. * rule.
  77978. */
  77979. borderWidth?: number;
  77980. /**
  77981. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  77982. * the category, ignoring null or missing points. When `false`, space will
  77983. * be reserved for null or missing points.
  77984. */
  77985. centerInCategory?: boolean;
  77986. /**
  77987. * (Highcharts) An additional class name to apply to the series' graphical
  77988. * elements. This option does not replace default class names of the
  77989. * graphical element.
  77990. */
  77991. className?: string;
  77992. /**
  77993. * (Highcharts) Disable this option to allow series rendering in the whole
  77994. * plotting area.
  77995. *
  77996. * **Note:** Clipping should be always enabled when chart.zoomType is set
  77997. */
  77998. clip?: boolean;
  77999. /**
  78000. * (Highcharts) The main color of the series. In line type series it applies
  78001. * to the line and the point markers unless otherwise specified. In bar type
  78002. * series it applies to the bars unless a color is specified per point. The
  78003. * default value is pulled from the `options.colors` array.
  78004. *
  78005. * In styled mode, the color can be defined by the colorIndex option. Also,
  78006. * the series color can be set with the `.highcharts-series`,
  78007. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  78008. * `.highcharts-series-{n}` class, or individual classes given by the
  78009. * `className` option.
  78010. */
  78011. color?: (ColorString|GradientColorObject|PatternObject);
  78012. /**
  78013. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  78014. * from the global colors or series-specific plotOptions.column.colors
  78015. * collections, this option determines whether the chart should receive one
  78016. * color per series or one color per point.
  78017. *
  78018. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  78019. * and instead this option gives the points individual color class names on
  78020. * the form `highcharts-color-{n}`.
  78021. */
  78022. colorByPoint?: boolean;
  78023. /**
  78024. * (Highcharts) Styled mode only. A specific color index to use for the
  78025. * series, so its graphic representations are given the class name
  78026. * `highcharts-color-{n}`.
  78027. */
  78028. colorIndex?: number;
  78029. /**
  78030. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  78031. * used to calculate point color if `colorAxis` is used. Requires to set
  78032. * `min` and `max` if some custom point property is used or if approximation
  78033. * for data grouping is set to `'sum'`.
  78034. */
  78035. colorKey?: string;
  78036. /**
  78037. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  78038. * color set to apply instead of the global colors when colorByPoint is
  78039. * true.
  78040. */
  78041. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  78042. /**
  78043. * (Highstock) Defines if comparison should start from the first point
  78044. * within the visible range or should start from the first point **before**
  78045. * the range.
  78046. *
  78047. * In other words, this flag determines if first point within the visible
  78048. * range will have 0% (`compareStart=true`) or should have been already
  78049. * calculated according to the previous point (`compareStart=false`).
  78050. */
  78051. compareStart?: boolean;
  78052. /**
  78053. * (Gantt) Override Pathfinder connector options for a series. Requires
  78054. * Highcharts Gantt to be loaded.
  78055. */
  78056. connectors?: SeriesConnectorsOptionsObject;
  78057. /**
  78058. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  78059. * rounded to its nearest pixel in order to render sharp on screen. In some
  78060. * cases, when there are a lot of densely packed columns, this leads to
  78061. * visible difference in column widths or distance between columns. In these
  78062. * cases, setting `crisp` to `false` may look better, even though each
  78063. * column is rendered blurry.
  78064. */
  78065. crisp?: boolean;
  78066. /**
  78067. * (Highcharts, Highstock, Gantt) When the series contains less points than
  78068. * the crop threshold, all points are drawn, event if the points fall
  78069. * outside the visible plot area at the current zoom. The advantage of
  78070. * drawing all points (including markers and columns), is that animation is
  78071. * performed on updates. On the other hand, when the series contains more
  78072. * points than the crop threshold, the series data is cropped to only
  78073. * contain points that fall within the plot area. The advantage of cropping
  78074. * away invisible points is to increase performance on large series.
  78075. */
  78076. cropThreshold?: number;
  78077. /**
  78078. * (Highcharts) You can set the cursor to "pointer" if you have click events
  78079. * attached to the series, to signal to the user that the points and lines
  78080. * can be clicked.
  78081. *
  78082. * In styled mode, the series cursor can be set with the same classes as
  78083. * listed under series.color.
  78084. */
  78085. cursor?: (string|CursorValue);
  78086. /**
  78087. * (Highcharts) A reserved subspace to store options and values for
  78088. * customized functionality. Here you can add additional data for your own
  78089. * event callbacks and formatter callbacks.
  78090. */
  78091. custom?: Dictionary<any>;
  78092. /**
  78093. * (Highcharts) Name of the dash style to use for the graph, or for some
  78094. * series types the outline of each shape.
  78095. *
  78096. * In styled mode, the stroke dash-array can be set with the same classes as
  78097. * listed under series.color.
  78098. */
  78099. dashStyle?: DashStyleValue;
  78100. /**
  78101. * (Highstock) Data grouping is the concept of sampling the data values into
  78102. * larger blocks in order to ease readability and increase performance of
  78103. * the JavaScript charts. Highcharts Stock by default applies data grouping
  78104. * when the points become closer than a certain pixel value, determined by
  78105. * the `groupPixelWidth` option.
  78106. *
  78107. * If data grouping is applied, the grouping information of grouped points
  78108. * can be read from the Point.dataGroup. If point options other than the
  78109. * data itself are set, for example `name` or `color` or custom properties,
  78110. * the grouping logic doesn't know how to group it. In this case the options
  78111. * of the first point instance are copied over to the group point. This can
  78112. * be altered through a custom `approximation` callback function.
  78113. */
  78114. dataGrouping?: DataGroupingOptionsObject;
  78115. /**
  78116. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  78117. * labels, appearing next to each data point.
  78118. *
  78119. * Since v6.2.0, multiple data labels can be applied to each single point by
  78120. * defining them as an array of configs.
  78121. *
  78122. * In styled mode, the data labels can be styled with the
  78123. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  78124. * (see example).
  78125. */
  78126. dataLabels?: (PlotPyramid3dDataLabelsOptions|Array<PlotPyramid3dDataLabelsOptions>);
  78127. /**
  78128. * (Highcharts) Depth of the columns in a 3D column chart.
  78129. */
  78130. depth?: number;
  78131. /**
  78132. * (Highcharts) A description of the series to add to the screen reader
  78133. * information about the series.
  78134. */
  78135. description?: string;
  78136. /**
  78137. * (Highcharts) The draggable-points module allows points to be moved around
  78138. * or modified in the chart. In addition to the options mentioned under the
  78139. * `dragDrop` API structure, the module fires three events, point.dragStart,
  78140. * point.drag and point.drop.
  78141. */
  78142. dragDrop?: SeriesDragDropOptionsObject;
  78143. /**
  78144. * (Highcharts) 3D columns only. The color of the edges. Similar to
  78145. * `borderColor`, except it defaults to the same color as the column.
  78146. */
  78147. edgeColor?: ColorString;
  78148. /**
  78149. * (Highcharts) 3D columns only. The width of the colored edges.
  78150. */
  78151. edgeWidth?: number;
  78152. /**
  78153. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  78154. * This includes point tooltips and click events on graphs and points. For
  78155. * large datasets it improves performance.
  78156. */
  78157. enableMouseTracking?: boolean;
  78158. /**
  78159. * (Highcharts) General event handlers for the series items. These event
  78160. * hooks can also be attached to the series at run time using the
  78161. * `Highcharts.addEvent` function.
  78162. */
  78163. events?: SeriesEventsOptionsObject;
  78164. /**
  78165. * (Highcharts) Determines whether the series should look for the nearest
  78166. * point in both dimensions or just the x-dimension when hovering the
  78167. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  78168. * series. If the data has duplicate x-values, it is recommended to set this
  78169. * to `'xy'` to allow hovering over all points.
  78170. *
  78171. * Applies only to series types using nearest neighbor search (not direct
  78172. * hover) for tooltip.
  78173. */
  78174. findNearestPointBy?: OptionsFindNearestPointByValue;
  78175. /**
  78176. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  78177. * chart width or only the zoomed area when zooming in on parts of the X
  78178. * axis. By default, the Y axis adjusts to the min and max of the visible
  78179. * data. Cartesian series only.
  78180. */
  78181. getExtremesFromAll?: boolean;
  78182. /**
  78183. * (Highcharts) By deafult sides fill is set to a gradient through this
  78184. * option being set to `true`. Set to `false` to get solid color for the
  78185. * sides.
  78186. */
  78187. gradientForSides?: boolean;
  78188. /**
  78189. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  78190. * let them render independent of each other. Non-grouped columns will be
  78191. * laid out individually and overlap each other.
  78192. */
  78193. grouping?: boolean;
  78194. /**
  78195. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  78196. * axis units.
  78197. */
  78198. groupPadding?: number;
  78199. /**
  78200. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  78201. */
  78202. groupZPadding?: number;
  78203. /**
  78204. * (Highcharts) The height of the series. If it is a number it defines the
  78205. * pixel height, if it is a percentage string it is the percentage of the
  78206. * plot area height.
  78207. */
  78208. height?: (number|string);
  78209. /**
  78210. * (Highcharts) When set to `false` will prevent the series data from being
  78211. * included in any form of data export.
  78212. *
  78213. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  78214. * `includeInCSVExport`.
  78215. */
  78216. includeInDataExport?: boolean;
  78217. /**
  78218. * (Highmaps) What property to join the `mapData` to the value data. For
  78219. * example, if joinBy is "code", the mapData items with a specific code is
  78220. * merged into the data with the same code. For maps loaded from GeoJSON,
  78221. * the keys may be held in each point's `properties` object.
  78222. *
  78223. * The joinBy option can also be an array of two values, where the first
  78224. * points to a key in the `mapData`, and the second points to another key in
  78225. * the `data`.
  78226. *
  78227. * When joinBy is `null`, the map items are joined by their position in the
  78228. * array, which performs much better in maps with many data points. This is
  78229. * the recommended option if you are printing more than a thousand data
  78230. * points and have a backend that can preprocess the data into a parallel
  78231. * array of the mapData.
  78232. */
  78233. joinBy?: (string|Array<string>);
  78234. /**
  78235. * (Highcharts) An array specifying which option maps to which key in the
  78236. * data point array. This makes it convenient to work with unstructured data
  78237. * arrays from different sources.
  78238. */
  78239. keys?: Array<string>;
  78240. /**
  78241. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  78242. * series as possible in a natural way, seeking to avoid other series. The
  78243. * goal of this feature is to make the chart more easily readable, like if a
  78244. * human designer placed the labels in the optimal position.
  78245. *
  78246. * The series labels currently work with series types having a `graph` or an
  78247. * `area`.
  78248. */
  78249. label?: SeriesLabelOptionsObject;
  78250. /**
  78251. * (Highstock) The line marks the last price from all points.
  78252. */
  78253. lastPrice?: SeriesLastPriceOptionsObject;
  78254. /**
  78255. * (Highstock) The line marks the last price from visible range of points.
  78256. */
  78257. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  78258. /**
  78259. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  78260. * Additionally, the value can be ":previous" to link to the previous
  78261. * series. When two series are linked, only the first one appears in the
  78262. * legend. Toggling the visibility of this also toggles the linked series.
  78263. *
  78264. * If master series uses data sorting and linked series does not have its
  78265. * own sorting definition, the linked series will be sorted in the same
  78266. * order as the master one.
  78267. */
  78268. linkedTo?: string;
  78269. /**
  78270. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  78271. * column, translated to the height of a bar in a bar chart. This prevents
  78272. * the columns from becoming too wide when there is a small number of points
  78273. * in the chart.
  78274. */
  78275. maxPointWidth?: number;
  78276. /**
  78277. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  78278. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  78279. * to zero) point, set the minimal point length to a pixel value like 3\. In
  78280. * stacked column charts, minPointLength might not be respected for tightly
  78281. * packed values.
  78282. */
  78283. minPointLength?: number;
  78284. /**
  78285. * (Highstock) Options for the corresponding navigator series if
  78286. * `showInNavigator` is `true` for this series. Available options are the
  78287. * same as any series, documented at plotOptions and series.
  78288. *
  78289. * These options are merged with options in navigator.series, and will take
  78290. * precedence if the same option is defined both places.
  78291. */
  78292. navigatorOptions?: PlotSeriesOptions;
  78293. neckHeight?: number;
  78294. neckWidth?: number;
  78295. /**
  78296. * (Highcharts) The color for the parts of the graph or points that are
  78297. * below the threshold. Note that `zones` takes precedence over the negative
  78298. * color. Using `negativeColor` is equivalent to applying a zone with value
  78299. * of 0.
  78300. */
  78301. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  78302. /**
  78303. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  78304. * dataLabels.
  78305. */
  78306. opacity?: number;
  78307. /**
  78308. * (Highcharts) Properties for each single point.
  78309. */
  78310. point?: PlotSeriesPointOptions;
  78311. /**
  78312. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  78313. * an individual series. Overrides the chart wide configuration.
  78314. */
  78315. pointDescriptionFormatter?: Function;
  78316. /**
  78317. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78318. * a series, `pointInterval` defines the interval of the x values. For
  78319. * example, if a series contains one value every decade starting from year
  78320. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  78321. * `pointInterval` is set in milliseconds.
  78322. *
  78323. * It can be also be combined with `pointIntervalUnit` to draw irregular
  78324. * time intervals.
  78325. *
  78326. * Please note that this options applies to the _series data_, not the
  78327. * interval of the axis ticks, which is independent.
  78328. */
  78329. pointInterval?: number;
  78330. /**
  78331. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  78332. * setting the pointInterval to irregular time units, `day`, `month` and
  78333. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  78334. * also takes the DST crossover into consideration when dealing with local
  78335. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  78336. * months, 10 years etc.
  78337. *
  78338. * Please note that this options applies to the _series data_, not the
  78339. * interval of the axis ticks, which is independent.
  78340. */
  78341. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  78342. /**
  78343. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  78344. * axis units.
  78345. */
  78346. pointPadding?: number;
  78347. /**
  78348. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  78349. * `number`.
  78350. *
  78351. * In a column chart, when pointPlacement is `"on"`, the point will not
  78352. * create any padding of the X axis. In a polar column chart this means that
  78353. * the first column points directly north. If the pointPlacement is
  78354. * `"between"`, the columns will be laid out between ticks. This is useful
  78355. * for example for visualising an amount between two points in time or in a
  78356. * certain sector of a polar chart.
  78357. *
  78358. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  78359. * is on the axis value, -0.5 is between this value and the previous, and
  78360. * 0.5 is between this value and the next. Unlike the textual options,
  78361. * numeric point placement options won't affect axis padding.
  78362. *
  78363. * Note that pointPlacement needs a pointRange to work. For column series
  78364. * this is computed, but for line-type series it needs to be set.
  78365. *
  78366. * For the `xrange` series type and gantt charts, if the Y axis is a
  78367. * category axis, the `pointPlacement` applies to the Y axis rather than the
  78368. * (typically datetime) X axis.
  78369. *
  78370. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  78371. */
  78372. pointPlacement?: (number|string);
  78373. /**
  78374. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  78375. * for. This determines the width of the column. On a categorized axis, the
  78376. * range will be 1 by default (one category unit). On linear and datetime
  78377. * axes, the range will be computed as the distance between the two closest
  78378. * data points.
  78379. *
  78380. * The default `null` means it is computed automatically, but this option
  78381. * can be used to override the automatic value.
  78382. *
  78383. * This option is set by default to 1 if data sorting is enabled.
  78384. */
  78385. pointRange?: (number|null);
  78386. /**
  78387. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  78388. * a series, pointStart defines on what value to start. For example, if a
  78389. * series contains one yearly value starting from 1945, set pointStart to
  78390. * 1945.
  78391. */
  78392. pointStart?: number;
  78393. /**
  78394. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  78395. * each column or bar point. When set to `undefined`, the width is
  78396. * calculated from the `pointPadding` and `groupPadding`. The width effects
  78397. * the dimension that is not based on the point value. For column series it
  78398. * is the hoizontal length and for bar series it is the vertical length.
  78399. */
  78400. pointWidth?: number;
  78401. /**
  78402. * (Highcharts) A reversed pyramid3d is funnel3d, but the latter supports
  78403. * neck related options: neckHeight and neckWidth
  78404. */
  78405. reversed?: boolean;
  78406. /**
  78407. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  78408. * true, the checkbox next to the series name in the legend will be checked
  78409. * for a selected series.
  78410. */
  78411. selected?: boolean;
  78412. /**
  78413. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  78414. * the shadow can be an object configuration containing `color`, `offsetX`,
  78415. * `offsetY`, `opacity` and `width`.
  78416. */
  78417. shadow?: (boolean|ShadowOptionsObject);
  78418. /**
  78419. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  78420. * allow selecting the series. The state of the checkbox is determined by
  78421. * the `selected` option.
  78422. */
  78423. showCheckbox?: boolean;
  78424. /**
  78425. * (Highcharts) Whether to display this particular series or series type in
  78426. * the legend. Standalone series are shown in legend by default, and linked
  78427. * series are not. Since v7.2.0 it is possible to show series that use
  78428. * colorAxis by setting this option to `true`.
  78429. */
  78430. showInLegend?: boolean;
  78431. /**
  78432. * (Highstock) Whether or not to show the series in the navigator. Takes
  78433. * precedence over navigator.baseSeries if defined.
  78434. */
  78435. showInNavigator?: boolean;
  78436. /**
  78437. * (Highcharts) If set to `true`, the accessibility module will skip past
  78438. * the points in this series for keyboard navigation.
  78439. */
  78440. skipKeyboardNavigation?: boolean;
  78441. /**
  78442. * (Highcharts, Highstock) When this is true, the series will not cause the
  78443. * Y axis to cross the zero plane (or threshold option) unless the data
  78444. * actually crosses the plane.
  78445. *
  78446. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  78447. * make the Y axis show negative values according to the `minPadding`
  78448. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  78449. */
  78450. softThreshold?: boolean;
  78451. /**
  78452. * (Highcharts, Highstock) Whether to stack the values of each series on top
  78453. * of each other. Possible values are `undefined` to disable, `"normal"` to
  78454. * stack by value or `"percent"`.
  78455. *
  78456. * When stacking is enabled, data must be sorted in ascending X order.
  78457. *
  78458. * Some stacking options are related to specific series types. In the
  78459. * streamgraph series type, the stacking option is set to `"stream"`. The
  78460. * second one is `"overlap"`, which only applies to waterfall series.
  78461. */
  78462. stacking?: OptionsStackingValue;
  78463. states?: SeriesStatesOptionsObject;
  78464. /**
  78465. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  78466. * event on a series isn't triggered until the mouse moves over another
  78467. * series, or out of the plot area. When false, the `mouseOut` event on a
  78468. * series is triggered when the mouse leaves the area around the series'
  78469. * graph or markers. This also implies the tooltip when not shared. When
  78470. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  78471. * be hidden when moving the mouse between series. Defaults to true for line
  78472. * and area type series, but to false for columns, pies etc.
  78473. *
  78474. * **Note:** The boost module will force this option because of technical
  78475. * limitations.
  78476. */
  78477. stickyTracking?: boolean;
  78478. /**
  78479. * (Highcharts) The Y axis value to serve as the base for the columns, for
  78480. * distinguishing between values above and below a threshold. If `null`, the
  78481. * columns extend from the padding Y axis minimum.
  78482. */
  78483. threshold?: (number|null);
  78484. /**
  78485. * (Highcharts) A configuration object for the tooltip rendering of each
  78486. * single series. Properties are inherited from tooltip, but only the
  78487. * following properties can be defined on a series level.
  78488. */
  78489. tooltip?: SeriesTooltipOptionsObject;
  78490. /**
  78491. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  78492. * is longer than this, only one dimensional arrays of numbers, or two
  78493. * dimensional arrays with x and y values are allowed. Also, only the first
  78494. * point is tested, and the rest are assumed to be the same format. This
  78495. * saves expensive data checking and indexing in long series. Set it to `0`
  78496. * disable.
  78497. *
  78498. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  78499. * two dimensional arrays are allowed.
  78500. */
  78501. turboThreshold?: number;
  78502. /**
  78503. * (Highcharts) Set the initial visibility of the series.
  78504. */
  78505. visible?: boolean;
  78506. /**
  78507. * (Highcharts) The max width of the series compared to the width of the
  78508. * plot area, or the pixel width if it is a number.
  78509. */
  78510. width?: (number|string);
  78511. /**
  78512. * (Highmaps) Define the z index of the series.
  78513. */
  78514. zIndex?: number;
  78515. /**
  78516. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  78517. */
  78518. zoneAxis?: string;
  78519. /**
  78520. * (Highcharts, Highstock) An array defining zones within a series. Zones
  78521. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  78522. * the `zoneAxis` option. The zone definitions have to be in ascending order
  78523. * regarding to the value.
  78524. *
  78525. * In styled mode, the color zones are styled with the
  78526. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  78527. * option (view live demo).
  78528. */
  78529. zones?: Array<SeriesZonesOptionsObject>;
  78530. }
  78531. /**
  78532. * (Highcharts) Initial animation is by default disabled for the funnel chart.
  78533. */
  78534. export interface PlotPyramidAnimationOptions {
  78535. defer?: number;
  78536. }
  78537. /**
  78538. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  78539. * animation when a series is displayed for the `dataLabels`. The animation can
  78540. * also be set as a configuration object. Please note that this option only
  78541. * applies to the initial animation. For other animations, see chart.animation
  78542. * and the animation parameter under the API methods. The following properties
  78543. * are supported:
  78544. *
  78545. * - `defer`: The animation delay time in milliseconds.
  78546. */
  78547. export interface PlotPyramidDataLabelsAnimationOptions {
  78548. /**
  78549. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  78550. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  78551. * inherits defer time from the series.animation.defer.
  78552. */
  78553. defer?: number;
  78554. }
  78555. /**
  78556. * (Highcharts) A pyramid series is a special type of funnel, without neck and
  78557. * reversed by default.
  78558. *
  78559. * In TypeScript the type option must always be set.
  78560. *
  78561. * Configuration options for the series are given in three levels:
  78562. *
  78563. * 1. Options for all series in a chart are defined in the plotOptions.series
  78564. * object.
  78565. *
  78566. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  78567. *
  78568. * 3. Options for one single series are given in the series instance array. (see
  78569. * online documentation for example)
  78570. */
  78571. export interface PlotPyramidOptions {
  78572. /**
  78573. * (Highcharts) Accessibility options for a series.
  78574. */
  78575. accessibility?: SeriesAccessibilityOptionsObject;
  78576. /**
  78577. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  78578. * rendered. If `true`, areas which don't correspond to a data point, are
  78579. * rendered as `null` points. If `false`, those areas are skipped.
  78580. */
  78581. allAreas?: boolean;
  78582. /**
  78583. * (Highcharts) Allow this series' points to be selected by clicking on the
  78584. * graphic (columns, point markers, pie slices, map areas etc).
  78585. *
  78586. * The selected points can be handled by point select and unselect events,
  78587. * or collectively by the getSelectedPoints function.
  78588. *
  78589. * And alternative way of selecting points is through dragging.
  78590. */
  78591. allowPointSelect?: boolean;
  78592. /**
  78593. * (Highcharts) Initial animation is by default disabled for the funnel
  78594. * chart.
  78595. */
  78596. animation?: (boolean|PlotPyramidAnimationOptions);
  78597. /**
  78598. * (Highcharts) The color of the border surrounding each slice. When `null`,
  78599. * the border takes the same color as the slice fill. This can be used
  78600. * together with a `borderWidth` to fill drawing gaps created by
  78601. * antialiazing artefacts in borderless pies.
  78602. *
  78603. * In styled mode, the border stroke is given in the `.highcharts-point`
  78604. * class.
  78605. */
  78606. borderColor?: (ColorString|GradientColorObject|PatternObject);
  78607. /**
  78608. * (Highcharts) The width of the border surrounding each slice.
  78609. *
  78610. * When setting the border width to 0, there may be small gaps between the
  78611. * slices due to SVG antialiasing artefacts. To work around this, keep the
  78612. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  78613. *
  78614. * In styled mode, the border stroke width is given in the
  78615. * `.highcharts-point` class.
  78616. */
  78617. borderWidth?: number;
  78618. /**
  78619. * (Highcharts) The center of the series. By default, it is centered in the
  78620. * middle of the plot area, so it fills the plot area height.
  78621. */
  78622. center?: Array<(number|string)>;
  78623. /**
  78624. * (Highcharts) An additional class name to apply to the series' graphical
  78625. * elements. This option does not replace default class names of the
  78626. * graphical element.
  78627. */
  78628. className?: string;
  78629. /**
  78630. * (Highcharts) Disable this option to allow series rendering in the whole
  78631. * plotting area.
  78632. *
  78633. * **Note:** Clipping should be always enabled when chart.zoomType is set
  78634. */
  78635. clip?: boolean;
  78636. /**
  78637. * (Highcharts) The color of the pie series. A pie series is represented as
  78638. * an empty circle if the total sum of its values is 0. Use this property to
  78639. * define the color of its border.
  78640. *
  78641. * In styled mode, the color can be defined by the colorIndex option. Also,
  78642. * the series color can be set with the `.highcharts-series`,
  78643. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  78644. * `.highcharts-series-{n}` class, or individual classes given by the
  78645. * `className` option.
  78646. */
  78647. color?: (ColorString|GradientColorObject|PatternObject);
  78648. /**
  78649. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  78650. * this number defines which colorAxis the particular series is connected
  78651. * to. It refers to either the axis id or the index of the axis in the
  78652. * colorAxis array, with 0 being the first. Set this option to false to
  78653. * prevent a series from connecting to the default color axis.
  78654. *
  78655. * Since v7.2.0 the option can also be an axis id or an axis index instead
  78656. * of a boolean flag.
  78657. */
  78658. colorAxis?: (boolean|number|string);
  78659. /**
  78660. * (Highcharts) Styled mode only. A specific color index to use for the
  78661. * series, so its graphic representations are given the class name
  78662. * `highcharts-color-{n}`.
  78663. */
  78664. colorIndex?: number;
  78665. /**
  78666. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  78667. * used to calculate point color if `colorAxis` is used. Requires to set
  78668. * `min` and `max` if some custom point property is used or if approximation
  78669. * for data grouping is set to `'sum'`.
  78670. */
  78671. colorKey?: string;
  78672. /**
  78673. * (Highcharts) A series specific or series type specific color set to use
  78674. * instead of the global colors.
  78675. */
  78676. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  78677. /**
  78678. * (Highstock) Compare the values of the series against the first non-null,
  78679. * non- zero value in the visible range. The y axis will show percentage or
  78680. * absolute change depending on whether `compare` is set to `"percent"` or
  78681. * `"value"`. When this is applied to multiple series, it allows comparing
  78682. * the development of the series against each other. Adds a `change` field
  78683. * to every point object.
  78684. */
  78685. compare?: string;
  78686. /**
  78687. * (Highstock) When compare is `percent`, this option dictates whether to
  78688. * use 0 or 100 as the base of comparison.
  78689. */
  78690. compareBase?: (0|100);
  78691. /**
  78692. * (Highstock) Defines if comparison should start from the first point
  78693. * within the visible range or should start from the first point **before**
  78694. * the range.
  78695. *
  78696. * In other words, this flag determines if first point within the visible
  78697. * range will have 0% (`compareStart=true`) or should have been already
  78698. * calculated according to the previous point (`compareStart=false`).
  78699. */
  78700. compareStart?: boolean;
  78701. /**
  78702. * (Gantt) Override Pathfinder connector options for a series. Requires
  78703. * Highcharts Gantt to be loaded.
  78704. */
  78705. connectors?: SeriesConnectorsOptionsObject;
  78706. /**
  78707. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  78708. * rounded to its nearest pixel in order to render sharp on screen. In some
  78709. * cases, when there are a lot of densely packed columns, this leads to
  78710. * visible difference in column widths or distance between columns. In these
  78711. * cases, setting `crisp` to `false` may look better, even though each
  78712. * column is rendered blurry.
  78713. */
  78714. crisp?: boolean;
  78715. /**
  78716. * (Highcharts) You can set the cursor to "pointer" if you have click events
  78717. * attached to the series, to signal to the user that the points and lines
  78718. * can be clicked.
  78719. *
  78720. * In styled mode, the series cursor can be set with the same classes as
  78721. * listed under series.color.
  78722. */
  78723. cursor?: (string|CursorValue);
  78724. /**
  78725. * (Highcharts) A reserved subspace to store options and values for
  78726. * customized functionality. Here you can add additional data for your own
  78727. * event callbacks and formatter callbacks.
  78728. */
  78729. custom?: Dictionary<any>;
  78730. /**
  78731. * (Highstock) Data grouping is the concept of sampling the data values into
  78732. * larger blocks in order to ease readability and increase performance of
  78733. * the JavaScript charts. Highcharts Stock by default applies data grouping
  78734. * when the points become closer than a certain pixel value, determined by
  78735. * the `groupPixelWidth` option.
  78736. *
  78737. * If data grouping is applied, the grouping information of grouped points
  78738. * can be read from the Point.dataGroup. If point options other than the
  78739. * data itself are set, for example `name` or `color` or custom properties,
  78740. * the grouping logic doesn't know how to group it. In this case the options
  78741. * of the first point instance are copied over to the group point. This can
  78742. * be altered through a custom `approximation` callback function.
  78743. */
  78744. dataGrouping?: DataGroupingOptionsObject;
  78745. /**
  78746. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  78747. * labels, appearing next to each data point.
  78748. *
  78749. * Since v6.2.0, multiple data labels can be applied to each single point by
  78750. * defining them as an array of configs.
  78751. *
  78752. * In styled mode, the data labels can be styled with the
  78753. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  78754. * (see example).
  78755. */
  78756. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  78757. /**
  78758. * (Highcharts) The thickness of a 3D pie.
  78759. */
  78760. depth?: number;
  78761. /**
  78762. * (Highcharts) A description of the series to add to the screen reader
  78763. * information about the series.
  78764. */
  78765. description?: string;
  78766. /**
  78767. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  78768. * This includes point tooltips and click events on graphs and points. For
  78769. * large datasets it improves performance.
  78770. */
  78771. enableMouseTracking?: boolean;
  78772. /**
  78773. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  78774. * right. Defaults to `startAngle` plus 360.
  78775. */
  78776. endAngle?: number;
  78777. /**
  78778. * (Highcharts) General event handlers for the series items. These event
  78779. * hooks can also be attached to the series at run time using the
  78780. * `Highcharts.addEvent` function.
  78781. */
  78782. events?: SeriesEventsOptionsObject;
  78783. /**
  78784. * (Highcharts) If the total sum of the pie's values is 0, the series is
  78785. * represented as an empty circle . The `fillColor` option defines the color
  78786. * of that circle. Use pie.borderWidth to set the border thickness.
  78787. */
  78788. fillColor?: (ColorString|GradientColorObject|PatternObject);
  78789. /**
  78790. * (Highstock) Defines when to display a gap in the graph, together with the
  78791. * gapUnit option.
  78792. *
  78793. * In case when `dataGrouping` is enabled, points can be grouped into a
  78794. * larger time span. This can make the grouped points to have a greater
  78795. * distance than the absolute value of `gapSize` property, which will result
  78796. * in disappearing graph completely. To prevent this situation the mentioned
  78797. * distance between grouped points is used instead of previously defined
  78798. * `gapSize`.
  78799. *
  78800. * In practice, this option is most often used to visualize gaps in time
  78801. * series. In a stock chart, intraday data is available for daytime hours,
  78802. * while gaps will appear in nights and weekends.
  78803. */
  78804. gapSize?: number;
  78805. /**
  78806. * (Highstock) Together with gapSize, this option defines where to draw gaps
  78807. * in the graph.
  78808. *
  78809. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  78810. * if the distance between two points is greater than 5 times that of the
  78811. * two closest points, the graph will be broken.
  78812. *
  78813. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  78814. * values, which on a datetime axis is milliseconds. This also applies to
  78815. * the navigator series that inherits gap options from the base series.
  78816. */
  78817. gapUnit?: OptionsGapUnitValue;
  78818. /**
  78819. * (Highcharts) The height of the funnel or pyramid. If it is a number it
  78820. * defines the pixel height, if it is a percentage string it is the
  78821. * percentage of the plot area height.
  78822. */
  78823. height?: (number|string);
  78824. /**
  78825. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  78826. * whether the series shall be redrawn as if the hidden point were `null`.
  78827. *
  78828. * The default value changed from `false` to `true` with Highcharts 3.0.
  78829. */
  78830. ignoreHiddenPoint?: boolean;
  78831. /**
  78832. * (Highcharts) When set to `false` will prevent the series data from being
  78833. * included in any form of data export.
  78834. *
  78835. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  78836. * `includeInCSVExport`.
  78837. */
  78838. includeInDataExport?: boolean;
  78839. /**
  78840. * (Highmaps) What property to join the `mapData` to the value data. For
  78841. * example, if joinBy is "code", the mapData items with a specific code is
  78842. * merged into the data with the same code. For maps loaded from GeoJSON,
  78843. * the keys may be held in each point's `properties` object.
  78844. *
  78845. * The joinBy option can also be an array of two values, where the first
  78846. * points to a key in the `mapData`, and the second points to another key in
  78847. * the `data`.
  78848. *
  78849. * When joinBy is `null`, the map items are joined by their position in the
  78850. * array, which performs much better in maps with many data points. This is
  78851. * the recommended option if you are printing more than a thousand data
  78852. * points and have a backend that can preprocess the data into a parallel
  78853. * array of the mapData.
  78854. */
  78855. joinBy?: (string|Array<string>);
  78856. /**
  78857. * (Highcharts) An array specifying which option maps to which key in the
  78858. * data point array. This makes it convenient to work with unstructured data
  78859. * arrays from different sources.
  78860. */
  78861. keys?: Array<string>;
  78862. /**
  78863. * (Highstock) The line marks the last price from all points.
  78864. */
  78865. lastPrice?: SeriesLastPriceOptionsObject;
  78866. /**
  78867. * (Highstock) The line marks the last price from visible range of points.
  78868. */
  78869. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  78870. /**
  78871. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  78872. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  78873. * the ends and bends.
  78874. */
  78875. linecap?: SeriesLinecapValue;
  78876. /**
  78877. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  78878. * Additionally, the value can be ":previous" to link to the previous
  78879. * series. When two series are linked, only the first one appears in the
  78880. * legend. Toggling the visibility of this also toggles the linked series.
  78881. *
  78882. * If master series uses data sorting and linked series does not have its
  78883. * own sorting definition, the linked series will be sorted in the same
  78884. * order as the master one.
  78885. */
  78886. linkedTo?: string;
  78887. /**
  78888. * (Highcharts) The minimum size for a pie in response to auto margins. The
  78889. * pie will try to shrink to make room for data labels in side the plot
  78890. * area, but only to this size.
  78891. */
  78892. minSize?: (number|string);
  78893. /**
  78894. * (Highstock) Options for the corresponding navigator series if
  78895. * `showInNavigator` is `true` for this series. Available options are the
  78896. * same as any series, documented at plotOptions and series.
  78897. *
  78898. * These options are merged with options in navigator.series, and will take
  78899. * precedence if the same option is defined both places.
  78900. */
  78901. navigatorOptions?: PlotSeriesOptions;
  78902. /**
  78903. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  78904. * funnel, which shares the same layout logic.
  78905. */
  78906. neckHeight?: string;
  78907. /**
  78908. * (Highcharts) The pyramid neck width is zero by default, as opposed to the
  78909. * funnel, which shares the same layout logic.
  78910. */
  78911. neckWidth?: string;
  78912. /**
  78913. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  78914. * dataLabels.
  78915. */
  78916. opacity?: number;
  78917. /**
  78918. * (Highcharts) Properties for each single point.
  78919. */
  78920. point?: PlotSeriesPointOptions;
  78921. /**
  78922. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  78923. * an individual series. Overrides the chart wide configuration.
  78924. */
  78925. pointDescriptionFormatter?: Function;
  78926. /**
  78927. * (Highstock) The width of each point on the x axis. For example in a
  78928. * column chart with one value each day, the pointRange would be 1 day (= 24
  78929. * * 3600
  78930. *
  78931. * * 1000 milliseconds). This is normally computed automatically, but this
  78932. * option can be used to override the automatic value.
  78933. */
  78934. pointRange?: number;
  78935. /**
  78936. * (Highcharts) The pyramid is reversed by default, as opposed to the
  78937. * funnel, which shares the layout engine, and is not reversed.
  78938. */
  78939. reversed?: boolean;
  78940. /**
  78941. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  78942. * true, the checkbox next to the series name in the legend will be checked
  78943. * for a selected series.
  78944. */
  78945. selected?: boolean;
  78946. /**
  78947. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  78948. * the shadow can be an object configuration containing `color`, `offsetX`,
  78949. * `offsetY`, `opacity` and `width`.
  78950. */
  78951. shadow?: (boolean|ShadowOptionsObject);
  78952. /**
  78953. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  78954. * allow selecting the series. The state of the checkbox is determined by
  78955. * the `selected` option.
  78956. */
  78957. showCheckbox?: boolean;
  78958. /**
  78959. * (Highcharts) Whether to display this particular series or series type in
  78960. * the legend. Since 2.1, pies are not shown in the legend by default.
  78961. */
  78962. showInLegend?: boolean;
  78963. /**
  78964. * (Highstock) Whether or not to show the series in the navigator. Takes
  78965. * precedence over navigator.baseSeries if defined.
  78966. */
  78967. showInNavigator?: boolean;
  78968. /**
  78969. * (Highcharts) If set to `true`, the accessibility module will skip past
  78970. * the points in this series for keyboard navigation.
  78971. */
  78972. skipKeyboardNavigation?: boolean;
  78973. /**
  78974. * (Highcharts) If a point is sliced, moved out from the center, how many
  78975. * pixels should it be moved?.
  78976. */
  78977. slicedOffset?: number;
  78978. /**
  78979. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  78980. * and 90 right.
  78981. */
  78982. startAngle?: number;
  78983. /**
  78984. * (Highcharts) Options for the series states.
  78985. */
  78986. states?: SeriesStatesOptionsObject;
  78987. /**
  78988. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  78989. * event on a series isn't triggered until the mouse moves over another
  78990. * series, or out of the plot area. When false, the `mouseOut` event on a
  78991. * series is triggered when the mouse leaves the area around the series'
  78992. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  78993. * false and `tooltip.shared` is false, the tooltip will be hidden when
  78994. * moving the mouse between series.
  78995. */
  78996. stickyTracking?: boolean;
  78997. /**
  78998. * (Highcharts) A configuration object for the tooltip rendering of each
  78999. * single series. Properties are inherited from tooltip, but only the
  79000. * following properties can be defined on a series level.
  79001. */
  79002. tooltip?: SeriesTooltipOptionsObject;
  79003. /**
  79004. * (Highstock) The parameter allows setting line series type and use OHLC
  79005. * indicators. Data in OHLC format is required.
  79006. */
  79007. useOhlcData?: boolean;
  79008. /**
  79009. * (Highcharts) Set the initial visibility of the series.
  79010. */
  79011. visible?: boolean;
  79012. /**
  79013. * (Highcharts) The width of the funnel compared to the width of the plot
  79014. * area, or the pixel width if it is a number.
  79015. */
  79016. width?: (number|string);
  79017. /**
  79018. * (Highmaps) Define the z index of the series.
  79019. */
  79020. zIndex?: number;
  79021. }
  79022. /**
  79023. * (Highstock) Enable or disable the initial animation when a series is
  79024. * displayed. The animation can also be set as a configuration object. Please
  79025. * note that this option only applies to the initial animation of the series
  79026. * itself. For other animations, see chart.animation and the animation parameter
  79027. * under the API methods. The following properties are supported:
  79028. *
  79029. * - `defer`: The animation delay time in milliseconds.
  79030. *
  79031. * - `duration`: The duration of the animation in milliseconds.
  79032. *
  79033. * - `easing`: Can be a string reference to an easing function set on the `Math`
  79034. * object or a function. See the _Custom easing function_ demo below.
  79035. *
  79036. * Due to poor performance, animation is disabled in old IE browsers for several
  79037. * chart types.
  79038. */
  79039. export interface PlotRocAnimationOptions {
  79040. defer?: number;
  79041. }
  79042. /**
  79043. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79044. * animation when a series is displayed for the `dataLabels`. The animation can
  79045. * also be set as a configuration object. Please note that this option only
  79046. * applies to the initial animation. For other animations, see chart.animation
  79047. * and the animation parameter under the API methods. The following properties
  79048. * are supported:
  79049. *
  79050. * - `defer`: The animation delay time in milliseconds.
  79051. */
  79052. export interface PlotRocDataLabelsAnimationOptions {
  79053. /**
  79054. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  79055. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  79056. * inherits defer time from the series.animation.defer.
  79057. */
  79058. defer?: number;
  79059. }
  79060. /**
  79061. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  79062. * appearing next to each data point.
  79063. *
  79064. * Since v6.2.0, multiple data labels can be applied to each single point by
  79065. * defining them as an array of configs.
  79066. *
  79067. * In styled mode, the data labels can be styled with the
  79068. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  79069. * example).
  79070. */
  79071. export interface PlotRocDataLabelsOptions {
  79072. /**
  79073. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  79074. * compared to the point. If `right`, the right side of the label should be
  79075. * touching the point. For points with an extent, like columns, the
  79076. * alignments also dictates how to align it inside the box, as given with
  79077. * the inside option. Can be one of `left`, `center` or `right`.
  79078. */
  79079. align?: (AlignValue|null);
  79080. /**
  79081. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  79082. * overlap. To make the labels less sensitive for overlapping, the
  79083. * dataLabels.padding can be set to 0.
  79084. */
  79085. allowOverlap?: boolean;
  79086. /**
  79087. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79088. * animation when a series is displayed for the `dataLabels`. The animation
  79089. * can also be set as a configuration object. Please note that this option
  79090. * only applies to the initial animation. For other animations, see
  79091. * chart.animation and the animation parameter under the API methods. The
  79092. * following properties are supported:
  79093. *
  79094. * - `defer`: The animation delay time in milliseconds.
  79095. */
  79096. animation?: (boolean|PlotRocDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  79097. /**
  79098. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  79099. * for the data label.
  79100. */
  79101. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  79102. /**
  79103. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  79104. * label. Defaults to `undefined`.
  79105. */
  79106. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79107. /**
  79108. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  79109. * the data label.
  79110. */
  79111. borderRadius?: number;
  79112. /**
  79113. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  79114. * the data label.
  79115. */
  79116. borderWidth?: number;
  79117. /**
  79118. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  79119. * Particularly in styled mode, this can be used to give each series' or
  79120. * point's data label unique styling. In addition to this option, a default
  79121. * color class name is added so that we can give the labels a contrast text
  79122. * shadow.
  79123. */
  79124. className?: string;
  79125. /**
  79126. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  79127. * labels. Defaults to `undefined`. For certain series types, like column or
  79128. * map, the data labels can be drawn inside the points. In this case the
  79129. * data label will be drawn with maximum contrast by default. Additionally,
  79130. * it will be given a `text-outline` style with the opposite color, to
  79131. * further increase the contrast. This can be overridden by setting the
  79132. * `text-outline` style to `none` in the `dataLabels.style` option.
  79133. */
  79134. color?: (ColorString|GradientColorObject|PatternObject);
  79135. /**
  79136. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  79137. * are outside the plot area. By default, the data label is moved inside the
  79138. * plot area according to the overflow option.
  79139. */
  79140. crop?: boolean;
  79141. /**
  79142. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  79143. * labels until the initial series animation has finished. Setting to
  79144. * `false` renders the data label immediately. If set to `true` inherits the
  79145. * defer time set in plotOptions.series.animation. If set to a number, a
  79146. * defer time is specified in milliseconds.
  79147. */
  79148. defer?: (boolean|number);
  79149. /**
  79150. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  79151. * labels.
  79152. */
  79153. enabled?: boolean;
  79154. /**
  79155. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  79156. * of which data labels to display. The declarative filter is designed for
  79157. * use when callback functions are not available, like when the chart
  79158. * options require a pure JSON structure or for use with graphical editors.
  79159. * For programmatic control, use the `formatter` instead, and return
  79160. * `undefined` to disable a single data label.
  79161. */
  79162. filter?: DataLabelsFilterOptionsObject;
  79163. /**
  79164. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  79165. * label. Available variables are the same as for `formatter`.
  79166. */
  79167. format?: string;
  79168. /**
  79169. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  79170. * format the data label. Note that if a `format` is defined, the format
  79171. * takes precedence and the formatter is ignored.
  79172. */
  79173. formatter?: DataLabelsFormatterCallbackFunction;
  79174. /**
  79175. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  79176. * columns or map areas, whether to align the data label inside the box or
  79177. * to the actual value point. Defaults to `false` in most cases, `true` in
  79178. * stacked columns.
  79179. */
  79180. inside?: boolean;
  79181. /**
  79182. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  79183. * of null. Works analogously to format. `nullFormat` can be applied only to
  79184. * series which support displaying null points.
  79185. */
  79186. nullFormat?: (boolean|string);
  79187. /**
  79188. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  79189. * that defines formatting for points with the value of null. Works
  79190. * analogously to formatter. `nullPointFormatter` can be applied only to
  79191. * series which support displaying null points.
  79192. */
  79193. nullFormatter?: DataLabelsFormatterCallbackFunction;
  79194. /**
  79195. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  79196. * flow outside the plot area. The default is `"justify"`, which aligns them
  79197. * inside the plot area. For columns and bars, this means it will be moved
  79198. * inside the bar. To display data labels outside the plot area, set `crop`
  79199. * to `false` and `overflow` to `"allow"`.
  79200. */
  79201. overflow?: DataLabelsOverflowValue;
  79202. /**
  79203. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  79204. * the `backgroundColor` is set, this is the padding within the box.
  79205. */
  79206. padding?: number;
  79207. /**
  79208. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  79209. * points. If `center` alignment is not possible, it defaults to `right`.
  79210. */
  79211. position?: AlignValue;
  79212. /**
  79213. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  79214. * that due to a more complex structure, backgrounds, borders and padding
  79215. * will be lost on a rotated data label.
  79216. */
  79217. rotation?: number;
  79218. /**
  79219. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  79220. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  79221. * an object configuration containing `color`, `offsetX`, `offsetY`,
  79222. * `opacity` and `width`.
  79223. */
  79224. shadow?: (boolean|ShadowOptionsObject);
  79225. /**
  79226. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  79227. * the border around the label. Symbols are predefined functions on the
  79228. * Renderer object.
  79229. */
  79230. shape?: string;
  79231. /**
  79232. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  79233. * default `color` setting is `"contrast"`, which is a pseudo color that
  79234. * Highcharts picks up and applies the maximum contrast to the underlying
  79235. * point item, for example the bar in a bar chart.
  79236. *
  79237. * The `textOutline` is a pseudo property that applies an outline of the
  79238. * given width with the given color, which by default is the maximum
  79239. * contrast to the text. So a bright text color will result in a black text
  79240. * outline for maximum readability on a mixed background. In some cases,
  79241. * especially with grayscale text, the text outline doesn't work well, in
  79242. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  79243. * is true, the `textOutline` will not be picked up. In this, case, the same
  79244. * effect can be acheived through the `text-shadow` CSS property.
  79245. *
  79246. * For some series types, where each point has an extent, like for example
  79247. * tree maps, the data label may overflow the point. There are two
  79248. * strategies for handling overflow. By default, the text will wrap to
  79249. * multiple lines. The other strategy is to set `style.textOverflow` to
  79250. * `ellipsis`, which will keep the text on one line plus it will break
  79251. * inside long words.
  79252. */
  79253. style?: CSSObject;
  79254. /**
  79255. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  79256. * should follow marker's shape. Border and background are disabled for a
  79257. * label that follows a path.
  79258. *
  79259. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  79260. * to true will disable this option.
  79261. */
  79262. textPath?: DataLabelsTextPathOptionsObject;
  79263. /**
  79264. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  79265. * the labels.
  79266. */
  79267. useHTML?: boolean;
  79268. /**
  79269. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  79270. * label. Can be one of `top`, `middle` or `bottom`. The default value
  79271. * depends on the data, for instance in a column chart, the label is above
  79272. * positive values and below negative values.
  79273. */
  79274. verticalAlign?: (VerticalAlignValue|null);
  79275. /**
  79276. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  79277. * label relative to the point in pixels.
  79278. */
  79279. x?: number;
  79280. /**
  79281. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  79282. * label relative to the point in pixels.
  79283. */
  79284. y?: number;
  79285. /**
  79286. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  79287. * The default Z index puts it above the series. Use a Z index of 2 to
  79288. * display it behind the series.
  79289. */
  79290. z?: number;
  79291. }
  79292. /**
  79293. * (Highcharts, Highstock) Options for the series data sorting.
  79294. */
  79295. export interface PlotRocDataSortingOptions {
  79296. /**
  79297. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  79298. * Use xAxis.reversed to change the sorting order.
  79299. */
  79300. enabled?: boolean;
  79301. /**
  79302. * (Highcharts, Highstock) Whether to allow matching points by name in an
  79303. * update. If this option is disabled, points will be matched by order.
  79304. */
  79305. matchByName?: boolean;
  79306. /**
  79307. * (Highcharts, Highstock) Determines what data value should be used to sort
  79308. * by.
  79309. */
  79310. sortKey?: string;
  79311. }
  79312. /**
  79313. * (Highstock) Rate of change indicator (ROC). The indicator value for each
  79314. * point is defined as:
  79315. *
  79316. * `(C - Cn) / Cn * 100`
  79317. *
  79318. * where: `C` is the close value of the point of the same x in the linked series
  79319. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  79320. * period.
  79321. *
  79322. * This series requires `linkedTo` option to be set.
  79323. *
  79324. * In TypeScript the type option must always be set.
  79325. *
  79326. * Configuration options for the series are given in three levels:
  79327. *
  79328. * 1. Options for all series in a chart are defined in the plotOptions.series
  79329. * object.
  79330. *
  79331. * 2. Options for all `roc` series are defined in plotOptions.roc.
  79332. *
  79333. * 3. Options for one single series are given in the series instance array. (see
  79334. * online documentation for example)
  79335. */
  79336. export interface PlotRocOptions {
  79337. /**
  79338. * (Highstock) Accessibility options for a series.
  79339. */
  79340. accessibility?: SeriesAccessibilityOptionsObject;
  79341. /**
  79342. * (Highstock) Allow this series' points to be selected by clicking on the
  79343. * graphic (columns, point markers, pie slices, map areas etc).
  79344. *
  79345. * The selected points can be handled by point select and unselect events,
  79346. * or collectively by the getSelectedPoints function.
  79347. *
  79348. * And alternative way of selecting points is through dragging.
  79349. */
  79350. allowPointSelect?: boolean;
  79351. /**
  79352. * (Highstock) Enable or disable the initial animation when a series is
  79353. * displayed. The animation can also be set as a configuration object.
  79354. * Please note that this option only applies to the initial animation of the
  79355. * series itself. For other animations, see chart.animation and the
  79356. * animation parameter under the API methods. The following properties are
  79357. * supported:
  79358. *
  79359. * - `defer`: The animation delay time in milliseconds.
  79360. *
  79361. * - `duration`: The duration of the animation in milliseconds.
  79362. *
  79363. * - `easing`: Can be a string reference to an easing function set on the
  79364. * `Math` object or a function. See the _Custom easing function_ demo below.
  79365. *
  79366. * Due to poor performance, animation is disabled in old IE browsers for
  79367. * several chart types.
  79368. */
  79369. animation?: (boolean|PlotRocAnimationOptions|Partial<AnimationOptionsObject>);
  79370. /**
  79371. * (Highstock) For some series, there is a limit that shuts down initial
  79372. * animation by default when the total number of points in the chart is too
  79373. * high. For example, for a column chart and its derivatives, animation does
  79374. * not run if there is more than 250 points totally. To disable this cap,
  79375. * set `animationLimit` to `Infinity`.
  79376. */
  79377. animationLimit?: number;
  79378. /**
  79379. * (Highstock) Sets the color blending in the boost module.
  79380. */
  79381. boostBlending?: OptionsBoostBlendingValue;
  79382. /**
  79383. * (Highstock) Set the point threshold for when a series should enter boost
  79384. * mode.
  79385. *
  79386. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  79387. * there are 2000 or more points in the series.
  79388. *
  79389. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  79390. * it to 1 will force boosting.
  79391. *
  79392. * Note that the cropThreshold also affects this setting. When zooming in on
  79393. * a series that has fewer points than the `cropThreshold`, all points are
  79394. * rendered although outside the visible plot area, and the `boostThreshold`
  79395. * won't take effect.
  79396. */
  79397. boostThreshold?: number;
  79398. /**
  79399. * (Highmaps) The border color of the map areas.
  79400. *
  79401. * In styled mode, the border stroke is given in the `.highcharts-point`
  79402. * class.
  79403. */
  79404. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79405. /**
  79406. * (Highmaps) The border width of each map area.
  79407. *
  79408. * In styled mode, the border stroke width is given in the
  79409. * `.highcharts-point` class.
  79410. */
  79411. borderWidth?: number;
  79412. /**
  79413. * (Highstock) An additional class name to apply to the series' graphical
  79414. * elements. This option does not replace default class names of the
  79415. * graphical element.
  79416. */
  79417. className?: string;
  79418. /**
  79419. * (Highstock) Disable this option to allow series rendering in the whole
  79420. * plotting area.
  79421. *
  79422. * **Note:** Clipping should be always enabled when chart.zoomType is set
  79423. */
  79424. clip?: boolean;
  79425. /**
  79426. * (Highstock) The main color of the series. In line type series it applies
  79427. * to the line and the point markers unless otherwise specified. In bar type
  79428. * series it applies to the bars unless a color is specified per point. The
  79429. * default value is pulled from the `options.colors` array.
  79430. *
  79431. * In styled mode, the color can be defined by the colorIndex option. Also,
  79432. * the series color can be set with the `.highcharts-series`,
  79433. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  79434. * `.highcharts-series-{n}` class, or individual classes given by the
  79435. * `className` option.
  79436. */
  79437. color?: (ColorString|GradientColorObject|PatternObject);
  79438. /**
  79439. * (Highstock) Styled mode only. A specific color index to use for the
  79440. * series, so its graphic representations are given the class name
  79441. * `highcharts-color-{n}`.
  79442. */
  79443. colorIndex?: number;
  79444. /**
  79445. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  79446. * used to calculate point color if `colorAxis` is used. Requires to set
  79447. * `min` and `max` if some custom point property is used or if approximation
  79448. * for data grouping is set to `'sum'`.
  79449. */
  79450. colorKey?: string;
  79451. /**
  79452. * (Highstock) Compare the values of the series against the first non-null,
  79453. * non- zero value in the visible range. The y axis will show percentage or
  79454. * absolute change depending on whether `compare` is set to `"percent"` or
  79455. * `"value"`. When this is applied to multiple series, it allows comparing
  79456. * the development of the series against each other. Adds a `change` field
  79457. * to every point object.
  79458. */
  79459. compare?: string;
  79460. /**
  79461. * (Highstock) When compare is `percent`, this option dictates whether to
  79462. * use 0 or 100 as the base of comparison.
  79463. */
  79464. compareBase?: (0|100);
  79465. /**
  79466. * (Highstock) Defines if comparison should start from the first point
  79467. * within the visible range or should start from the first point **before**
  79468. * the range.
  79469. *
  79470. * In other words, this flag determines if first point within the visible
  79471. * range will have 0% (`compareStart=true`) or should have been already
  79472. * calculated according to the previous point (`compareStart=false`).
  79473. */
  79474. compareStart?: boolean;
  79475. /**
  79476. * (Highstock) Whether to compare indicator to the main series values or
  79477. * indicator values.
  79478. */
  79479. compareToMain?: boolean;
  79480. /**
  79481. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  79482. * series plot across the extremes.
  79483. */
  79484. connectEnds?: boolean;
  79485. /**
  79486. * (Highcharts, Highstock) Whether to connect a graph line across null
  79487. * points, or render a gap between the two points on either side of the
  79488. * null.
  79489. */
  79490. connectNulls?: boolean;
  79491. /**
  79492. * (Gantt) Override Pathfinder connector options for a series. Requires
  79493. * Highcharts Gantt to be loaded.
  79494. */
  79495. connectors?: SeriesConnectorsOptionsObject;
  79496. /**
  79497. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  79498. * rounded to its nearest pixel in order to render sharp on screen. In some
  79499. * cases, when there are a lot of densely packed columns, this leads to
  79500. * visible difference in column widths or distance between columns. In these
  79501. * cases, setting `crisp` to `false` may look better, even though each
  79502. * column is rendered blurry.
  79503. */
  79504. crisp?: boolean;
  79505. /**
  79506. * (Highcharts, Highstock) When the series contains less points than the
  79507. * crop threshold, all points are drawn, even if the points fall outside the
  79508. * visible plot area at the current zoom. The advantage of drawing all
  79509. * points (including markers and columns), is that animation is performed on
  79510. * updates. On the other hand, when the series contains more points than the
  79511. * crop threshold, the series data is cropped to only contain points that
  79512. * fall within the plot area. The advantage of cropping away invisible
  79513. * points is to increase performance on large series.
  79514. */
  79515. cropThreshold?: number;
  79516. /**
  79517. * (Highstock) You can set the cursor to "pointer" if you have click events
  79518. * attached to the series, to signal to the user that the points and lines
  79519. * can be clicked.
  79520. *
  79521. * In styled mode, the series cursor can be set with the same classes as
  79522. * listed under series.color.
  79523. */
  79524. cursor?: (string|CursorValue);
  79525. /**
  79526. * (Highstock) A reserved subspace to store options and values for
  79527. * customized functionality. Here you can add additional data for your own
  79528. * event callbacks and formatter callbacks.
  79529. */
  79530. custom?: Dictionary<any>;
  79531. /**
  79532. * (Highstock) Name of the dash style to use for the graph, or for some
  79533. * series types the outline of each shape.
  79534. *
  79535. * In styled mode, the stroke dash-array can be set with the same classes as
  79536. * listed under series.color.
  79537. */
  79538. dashStyle?: DashStyleValue;
  79539. /**
  79540. * (Highstock) Data grouping is the concept of sampling the data values into
  79541. * larger blocks in order to ease readability and increase performance of
  79542. * the JavaScript charts. Highcharts Stock by default applies data grouping
  79543. * when the points become closer than a certain pixel value, determined by
  79544. * the `groupPixelWidth` option.
  79545. *
  79546. * If data grouping is applied, the grouping information of grouped points
  79547. * can be read from the Point.dataGroup. If point options other than the
  79548. * data itself are set, for example `name` or `color` or custom properties,
  79549. * the grouping logic doesn't know how to group it. In this case the options
  79550. * of the first point instance are copied over to the group point. This can
  79551. * be altered through a custom `approximation` callback function.
  79552. */
  79553. dataGrouping?: DataGroupingOptionsObject;
  79554. /**
  79555. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  79556. * labels, appearing next to each data point.
  79557. *
  79558. * Since v6.2.0, multiple data labels can be applied to each single point by
  79559. * defining them as an array of configs.
  79560. *
  79561. * In styled mode, the data labels can be styled with the
  79562. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  79563. * (see example).
  79564. */
  79565. dataLabels?: (PlotRocDataLabelsOptions|Array<PlotRocDataLabelsOptions>);
  79566. /**
  79567. * (Highcharts, Highstock) Options for the series data sorting.
  79568. */
  79569. dataSorting?: (DataSortingOptionsObject|PlotRocDataSortingOptions);
  79570. /**
  79571. * (Highstock) A description of the series to add to the screen reader
  79572. * information about the series.
  79573. */
  79574. description?: string;
  79575. /**
  79576. * (Highstock) Enable or disable the mouse tracking for a specific series.
  79577. * This includes point tooltips and click events on graphs and points. For
  79578. * large datasets it improves performance.
  79579. */
  79580. enableMouseTracking?: boolean;
  79581. /**
  79582. * (Highstock) General event handlers for the series items. These event
  79583. * hooks can also be attached to the series at run time using the
  79584. * `Highcharts.addEvent` function.
  79585. */
  79586. events?: SeriesEventsOptionsObject;
  79587. /**
  79588. * (Highstock) Determines whether the series should look for the nearest
  79589. * point in both dimensions or just the x-dimension when hovering the
  79590. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  79591. * series. If the data has duplicate x-values, it is recommended to set this
  79592. * to `'xy'` to allow hovering over all points.
  79593. *
  79594. * Applies only to series types using nearest neighbor search (not direct
  79595. * hover) for tooltip.
  79596. */
  79597. findNearestPointBy?: OptionsFindNearestPointByValue;
  79598. /**
  79599. * (Highstock) Defines when to display a gap in the graph, together with the
  79600. * gapUnit option.
  79601. *
  79602. * In case when `dataGrouping` is enabled, points can be grouped into a
  79603. * larger time span. This can make the grouped points to have a greater
  79604. * distance than the absolute value of `gapSize` property, which will result
  79605. * in disappearing graph completely. To prevent this situation the mentioned
  79606. * distance between grouped points is used instead of previously defined
  79607. * `gapSize`.
  79608. *
  79609. * In practice, this option is most often used to visualize gaps in time
  79610. * series. In a stock chart, intraday data is available for daytime hours,
  79611. * while gaps will appear in nights and weekends.
  79612. */
  79613. gapSize?: number;
  79614. /**
  79615. * (Highstock) Together with gapSize, this option defines where to draw gaps
  79616. * in the graph.
  79617. *
  79618. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  79619. * if the distance between two points is greater than 5 times that of the
  79620. * two closest points, the graph will be broken.
  79621. *
  79622. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  79623. * values, which on a datetime axis is milliseconds. This also applies to
  79624. * the navigator series that inherits gap options from the base series.
  79625. */
  79626. gapUnit?: OptionsGapUnitValue;
  79627. /**
  79628. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  79629. * chart width or only the zoomed area when zooming in on parts of the X
  79630. * axis. By default, the Y axis adjusts to the min and max of the visible
  79631. * data. Cartesian series only.
  79632. */
  79633. getExtremesFromAll?: boolean;
  79634. /**
  79635. * (Highstock) When set to `false` will prevent the series data from being
  79636. * included in any form of data export.
  79637. *
  79638. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  79639. * `includeInCSVExport`.
  79640. */
  79641. includeInDataExport?: boolean;
  79642. /**
  79643. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  79644. * series as possible in a natural way, seeking to avoid other series. The
  79645. * goal of this feature is to make the chart more easily readable, like if a
  79646. * human designer placed the labels in the optimal position.
  79647. *
  79648. * The series labels currently work with series types having a `graph` or an
  79649. * `area`.
  79650. */
  79651. label?: SeriesLabelOptionsObject;
  79652. /**
  79653. * (Highstock) The line marks the last price from all points.
  79654. */
  79655. lastPrice?: SeriesLastPriceOptionsObject;
  79656. /**
  79657. * (Highstock) The line marks the last price from visible range of points.
  79658. */
  79659. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  79660. /**
  79661. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  79662. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  79663. * the ends and bends.
  79664. */
  79665. linecap?: SeriesLinecapValue;
  79666. /**
  79667. * (Highcharts, Highstock) Pixel width of the graph line.
  79668. */
  79669. lineWidth?: number;
  79670. /**
  79671. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  79672. * based on. Required for this indicator.
  79673. */
  79674. linkedTo?: string;
  79675. /**
  79676. * (Highstock) Options for the point markers of line-like series. Properties
  79677. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  79678. * appearance of the markers. Other series types, like column series, don't
  79679. * have markers, but have visual options on the series level instead.
  79680. *
  79681. * In styled mode, the markers can be styled with the `.highcharts-point`,
  79682. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  79683. */
  79684. marker?: PointMarkerOptionsObject;
  79685. /**
  79686. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  79687. * If not set, it will be based on a technical indicator type and default
  79688. * params.
  79689. */
  79690. name?: string;
  79691. /**
  79692. * (Highstock) The color for the parts of the graph or points that are below
  79693. * the threshold. Note that `zones` takes precedence over the negative
  79694. * color. Using `negativeColor` is equivalent to applying a zone with value
  79695. * of 0.
  79696. */
  79697. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  79698. /**
  79699. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  79700. * dataLabels.
  79701. */
  79702. opacity?: number;
  79703. /**
  79704. * (Highstock) Paramters used in calculation of regression series' points.
  79705. */
  79706. params?: PlotRocParamsOptions;
  79707. /**
  79708. * (Highstock) Properties for each single point.
  79709. */
  79710. point?: PlotSeriesPointOptions;
  79711. /**
  79712. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  79713. * individual series. Overrides the chart wide configuration.
  79714. */
  79715. pointDescriptionFormatter?: Function;
  79716. /**
  79717. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  79718. * true, the checkbox next to the series name in the legend will be checked
  79719. * for a selected series.
  79720. */
  79721. selected?: boolean;
  79722. /**
  79723. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  79724. * the shadow can be an object configuration containing `color`, `offsetX`,
  79725. * `offsetY`, `opacity` and `width`.
  79726. */
  79727. shadow?: (boolean|ShadowOptionsObject);
  79728. /**
  79729. * (Highstock) If true, a checkbox is displayed next to the legend item to
  79730. * allow selecting the series. The state of the checkbox is determined by
  79731. * the `selected` option.
  79732. */
  79733. showCheckbox?: boolean;
  79734. /**
  79735. * (Highstock) Whether to display this particular series or series type in
  79736. * the legend. Standalone series are shown in legend by default, and linked
  79737. * series are not. Since v7.2.0 it is possible to show series that use
  79738. * colorAxis by setting this option to `true`.
  79739. */
  79740. showInLegend?: boolean;
  79741. /**
  79742. * (Highstock) If set to `true`, the accessibility module will skip past the
  79743. * points in this series for keyboard navigation.
  79744. */
  79745. skipKeyboardNavigation?: boolean;
  79746. /**
  79747. * (Highcharts, Highstock) When this is true, the series will not cause the
  79748. * Y axis to cross the zero plane (or threshold option) unless the data
  79749. * actually crosses the plane.
  79750. *
  79751. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  79752. * make the Y axis show negative values according to the `minPadding`
  79753. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  79754. */
  79755. softThreshold?: boolean;
  79756. states?: SeriesStatesOptionsObject;
  79757. /**
  79758. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  79759. * values are `left`, `center` and `right`.
  79760. */
  79761. step?: OptionsStepValue;
  79762. /**
  79763. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  79764. * event on a series isn't triggered until the mouse moves over another
  79765. * series, or out of the plot area. When false, the `mouseOut` event on a
  79766. * series is triggered when the mouse leaves the area around the series'
  79767. * graph or markers. This also implies the tooltip when not shared. When
  79768. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  79769. * be hidden when moving the mouse between series. Defaults to true for line
  79770. * and area type series, but to false for columns, pies etc.
  79771. *
  79772. * **Note:** The boost module will force this option because of technical
  79773. * limitations.
  79774. */
  79775. stickyTracking?: boolean;
  79776. /**
  79777. * (Highcharts, Highstock) The threshold, also called zero level or base
  79778. * level. For line type series this is only used in conjunction with
  79779. * negativeColor.
  79780. */
  79781. threshold?: (number|null);
  79782. /**
  79783. * (Highstock) A configuration object for the tooltip rendering of each
  79784. * single series. Properties are inherited from tooltip, but only the
  79785. * following properties can be defined on a series level.
  79786. */
  79787. tooltip?: SeriesTooltipOptionsObject;
  79788. /**
  79789. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  79790. * is longer than this, only one dimensional arrays of numbers, or two
  79791. * dimensional arrays with x and y values are allowed. Also, only the first
  79792. * point is tested, and the rest are assumed to be the same format. This
  79793. * saves expensive data checking and indexing in long series. Set it to `0`
  79794. * disable.
  79795. *
  79796. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  79797. * two dimensional arrays are allowed.
  79798. */
  79799. turboThreshold?: number;
  79800. /**
  79801. * (Highstock) Set the initial visibility of the series.
  79802. */
  79803. visible?: boolean;
  79804. /**
  79805. * (Highmaps) Define the z index of the series.
  79806. */
  79807. zIndex?: number;
  79808. /**
  79809. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  79810. */
  79811. zoneAxis?: string;
  79812. /**
  79813. * (Highcharts, Highstock) An array defining zones within a series. Zones
  79814. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  79815. * the `zoneAxis` option. The zone definitions have to be in ascending order
  79816. * regarding to the value.
  79817. *
  79818. * In styled mode, the color zones are styled with the
  79819. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  79820. * option (view live demo).
  79821. */
  79822. zones?: Array<SeriesZonesOptionsObject>;
  79823. }
  79824. /**
  79825. * (Highstock) Paramters used in calculation of regression series' points.
  79826. */
  79827. export interface PlotRocParamsOptions {
  79828. /**
  79829. * (Highstock) The point index which indicator calculations will base. For
  79830. * example using OHLC data, index=2 means the indicator will be calculated
  79831. * using Low values.
  79832. */
  79833. index?: number;
  79834. /**
  79835. * (Highstock) The base period for indicator calculations. This is the
  79836. * number of data points which are taken into account for the indicator
  79837. * calculations.
  79838. */
  79839. period?: number;
  79840. }
  79841. /**
  79842. * (Highstock) Enable or disable the initial animation when a series is
  79843. * displayed. The animation can also be set as a configuration object. Please
  79844. * note that this option only applies to the initial animation of the series
  79845. * itself. For other animations, see chart.animation and the animation parameter
  79846. * under the API methods. The following properties are supported:
  79847. *
  79848. * - `defer`: The animation delay time in milliseconds.
  79849. *
  79850. * - `duration`: The duration of the animation in milliseconds.
  79851. *
  79852. * - `easing`: Can be a string reference to an easing function set on the `Math`
  79853. * object or a function. See the _Custom easing function_ demo below.
  79854. *
  79855. * Due to poor performance, animation is disabled in old IE browsers for several
  79856. * chart types.
  79857. */
  79858. export interface PlotRsiAnimationOptions {
  79859. defer?: number;
  79860. }
  79861. /**
  79862. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79863. * animation when a series is displayed for the `dataLabels`. The animation can
  79864. * also be set as a configuration object. Please note that this option only
  79865. * applies to the initial animation. For other animations, see chart.animation
  79866. * and the animation parameter under the API methods. The following properties
  79867. * are supported:
  79868. *
  79869. * - `defer`: The animation delay time in milliseconds.
  79870. */
  79871. export interface PlotRsiDataLabelsAnimationOptions {
  79872. /**
  79873. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  79874. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  79875. * inherits defer time from the series.animation.defer.
  79876. */
  79877. defer?: number;
  79878. }
  79879. /**
  79880. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  79881. * appearing next to each data point.
  79882. *
  79883. * Since v6.2.0, multiple data labels can be applied to each single point by
  79884. * defining them as an array of configs.
  79885. *
  79886. * In styled mode, the data labels can be styled with the
  79887. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  79888. * example).
  79889. */
  79890. export interface PlotRsiDataLabelsOptions {
  79891. /**
  79892. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  79893. * compared to the point. If `right`, the right side of the label should be
  79894. * touching the point. For points with an extent, like columns, the
  79895. * alignments also dictates how to align it inside the box, as given with
  79896. * the inside option. Can be one of `left`, `center` or `right`.
  79897. */
  79898. align?: (AlignValue|null);
  79899. /**
  79900. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  79901. * overlap. To make the labels less sensitive for overlapping, the
  79902. * dataLabels.padding can be set to 0.
  79903. */
  79904. allowOverlap?: boolean;
  79905. /**
  79906. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  79907. * animation when a series is displayed for the `dataLabels`. The animation
  79908. * can also be set as a configuration object. Please note that this option
  79909. * only applies to the initial animation. For other animations, see
  79910. * chart.animation and the animation parameter under the API methods. The
  79911. * following properties are supported:
  79912. *
  79913. * - `defer`: The animation delay time in milliseconds.
  79914. */
  79915. animation?: (boolean|PlotRsiDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  79916. /**
  79917. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  79918. * for the data label.
  79919. */
  79920. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  79921. /**
  79922. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  79923. * label. Defaults to `undefined`.
  79924. */
  79925. borderColor?: (ColorString|GradientColorObject|PatternObject);
  79926. /**
  79927. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  79928. * the data label.
  79929. */
  79930. borderRadius?: number;
  79931. /**
  79932. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  79933. * the data label.
  79934. */
  79935. borderWidth?: number;
  79936. /**
  79937. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  79938. * Particularly in styled mode, this can be used to give each series' or
  79939. * point's data label unique styling. In addition to this option, a default
  79940. * color class name is added so that we can give the labels a contrast text
  79941. * shadow.
  79942. */
  79943. className?: string;
  79944. /**
  79945. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  79946. * labels. Defaults to `undefined`. For certain series types, like column or
  79947. * map, the data labels can be drawn inside the points. In this case the
  79948. * data label will be drawn with maximum contrast by default. Additionally,
  79949. * it will be given a `text-outline` style with the opposite color, to
  79950. * further increase the contrast. This can be overridden by setting the
  79951. * `text-outline` style to `none` in the `dataLabels.style` option.
  79952. */
  79953. color?: (ColorString|GradientColorObject|PatternObject);
  79954. /**
  79955. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  79956. * are outside the plot area. By default, the data label is moved inside the
  79957. * plot area according to the overflow option.
  79958. */
  79959. crop?: boolean;
  79960. /**
  79961. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  79962. * labels until the initial series animation has finished. Setting to
  79963. * `false` renders the data label immediately. If set to `true` inherits the
  79964. * defer time set in plotOptions.series.animation. If set to a number, a
  79965. * defer time is specified in milliseconds.
  79966. */
  79967. defer?: (boolean|number);
  79968. /**
  79969. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  79970. * labels.
  79971. */
  79972. enabled?: boolean;
  79973. /**
  79974. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  79975. * of which data labels to display. The declarative filter is designed for
  79976. * use when callback functions are not available, like when the chart
  79977. * options require a pure JSON structure or for use with graphical editors.
  79978. * For programmatic control, use the `formatter` instead, and return
  79979. * `undefined` to disable a single data label.
  79980. */
  79981. filter?: DataLabelsFilterOptionsObject;
  79982. /**
  79983. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  79984. * label. Available variables are the same as for `formatter`.
  79985. */
  79986. format?: string;
  79987. /**
  79988. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  79989. * format the data label. Note that if a `format` is defined, the format
  79990. * takes precedence and the formatter is ignored.
  79991. */
  79992. formatter?: DataLabelsFormatterCallbackFunction;
  79993. /**
  79994. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  79995. * columns or map areas, whether to align the data label inside the box or
  79996. * to the actual value point. Defaults to `false` in most cases, `true` in
  79997. * stacked columns.
  79998. */
  79999. inside?: boolean;
  80000. /**
  80001. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  80002. * of null. Works analogously to format. `nullFormat` can be applied only to
  80003. * series which support displaying null points.
  80004. */
  80005. nullFormat?: (boolean|string);
  80006. /**
  80007. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  80008. * that defines formatting for points with the value of null. Works
  80009. * analogously to formatter. `nullPointFormatter` can be applied only to
  80010. * series which support displaying null points.
  80011. */
  80012. nullFormatter?: DataLabelsFormatterCallbackFunction;
  80013. /**
  80014. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  80015. * flow outside the plot area. The default is `"justify"`, which aligns them
  80016. * inside the plot area. For columns and bars, this means it will be moved
  80017. * inside the bar. To display data labels outside the plot area, set `crop`
  80018. * to `false` and `overflow` to `"allow"`.
  80019. */
  80020. overflow?: DataLabelsOverflowValue;
  80021. /**
  80022. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  80023. * the `backgroundColor` is set, this is the padding within the box.
  80024. */
  80025. padding?: number;
  80026. /**
  80027. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  80028. * points. If `center` alignment is not possible, it defaults to `right`.
  80029. */
  80030. position?: AlignValue;
  80031. /**
  80032. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  80033. * that due to a more complex structure, backgrounds, borders and padding
  80034. * will be lost on a rotated data label.
  80035. */
  80036. rotation?: number;
  80037. /**
  80038. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  80039. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  80040. * an object configuration containing `color`, `offsetX`, `offsetY`,
  80041. * `opacity` and `width`.
  80042. */
  80043. shadow?: (boolean|ShadowOptionsObject);
  80044. /**
  80045. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  80046. * the border around the label. Symbols are predefined functions on the
  80047. * Renderer object.
  80048. */
  80049. shape?: string;
  80050. /**
  80051. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  80052. * default `color` setting is `"contrast"`, which is a pseudo color that
  80053. * Highcharts picks up and applies the maximum contrast to the underlying
  80054. * point item, for example the bar in a bar chart.
  80055. *
  80056. * The `textOutline` is a pseudo property that applies an outline of the
  80057. * given width with the given color, which by default is the maximum
  80058. * contrast to the text. So a bright text color will result in a black text
  80059. * outline for maximum readability on a mixed background. In some cases,
  80060. * especially with grayscale text, the text outline doesn't work well, in
  80061. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  80062. * is true, the `textOutline` will not be picked up. In this, case, the same
  80063. * effect can be acheived through the `text-shadow` CSS property.
  80064. *
  80065. * For some series types, where each point has an extent, like for example
  80066. * tree maps, the data label may overflow the point. There are two
  80067. * strategies for handling overflow. By default, the text will wrap to
  80068. * multiple lines. The other strategy is to set `style.textOverflow` to
  80069. * `ellipsis`, which will keep the text on one line plus it will break
  80070. * inside long words.
  80071. */
  80072. style?: CSSObject;
  80073. /**
  80074. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  80075. * should follow marker's shape. Border and background are disabled for a
  80076. * label that follows a path.
  80077. *
  80078. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  80079. * to true will disable this option.
  80080. */
  80081. textPath?: DataLabelsTextPathOptionsObject;
  80082. /**
  80083. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  80084. * the labels.
  80085. */
  80086. useHTML?: boolean;
  80087. /**
  80088. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  80089. * label. Can be one of `top`, `middle` or `bottom`. The default value
  80090. * depends on the data, for instance in a column chart, the label is above
  80091. * positive values and below negative values.
  80092. */
  80093. verticalAlign?: (VerticalAlignValue|null);
  80094. /**
  80095. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  80096. * label relative to the point in pixels.
  80097. */
  80098. x?: number;
  80099. /**
  80100. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  80101. * label relative to the point in pixels.
  80102. */
  80103. y?: number;
  80104. /**
  80105. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  80106. * The default Z index puts it above the series. Use a Z index of 2 to
  80107. * display it behind the series.
  80108. */
  80109. z?: number;
  80110. }
  80111. /**
  80112. * (Highcharts, Highstock) Options for the series data sorting.
  80113. */
  80114. export interface PlotRsiDataSortingOptions {
  80115. /**
  80116. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  80117. * Use xAxis.reversed to change the sorting order.
  80118. */
  80119. enabled?: boolean;
  80120. /**
  80121. * (Highcharts, Highstock) Whether to allow matching points by name in an
  80122. * update. If this option is disabled, points will be matched by order.
  80123. */
  80124. matchByName?: boolean;
  80125. /**
  80126. * (Highcharts, Highstock) Determines what data value should be used to sort
  80127. * by.
  80128. */
  80129. sortKey?: string;
  80130. }
  80131. /**
  80132. * (Highstock) Relative strength index (RSI) technical indicator. This series
  80133. * requires the `linkedTo` option to be set and should be loaded after the
  80134. * `stock/indicators/indicators.js` file.
  80135. *
  80136. * In TypeScript the type option must always be set.
  80137. *
  80138. * Configuration options for the series are given in three levels:
  80139. *
  80140. * 1. Options for all series in a chart are defined in the plotOptions.series
  80141. * object.
  80142. *
  80143. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  80144. *
  80145. * 3. Options for one single series are given in the series instance array. (see
  80146. * online documentation for example)
  80147. */
  80148. export interface PlotRsiOptions {
  80149. /**
  80150. * (Highstock) Accessibility options for a series.
  80151. */
  80152. accessibility?: SeriesAccessibilityOptionsObject;
  80153. /**
  80154. * (Highstock) Allow this series' points to be selected by clicking on the
  80155. * graphic (columns, point markers, pie slices, map areas etc).
  80156. *
  80157. * The selected points can be handled by point select and unselect events,
  80158. * or collectively by the getSelectedPoints function.
  80159. *
  80160. * And alternative way of selecting points is through dragging.
  80161. */
  80162. allowPointSelect?: boolean;
  80163. /**
  80164. * (Highstock) Enable or disable the initial animation when a series is
  80165. * displayed. The animation can also be set as a configuration object.
  80166. * Please note that this option only applies to the initial animation of the
  80167. * series itself. For other animations, see chart.animation and the
  80168. * animation parameter under the API methods. The following properties are
  80169. * supported:
  80170. *
  80171. * - `defer`: The animation delay time in milliseconds.
  80172. *
  80173. * - `duration`: The duration of the animation in milliseconds.
  80174. *
  80175. * - `easing`: Can be a string reference to an easing function set on the
  80176. * `Math` object or a function. See the _Custom easing function_ demo below.
  80177. *
  80178. * Due to poor performance, animation is disabled in old IE browsers for
  80179. * several chart types.
  80180. */
  80181. animation?: (boolean|PlotRsiAnimationOptions|Partial<AnimationOptionsObject>);
  80182. /**
  80183. * (Highstock) For some series, there is a limit that shuts down initial
  80184. * animation by default when the total number of points in the chart is too
  80185. * high. For example, for a column chart and its derivatives, animation does
  80186. * not run if there is more than 250 points totally. To disable this cap,
  80187. * set `animationLimit` to `Infinity`.
  80188. */
  80189. animationLimit?: number;
  80190. /**
  80191. * (Highstock) Sets the color blending in the boost module.
  80192. */
  80193. boostBlending?: OptionsBoostBlendingValue;
  80194. /**
  80195. * (Highstock) Set the point threshold for when a series should enter boost
  80196. * mode.
  80197. *
  80198. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  80199. * there are 2000 or more points in the series.
  80200. *
  80201. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  80202. * it to 1 will force boosting.
  80203. *
  80204. * Note that the cropThreshold also affects this setting. When zooming in on
  80205. * a series that has fewer points than the `cropThreshold`, all points are
  80206. * rendered although outside the visible plot area, and the `boostThreshold`
  80207. * won't take effect.
  80208. */
  80209. boostThreshold?: number;
  80210. /**
  80211. * (Highmaps) The border color of the map areas.
  80212. *
  80213. * In styled mode, the border stroke is given in the `.highcharts-point`
  80214. * class.
  80215. */
  80216. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80217. /**
  80218. * (Highmaps) The border width of each map area.
  80219. *
  80220. * In styled mode, the border stroke width is given in the
  80221. * `.highcharts-point` class.
  80222. */
  80223. borderWidth?: number;
  80224. /**
  80225. * (Highstock) An additional class name to apply to the series' graphical
  80226. * elements. This option does not replace default class names of the
  80227. * graphical element.
  80228. */
  80229. className?: string;
  80230. /**
  80231. * (Highstock) Disable this option to allow series rendering in the whole
  80232. * plotting area.
  80233. *
  80234. * **Note:** Clipping should be always enabled when chart.zoomType is set
  80235. */
  80236. clip?: boolean;
  80237. /**
  80238. * (Highstock) The main color of the series. In line type series it applies
  80239. * to the line and the point markers unless otherwise specified. In bar type
  80240. * series it applies to the bars unless a color is specified per point. The
  80241. * default value is pulled from the `options.colors` array.
  80242. *
  80243. * In styled mode, the color can be defined by the colorIndex option. Also,
  80244. * the series color can be set with the `.highcharts-series`,
  80245. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  80246. * `.highcharts-series-{n}` class, or individual classes given by the
  80247. * `className` option.
  80248. */
  80249. color?: (ColorString|GradientColorObject|PatternObject);
  80250. /**
  80251. * (Highstock) Styled mode only. A specific color index to use for the
  80252. * series, so its graphic representations are given the class name
  80253. * `highcharts-color-{n}`.
  80254. */
  80255. colorIndex?: number;
  80256. /**
  80257. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  80258. * used to calculate point color if `colorAxis` is used. Requires to set
  80259. * `min` and `max` if some custom point property is used or if approximation
  80260. * for data grouping is set to `'sum'`.
  80261. */
  80262. colorKey?: string;
  80263. /**
  80264. * (Highstock) Compare the values of the series against the first non-null,
  80265. * non- zero value in the visible range. The y axis will show percentage or
  80266. * absolute change depending on whether `compare` is set to `"percent"` or
  80267. * `"value"`. When this is applied to multiple series, it allows comparing
  80268. * the development of the series against each other. Adds a `change` field
  80269. * to every point object.
  80270. */
  80271. compare?: string;
  80272. /**
  80273. * (Highstock) When compare is `percent`, this option dictates whether to
  80274. * use 0 or 100 as the base of comparison.
  80275. */
  80276. compareBase?: (0|100);
  80277. /**
  80278. * (Highstock) Defines if comparison should start from the first point
  80279. * within the visible range or should start from the first point **before**
  80280. * the range.
  80281. *
  80282. * In other words, this flag determines if first point within the visible
  80283. * range will have 0% (`compareStart=true`) or should have been already
  80284. * calculated according to the previous point (`compareStart=false`).
  80285. */
  80286. compareStart?: boolean;
  80287. /**
  80288. * (Highstock) Whether to compare indicator to the main series values or
  80289. * indicator values.
  80290. */
  80291. compareToMain?: boolean;
  80292. /**
  80293. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  80294. * series plot across the extremes.
  80295. */
  80296. connectEnds?: boolean;
  80297. /**
  80298. * (Highcharts, Highstock) Whether to connect a graph line across null
  80299. * points, or render a gap between the two points on either side of the
  80300. * null.
  80301. */
  80302. connectNulls?: boolean;
  80303. /**
  80304. * (Gantt) Override Pathfinder connector options for a series. Requires
  80305. * Highcharts Gantt to be loaded.
  80306. */
  80307. connectors?: SeriesConnectorsOptionsObject;
  80308. /**
  80309. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  80310. * rounded to its nearest pixel in order to render sharp on screen. In some
  80311. * cases, when there are a lot of densely packed columns, this leads to
  80312. * visible difference in column widths or distance between columns. In these
  80313. * cases, setting `crisp` to `false` may look better, even though each
  80314. * column is rendered blurry.
  80315. */
  80316. crisp?: boolean;
  80317. /**
  80318. * (Highcharts, Highstock) When the series contains less points than the
  80319. * crop threshold, all points are drawn, even if the points fall outside the
  80320. * visible plot area at the current zoom. The advantage of drawing all
  80321. * points (including markers and columns), is that animation is performed on
  80322. * updates. On the other hand, when the series contains more points than the
  80323. * crop threshold, the series data is cropped to only contain points that
  80324. * fall within the plot area. The advantage of cropping away invisible
  80325. * points is to increase performance on large series.
  80326. */
  80327. cropThreshold?: number;
  80328. /**
  80329. * (Highstock) You can set the cursor to "pointer" if you have click events
  80330. * attached to the series, to signal to the user that the points and lines
  80331. * can be clicked.
  80332. *
  80333. * In styled mode, the series cursor can be set with the same classes as
  80334. * listed under series.color.
  80335. */
  80336. cursor?: (string|CursorValue);
  80337. /**
  80338. * (Highstock) A reserved subspace to store options and values for
  80339. * customized functionality. Here you can add additional data for your own
  80340. * event callbacks and formatter callbacks.
  80341. */
  80342. custom?: Dictionary<any>;
  80343. /**
  80344. * (Highstock) Name of the dash style to use for the graph, or for some
  80345. * series types the outline of each shape.
  80346. *
  80347. * In styled mode, the stroke dash-array can be set with the same classes as
  80348. * listed under series.color.
  80349. */
  80350. dashStyle?: DashStyleValue;
  80351. /**
  80352. * (Highstock) Data grouping is the concept of sampling the data values into
  80353. * larger blocks in order to ease readability and increase performance of
  80354. * the JavaScript charts. Highcharts Stock by default applies data grouping
  80355. * when the points become closer than a certain pixel value, determined by
  80356. * the `groupPixelWidth` option.
  80357. *
  80358. * If data grouping is applied, the grouping information of grouped points
  80359. * can be read from the Point.dataGroup. If point options other than the
  80360. * data itself are set, for example `name` or `color` or custom properties,
  80361. * the grouping logic doesn't know how to group it. In this case the options
  80362. * of the first point instance are copied over to the group point. This can
  80363. * be altered through a custom `approximation` callback function.
  80364. */
  80365. dataGrouping?: DataGroupingOptionsObject;
  80366. /**
  80367. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  80368. * labels, appearing next to each data point.
  80369. *
  80370. * Since v6.2.0, multiple data labels can be applied to each single point by
  80371. * defining them as an array of configs.
  80372. *
  80373. * In styled mode, the data labels can be styled with the
  80374. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  80375. * (see example).
  80376. */
  80377. dataLabels?: (PlotRsiDataLabelsOptions|Array<PlotRsiDataLabelsOptions>);
  80378. /**
  80379. * (Highcharts, Highstock) Options for the series data sorting.
  80380. */
  80381. dataSorting?: (DataSortingOptionsObject|PlotRsiDataSortingOptions);
  80382. /**
  80383. * (Highstock) A description of the series to add to the screen reader
  80384. * information about the series.
  80385. */
  80386. description?: string;
  80387. /**
  80388. * (Highstock) Enable or disable the mouse tracking for a specific series.
  80389. * This includes point tooltips and click events on graphs and points. For
  80390. * large datasets it improves performance.
  80391. */
  80392. enableMouseTracking?: boolean;
  80393. /**
  80394. * (Highstock) General event handlers for the series items. These event
  80395. * hooks can also be attached to the series at run time using the
  80396. * `Highcharts.addEvent` function.
  80397. */
  80398. events?: SeriesEventsOptionsObject;
  80399. /**
  80400. * (Highstock) Determines whether the series should look for the nearest
  80401. * point in both dimensions or just the x-dimension when hovering the
  80402. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  80403. * series. If the data has duplicate x-values, it is recommended to set this
  80404. * to `'xy'` to allow hovering over all points.
  80405. *
  80406. * Applies only to series types using nearest neighbor search (not direct
  80407. * hover) for tooltip.
  80408. */
  80409. findNearestPointBy?: OptionsFindNearestPointByValue;
  80410. /**
  80411. * (Highstock) Defines when to display a gap in the graph, together with the
  80412. * gapUnit option.
  80413. *
  80414. * In case when `dataGrouping` is enabled, points can be grouped into a
  80415. * larger time span. This can make the grouped points to have a greater
  80416. * distance than the absolute value of `gapSize` property, which will result
  80417. * in disappearing graph completely. To prevent this situation the mentioned
  80418. * distance between grouped points is used instead of previously defined
  80419. * `gapSize`.
  80420. *
  80421. * In practice, this option is most often used to visualize gaps in time
  80422. * series. In a stock chart, intraday data is available for daytime hours,
  80423. * while gaps will appear in nights and weekends.
  80424. */
  80425. gapSize?: number;
  80426. /**
  80427. * (Highstock) Together with gapSize, this option defines where to draw gaps
  80428. * in the graph.
  80429. *
  80430. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  80431. * if the distance between two points is greater than 5 times that of the
  80432. * two closest points, the graph will be broken.
  80433. *
  80434. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  80435. * values, which on a datetime axis is milliseconds. This also applies to
  80436. * the navigator series that inherits gap options from the base series.
  80437. */
  80438. gapUnit?: OptionsGapUnitValue;
  80439. /**
  80440. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80441. * chart width or only the zoomed area when zooming in on parts of the X
  80442. * axis. By default, the Y axis adjusts to the min and max of the visible
  80443. * data. Cartesian series only.
  80444. */
  80445. getExtremesFromAll?: boolean;
  80446. /**
  80447. * (Highstock) When set to `false` will prevent the series data from being
  80448. * included in any form of data export.
  80449. *
  80450. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80451. * `includeInCSVExport`.
  80452. */
  80453. includeInDataExport?: boolean;
  80454. /**
  80455. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  80456. * series as possible in a natural way, seeking to avoid other series. The
  80457. * goal of this feature is to make the chart more easily readable, like if a
  80458. * human designer placed the labels in the optimal position.
  80459. *
  80460. * The series labels currently work with series types having a `graph` or an
  80461. * `area`.
  80462. */
  80463. label?: SeriesLabelOptionsObject;
  80464. /**
  80465. * (Highstock) The line marks the last price from all points.
  80466. */
  80467. lastPrice?: SeriesLastPriceOptionsObject;
  80468. /**
  80469. * (Highstock) The line marks the last price from visible range of points.
  80470. */
  80471. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  80472. /**
  80473. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  80474. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  80475. * the ends and bends.
  80476. */
  80477. linecap?: SeriesLinecapValue;
  80478. /**
  80479. * (Highcharts, Highstock) Pixel width of the graph line.
  80480. */
  80481. lineWidth?: number;
  80482. /**
  80483. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  80484. * based on. Required for this indicator.
  80485. */
  80486. linkedTo?: string;
  80487. /**
  80488. * (Highstock) Options for the point markers of line-like series. Properties
  80489. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  80490. * appearance of the markers. Other series types, like column series, don't
  80491. * have markers, but have visual options on the series level instead.
  80492. *
  80493. * In styled mode, the markers can be styled with the `.highcharts-point`,
  80494. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  80495. */
  80496. marker?: PointMarkerOptionsObject;
  80497. /**
  80498. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  80499. * If not set, it will be based on a technical indicator type and default
  80500. * params.
  80501. */
  80502. name?: string;
  80503. /**
  80504. * (Highstock) The color for the parts of the graph or points that are below
  80505. * the threshold. Note that `zones` takes precedence over the negative
  80506. * color. Using `negativeColor` is equivalent to applying a zone with value
  80507. * of 0.
  80508. */
  80509. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  80510. /**
  80511. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  80512. * dataLabels.
  80513. */
  80514. opacity?: number;
  80515. /**
  80516. * (Highstock) Paramters used in calculation of regression series' points.
  80517. */
  80518. params?: PlotRsiParamsOptions;
  80519. /**
  80520. * (Highstock) Properties for each single point.
  80521. */
  80522. point?: PlotSeriesPointOptions;
  80523. /**
  80524. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  80525. * individual series. Overrides the chart wide configuration.
  80526. */
  80527. pointDescriptionFormatter?: Function;
  80528. /**
  80529. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  80530. * true, the checkbox next to the series name in the legend will be checked
  80531. * for a selected series.
  80532. */
  80533. selected?: boolean;
  80534. /**
  80535. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  80536. * the shadow can be an object configuration containing `color`, `offsetX`,
  80537. * `offsetY`, `opacity` and `width`.
  80538. */
  80539. shadow?: (boolean|ShadowOptionsObject);
  80540. /**
  80541. * (Highstock) If true, a checkbox is displayed next to the legend item to
  80542. * allow selecting the series. The state of the checkbox is determined by
  80543. * the `selected` option.
  80544. */
  80545. showCheckbox?: boolean;
  80546. /**
  80547. * (Highstock) Whether to display this particular series or series type in
  80548. * the legend. Standalone series are shown in legend by default, and linked
  80549. * series are not. Since v7.2.0 it is possible to show series that use
  80550. * colorAxis by setting this option to `true`.
  80551. */
  80552. showInLegend?: boolean;
  80553. /**
  80554. * (Highstock) If set to `true`, the accessibility module will skip past the
  80555. * points in this series for keyboard navigation.
  80556. */
  80557. skipKeyboardNavigation?: boolean;
  80558. /**
  80559. * (Highcharts, Highstock) When this is true, the series will not cause the
  80560. * Y axis to cross the zero plane (or threshold option) unless the data
  80561. * actually crosses the plane.
  80562. *
  80563. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  80564. * make the Y axis show negative values according to the `minPadding`
  80565. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  80566. */
  80567. softThreshold?: boolean;
  80568. states?: SeriesStatesOptionsObject;
  80569. /**
  80570. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  80571. * values are `left`, `center` and `right`.
  80572. */
  80573. step?: OptionsStepValue;
  80574. /**
  80575. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  80576. * event on a series isn't triggered until the mouse moves over another
  80577. * series, or out of the plot area. When false, the `mouseOut` event on a
  80578. * series is triggered when the mouse leaves the area around the series'
  80579. * graph or markers. This also implies the tooltip when not shared. When
  80580. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  80581. * be hidden when moving the mouse between series. Defaults to true for line
  80582. * and area type series, but to false for columns, pies etc.
  80583. *
  80584. * **Note:** The boost module will force this option because of technical
  80585. * limitations.
  80586. */
  80587. stickyTracking?: boolean;
  80588. /**
  80589. * (Highcharts, Highstock) The threshold, also called zero level or base
  80590. * level. For line type series this is only used in conjunction with
  80591. * negativeColor.
  80592. */
  80593. threshold?: (number|null);
  80594. /**
  80595. * (Highstock) A configuration object for the tooltip rendering of each
  80596. * single series. Properties are inherited from tooltip, but only the
  80597. * following properties can be defined on a series level.
  80598. */
  80599. tooltip?: SeriesTooltipOptionsObject;
  80600. /**
  80601. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  80602. * is longer than this, only one dimensional arrays of numbers, or two
  80603. * dimensional arrays with x and y values are allowed. Also, only the first
  80604. * point is tested, and the rest are assumed to be the same format. This
  80605. * saves expensive data checking and indexing in long series. Set it to `0`
  80606. * disable.
  80607. *
  80608. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  80609. * two dimensional arrays are allowed.
  80610. */
  80611. turboThreshold?: number;
  80612. /**
  80613. * (Highstock) Set the initial visibility of the series.
  80614. */
  80615. visible?: boolean;
  80616. /**
  80617. * (Highmaps) Define the z index of the series.
  80618. */
  80619. zIndex?: number;
  80620. /**
  80621. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  80622. */
  80623. zoneAxis?: string;
  80624. /**
  80625. * (Highcharts, Highstock) An array defining zones within a series. Zones
  80626. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  80627. * the `zoneAxis` option. The zone definitions have to be in ascending order
  80628. * regarding to the value.
  80629. *
  80630. * In styled mode, the color zones are styled with the
  80631. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  80632. * option (view live demo).
  80633. */
  80634. zones?: Array<SeriesZonesOptionsObject>;
  80635. }
  80636. /**
  80637. * (Highstock) Paramters used in calculation of regression series' points.
  80638. */
  80639. export interface PlotRsiParamsOptions {
  80640. decimals?: number;
  80641. /**
  80642. * (Highstock) The point index which indicator calculations will base. For
  80643. * example using OHLC data, index=2 means the indicator will be calculated
  80644. * using Low values.
  80645. */
  80646. index?: number;
  80647. /**
  80648. * (Highstock) The base period for indicator calculations. This is the
  80649. * number of data points which are taken into account for the indicator
  80650. * calculations.
  80651. */
  80652. period?: number;
  80653. }
  80654. /**
  80655. * (Highcharts) Enable or disable the initial animation when a series is
  80656. * displayed. The animation can also be set as a configuration object. Please
  80657. * note that this option only applies to the initial animation of the series
  80658. * itself. For other animations, see chart.animation and the animation parameter
  80659. * under the API methods. The following properties are supported:
  80660. *
  80661. * - `defer`: The animation delay time in milliseconds.
  80662. *
  80663. * - `duration`: The duration of the animation in milliseconds.
  80664. *
  80665. * - `easing`: Can be a string reference to an easing function set on the `Math`
  80666. * object or a function. See the _Custom easing function_ demo below.
  80667. *
  80668. * Due to poor performance, animation is disabled in old IE browsers for several
  80669. * chart types.
  80670. */
  80671. export interface PlotSankeyAnimationOptions {
  80672. defer?: number;
  80673. }
  80674. /**
  80675. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80676. * animation when a series is displayed for the `dataLabels`. The animation can
  80677. * also be set as a configuration object. Please note that this option only
  80678. * applies to the initial animation. For other animations, see chart.animation
  80679. * and the animation parameter under the API methods. The following properties
  80680. * are supported:
  80681. *
  80682. * - `defer`: The animation delay time in milliseconds.
  80683. */
  80684. export interface PlotSankeyDataLabelsAnimationOptions {
  80685. /**
  80686. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  80687. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  80688. * inherits defer time from the series.animation.defer.
  80689. */
  80690. defer?: number;
  80691. }
  80692. /**
  80693. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  80694. * animation when a series is displayed for the `dataLabels`. The animation can
  80695. * also be set as a configuration object. Please note that this option only
  80696. * applies to the initial animation. For other animations, see chart.animation
  80697. * and the animation parameter under the API methods. The following properties
  80698. * are supported:
  80699. *
  80700. * - `defer`: The animation delay time in milliseconds.
  80701. */
  80702. export interface PlotSankeyLevelsDataLabelsAnimationOptions {
  80703. /**
  80704. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  80705. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  80706. * inherits defer time from the series.animation.defer.
  80707. */
  80708. defer?: number;
  80709. }
  80710. /**
  80711. * (Highcharts) Set options on specific levels. Takes precedence over series
  80712. * options, but not node and link options.
  80713. */
  80714. export interface PlotSankeyLevelsOptions {
  80715. /**
  80716. * (Highcharts) Can set `borderColor` on all nodes which lay on the same
  80717. * level.
  80718. */
  80719. borderColor?: ColorString;
  80720. /**
  80721. * (Highcharts) Can set `borderWidth` on all nodes which lay on the same
  80722. * level.
  80723. */
  80724. borderWidth?: number;
  80725. /**
  80726. * (Highcharts) Can set `color` on all nodes which lay on the same level.
  80727. */
  80728. color?: (ColorString|GradientColorObject|PatternObject);
  80729. /**
  80730. * (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
  80731. * level.
  80732. */
  80733. colorByPoint?: boolean;
  80734. /**
  80735. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  80736. * points which lay on the same level.
  80737. */
  80738. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  80739. /**
  80740. * (Highcharts) Decides which level takes effect from the options set in the
  80741. * levels object.
  80742. */
  80743. level?: number;
  80744. /**
  80745. * (Highcharts) Can set `linkOpacity` on all points which lay on the same
  80746. * level.
  80747. */
  80748. linkOpacity?: number;
  80749. /**
  80750. * (Highcharts) Can set `states` on all nodes and points which lay on the
  80751. * same level.
  80752. */
  80753. states?: SeriesStatesOptionsObject;
  80754. }
  80755. /**
  80756. * (Highcharts) A sankey diagram is a type of flow diagram, in which the width
  80757. * of the link between two nodes is shown proportionally to the flow quantity.
  80758. *
  80759. * In TypeScript the type option must always be set.
  80760. *
  80761. * Configuration options for the series are given in three levels:
  80762. *
  80763. * 1. Options for all series in a chart are defined in the plotOptions.series
  80764. * object.
  80765. *
  80766. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  80767. *
  80768. * 3. Options for one single series are given in the series instance array. (see
  80769. * online documentation for example)
  80770. */
  80771. export interface PlotSankeyOptions {
  80772. /**
  80773. * (Highcharts) Accessibility options for a series.
  80774. */
  80775. accessibility?: SeriesAccessibilityOptionsObject;
  80776. /**
  80777. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  80778. * rendered. If `true`, areas which don't correspond to a data point, are
  80779. * rendered as `null` points. If `false`, those areas are skipped.
  80780. */
  80781. allAreas?: boolean;
  80782. /**
  80783. * (Highcharts) Allow this series' points to be selected by clicking on the
  80784. * graphic (columns, point markers, pie slices, map areas etc).
  80785. *
  80786. * The selected points can be handled by point select and unselect events,
  80787. * or collectively by the getSelectedPoints function.
  80788. *
  80789. * And alternative way of selecting points is through dragging.
  80790. */
  80791. allowPointSelect?: boolean;
  80792. /**
  80793. * (Highcharts) Enable or disable the initial animation when a series is
  80794. * displayed. The animation can also be set as a configuration object.
  80795. * Please note that this option only applies to the initial animation of the
  80796. * series itself. For other animations, see chart.animation and the
  80797. * animation parameter under the API methods. The following properties are
  80798. * supported:
  80799. *
  80800. * - `defer`: The animation delay time in milliseconds.
  80801. *
  80802. * - `duration`: The duration of the animation in milliseconds.
  80803. *
  80804. * - `easing`: Can be a string reference to an easing function set on the
  80805. * `Math` object or a function. See the _Custom easing function_ demo below.
  80806. *
  80807. * Due to poor performance, animation is disabled in old IE browsers for
  80808. * several chart types.
  80809. */
  80810. animation?: (boolean|PlotSankeyAnimationOptions|Partial<AnimationOptionsObject>);
  80811. /**
  80812. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  80813. * column or bar.
  80814. *
  80815. * In styled mode, the border stroke can be set with the `.highcharts-point`
  80816. * rule.
  80817. */
  80818. borderColor?: (ColorString|GradientColorObject|PatternObject);
  80819. /**
  80820. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  80821. * column or bar. Defaults to `1` when there is room for a border, but to
  80822. * `0` when the columns are so dense that a border would cover the next
  80823. * column.
  80824. *
  80825. * In styled mode, the stroke width can be set with the `.highcharts-point`
  80826. * rule.
  80827. */
  80828. borderWidth?: number;
  80829. /**
  80830. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  80831. * the category, ignoring null or missing points. When `false`, space will
  80832. * be reserved for null or missing points.
  80833. */
  80834. centerInCategory?: boolean;
  80835. /**
  80836. * (Highcharts) An additional class name to apply to the series' graphical
  80837. * elements. This option does not replace default class names of the
  80838. * graphical element.
  80839. */
  80840. className?: string;
  80841. /**
  80842. * (Highcharts) Disable this option to allow series rendering in the whole
  80843. * plotting area.
  80844. *
  80845. * **Note:** Clipping should be always enabled when chart.zoomType is set
  80846. */
  80847. clip?: boolean;
  80848. /**
  80849. * (Highcharts) The main color of the series. In line type series it applies
  80850. * to the line and the point markers unless otherwise specified. In bar type
  80851. * series it applies to the bars unless a color is specified per point. The
  80852. * default value is pulled from the `options.colors` array.
  80853. *
  80854. * In styled mode, the color can be defined by the colorIndex option. Also,
  80855. * the series color can be set with the `.highcharts-series`,
  80856. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  80857. * `.highcharts-series-{n}` class, or individual classes given by the
  80858. * `className` option.
  80859. */
  80860. color?: (ColorString|GradientColorObject|PatternObject);
  80861. /**
  80862. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  80863. * from the global colors or series-specific plotOptions.column.colors
  80864. * collections, this option determines whether the chart should receive one
  80865. * color per series or one color per point.
  80866. *
  80867. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  80868. * and instead this option gives the points individual color class names on
  80869. * the form `highcharts-color-{n}`.
  80870. */
  80871. colorByPoint?: boolean;
  80872. /**
  80873. * (Highcharts) Styled mode only. A specific color index to use for the
  80874. * series, so its graphic representations are given the class name
  80875. * `highcharts-color-{n}`.
  80876. */
  80877. colorIndex?: number;
  80878. /**
  80879. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  80880. * color set to apply instead of the global colors when colorByPoint is
  80881. * true.
  80882. */
  80883. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  80884. /**
  80885. * (Highstock) Compare the values of the series against the first non-null,
  80886. * non- zero value in the visible range. The y axis will show percentage or
  80887. * absolute change depending on whether `compare` is set to `"percent"` or
  80888. * `"value"`. When this is applied to multiple series, it allows comparing
  80889. * the development of the series against each other. Adds a `change` field
  80890. * to every point object.
  80891. */
  80892. compare?: string;
  80893. /**
  80894. * (Highstock) When compare is `percent`, this option dictates whether to
  80895. * use 0 or 100 as the base of comparison.
  80896. */
  80897. compareBase?: (0|100);
  80898. /**
  80899. * (Highstock) Defines if comparison should start from the first point
  80900. * within the visible range or should start from the first point **before**
  80901. * the range.
  80902. *
  80903. * In other words, this flag determines if first point within the visible
  80904. * range will have 0% (`compareStart=true`) or should have been already
  80905. * calculated according to the previous point (`compareStart=false`).
  80906. */
  80907. compareStart?: boolean;
  80908. /**
  80909. * (Gantt) Override Pathfinder connector options for a series. Requires
  80910. * Highcharts Gantt to be loaded.
  80911. */
  80912. connectors?: SeriesConnectorsOptionsObject;
  80913. /**
  80914. * (Highcharts) You can set the cursor to "pointer" if you have click events
  80915. * attached to the series, to signal to the user that the points and lines
  80916. * can be clicked.
  80917. *
  80918. * In styled mode, the series cursor can be set with the same classes as
  80919. * listed under series.color.
  80920. */
  80921. cursor?: (string|CursorValue);
  80922. /**
  80923. * (Highcharts) Higher numbers makes the links in a sankey diagram or
  80924. * dependency wheelrender more curved. A `curveFactor` of 0 makes the lines
  80925. * straight.
  80926. */
  80927. curveFactor?: number;
  80928. /**
  80929. * (Highcharts) A reserved subspace to store options and values for
  80930. * customized functionality. Here you can add additional data for your own
  80931. * event callbacks and formatter callbacks.
  80932. */
  80933. custom?: Dictionary<any>;
  80934. /**
  80935. * (Highcharts) Name of the dash style to use for the graph, or for some
  80936. * series types the outline of each shape.
  80937. *
  80938. * In styled mode, the stroke dash-array can be set with the same classes as
  80939. * listed under series.color.
  80940. */
  80941. dashStyle?: DashStyleValue;
  80942. /**
  80943. * (Highstock) Data grouping is the concept of sampling the data values into
  80944. * larger blocks in order to ease readability and increase performance of
  80945. * the JavaScript charts. Highcharts Stock by default applies data grouping
  80946. * when the points become closer than a certain pixel value, determined by
  80947. * the `groupPixelWidth` option.
  80948. *
  80949. * If data grouping is applied, the grouping information of grouped points
  80950. * can be read from the Point.dataGroup. If point options other than the
  80951. * data itself are set, for example `name` or `color` or custom properties,
  80952. * the grouping logic doesn't know how to group it. In this case the options
  80953. * of the first point instance are copied over to the group point. This can
  80954. * be altered through a custom `approximation` callback function.
  80955. */
  80956. dataGrouping?: DataGroupingOptionsObject;
  80957. /**
  80958. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  80959. * appearing on top of the nodes and links. For sankey charts, data labels
  80960. * are visible for the nodes by default, but hidden for links. This is
  80961. * controlled by modifying the `nodeFormat`, and the `format` that applies
  80962. * to links and is an empty string by default.
  80963. */
  80964. dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
  80965. /**
  80966. * (Highcharts) A description of the series to add to the screen reader
  80967. * information about the series.
  80968. */
  80969. description?: string;
  80970. /**
  80971. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  80972. * This includes point tooltips and click events on graphs and points. For
  80973. * large datasets it improves performance.
  80974. */
  80975. enableMouseTracking?: boolean;
  80976. /**
  80977. * (Highcharts) General event handlers for the series items. These event
  80978. * hooks can also be attached to the series at run time using the
  80979. * `Highcharts.addEvent` function.
  80980. */
  80981. events?: SeriesEventsOptionsObject;
  80982. /**
  80983. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  80984. * chart width or only the zoomed area when zooming in on parts of the X
  80985. * axis. By default, the Y axis adjusts to the min and max of the visible
  80986. * data. Cartesian series only.
  80987. */
  80988. getExtremesFromAll?: boolean;
  80989. /**
  80990. * (Highcharts) When set to `false` will prevent the series data from being
  80991. * included in any form of data export.
  80992. *
  80993. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  80994. * `includeInCSVExport`.
  80995. */
  80996. includeInDataExport?: boolean;
  80997. /**
  80998. * (Highmaps) What property to join the `mapData` to the value data. For
  80999. * example, if joinBy is "code", the mapData items with a specific code is
  81000. * merged into the data with the same code. For maps loaded from GeoJSON,
  81001. * the keys may be held in each point's `properties` object.
  81002. *
  81003. * The joinBy option can also be an array of two values, where the first
  81004. * points to a key in the `mapData`, and the second points to another key in
  81005. * the `data`.
  81006. *
  81007. * When joinBy is `null`, the map items are joined by their position in the
  81008. * array, which performs much better in maps with many data points. This is
  81009. * the recommended option if you are printing more than a thousand data
  81010. * points and have a backend that can preprocess the data into a parallel
  81011. * array of the mapData.
  81012. */
  81013. joinBy?: (string|Array<string>);
  81014. /**
  81015. * (Highcharts) An array specifying which option maps to which key in the
  81016. * data point array. This makes it convenient to work with unstructured data
  81017. * arrays from different sources.
  81018. */
  81019. keys?: Array<string>;
  81020. /**
  81021. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  81022. * series as possible in a natural way, seeking to avoid other series. The
  81023. * goal of this feature is to make the chart more easily readable, like if a
  81024. * human designer placed the labels in the optimal position.
  81025. *
  81026. * The series labels currently work with series types having a `graph` or an
  81027. * `area`.
  81028. */
  81029. label?: SeriesLabelOptionsObject;
  81030. /**
  81031. * (Highstock) The line marks the last price from all points.
  81032. */
  81033. lastPrice?: SeriesLastPriceOptionsObject;
  81034. /**
  81035. * (Highstock) The line marks the last price from visible range of points.
  81036. */
  81037. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  81038. /**
  81039. * (Highcharts) Set options on specific levels. Takes precedence over series
  81040. * options, but not node and link options.
  81041. */
  81042. levels?: Array<PlotSankeyLevelsOptions>;
  81043. /**
  81044. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  81045. * Additionally, the value can be ":previous" to link to the previous
  81046. * series. When two series are linked, only the first one appears in the
  81047. * legend. Toggling the visibility of this also toggles the linked series.
  81048. *
  81049. * If master series uses data sorting and linked series does not have its
  81050. * own sorting definition, the linked series will be sorted in the same
  81051. * order as the master one.
  81052. */
  81053. linkedTo?: string;
  81054. /**
  81055. * (Highcharts) Opacity for the links between nodes in the sankey diagram.
  81056. */
  81057. linkOpacity?: number;
  81058. /**
  81059. * (Highcharts) The minimal width for a line of a sankey. By default, 0
  81060. * values are not shown.
  81061. */
  81062. minLinkWidth?: number;
  81063. /**
  81064. * (Highstock) Options for the corresponding navigator series if
  81065. * `showInNavigator` is `true` for this series. Available options are the
  81066. * same as any series, documented at plotOptions and series.
  81067. *
  81068. * These options are merged with options in navigator.series, and will take
  81069. * precedence if the same option is defined both places.
  81070. */
  81071. navigatorOptions?: PlotSeriesOptions;
  81072. /**
  81073. * (Highcharts) The padding between nodes in a sankey diagram or dependency
  81074. * wheel, in pixels.
  81075. *
  81076. * If the number of nodes is so great that it is possible to lay them out
  81077. * within the plot area with the given `nodePadding`, they will be rendered
  81078. * with a smaller padding as a strategy to avoid overflow.
  81079. */
  81080. nodePadding?: number;
  81081. /**
  81082. * (Highcharts) The pixel width of each node in a sankey diagram or
  81083. * dependency wheel, or the height in case the chart is inverted.
  81084. */
  81085. nodeWidth?: number;
  81086. /**
  81087. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  81088. * dataLabels.
  81089. */
  81090. opacity?: number;
  81091. /**
  81092. * (Highcharts) Properties for each single point.
  81093. */
  81094. point?: PlotSeriesPointOptions;
  81095. /**
  81096. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  81097. * an individual series. Overrides the chart wide configuration.
  81098. */
  81099. pointDescriptionFormatter?: Function;
  81100. /**
  81101. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  81102. * true, the checkbox next to the series name in the legend will be checked
  81103. * for a selected series.
  81104. */
  81105. selected?: boolean;
  81106. /**
  81107. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  81108. * allow selecting the series. The state of the checkbox is determined by
  81109. * the `selected` option.
  81110. */
  81111. showCheckbox?: boolean;
  81112. /**
  81113. * (Highcharts) Whether to display this particular series or series type in
  81114. * the legend. Standalone series are shown in legend by default, and linked
  81115. * series are not. Since v7.2.0 it is possible to show series that use
  81116. * colorAxis by setting this option to `true`.
  81117. */
  81118. showInLegend?: boolean;
  81119. /**
  81120. * (Highstock) Whether or not to show the series in the navigator. Takes
  81121. * precedence over navigator.baseSeries if defined.
  81122. */
  81123. showInNavigator?: boolean;
  81124. /**
  81125. * (Highcharts) If set to `true`, the accessibility module will skip past
  81126. * the points in this series for keyboard navigation.
  81127. */
  81128. skipKeyboardNavigation?: boolean;
  81129. states?: SeriesStatesOptionsObject;
  81130. /**
  81131. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  81132. * event on a series isn't triggered until the mouse moves over another
  81133. * series, or out of the plot area. When false, the `mouseOut` event on a
  81134. * series is triggered when the mouse leaves the area around the series'
  81135. * graph or markers. This also implies the tooltip when not shared. When
  81136. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  81137. * be hidden when moving the mouse between series. Defaults to true for line
  81138. * and area type series, but to false for columns, pies etc.
  81139. *
  81140. * **Note:** The boost module will force this option because of technical
  81141. * limitations.
  81142. */
  81143. stickyTracking?: boolean;
  81144. /**
  81145. * (Highcharts) A configuration object for the tooltip rendering of each
  81146. * single series. Properties are inherited from tooltip, but only the
  81147. * following properties can be defined on a series level.
  81148. */
  81149. tooltip?: SeriesTooltipOptionsObject;
  81150. /**
  81151. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  81152. * is longer than this, only one dimensional arrays of numbers, or two
  81153. * dimensional arrays with x and y values are allowed. Also, only the first
  81154. * point is tested, and the rest are assumed to be the same format. This
  81155. * saves expensive data checking and indexing in long series. Set it to `0`
  81156. * disable.
  81157. *
  81158. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  81159. * two dimensional arrays are allowed.
  81160. */
  81161. turboThreshold?: number;
  81162. /**
  81163. * (Highcharts) Set the initial visibility of the series.
  81164. */
  81165. visible?: boolean;
  81166. /**
  81167. * (Highmaps) Define the z index of the series.
  81168. */
  81169. zIndex?: number;
  81170. }
  81171. /**
  81172. * (Highcharts) Enable or disable the initial animation when a series is
  81173. * displayed. The animation can also be set as a configuration object. Please
  81174. * note that this option only applies to the initial animation of the series
  81175. * itself. For other animations, see chart.animation and the animation parameter
  81176. * under the API methods. The following properties are supported:
  81177. *
  81178. * - `defer`: The animation delay time in milliseconds.
  81179. *
  81180. * - `duration`: The duration of the animation in milliseconds.
  81181. *
  81182. * - `easing`: Can be a string reference to an easing function set on the `Math`
  81183. * object or a function. See the _Custom easing function_ demo below.
  81184. *
  81185. * Due to poor performance, animation is disabled in old IE browsers for several
  81186. * chart types.
  81187. */
  81188. export interface PlotScatter3dAnimationOptions {
  81189. defer?: number;
  81190. }
  81191. /**
  81192. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81193. * animation when a series is displayed for the `dataLabels`. The animation can
  81194. * also be set as a configuration object. Please note that this option only
  81195. * applies to the initial animation. For other animations, see chart.animation
  81196. * and the animation parameter under the API methods. The following properties
  81197. * are supported:
  81198. *
  81199. * - `defer`: The animation delay time in milliseconds.
  81200. */
  81201. export interface PlotScatter3dDataLabelsAnimationOptions {
  81202. /**
  81203. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  81204. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  81205. * inherits defer time from the series.animation.defer.
  81206. */
  81207. defer?: number;
  81208. }
  81209. /**
  81210. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  81211. * appearing next to each data point.
  81212. *
  81213. * Since v6.2.0, multiple data labels can be applied to each single point by
  81214. * defining them as an array of configs.
  81215. *
  81216. * In styled mode, the data labels can be styled with the
  81217. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  81218. * example).
  81219. */
  81220. export interface PlotScatter3dDataLabelsOptions {
  81221. /**
  81222. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  81223. * compared to the point. If `right`, the right side of the label should be
  81224. * touching the point. For points with an extent, like columns, the
  81225. * alignments also dictates how to align it inside the box, as given with
  81226. * the inside option. Can be one of `left`, `center` or `right`.
  81227. */
  81228. align?: (AlignValue|null);
  81229. /**
  81230. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  81231. * overlap. To make the labels less sensitive for overlapping, the
  81232. * dataLabels.padding can be set to 0.
  81233. */
  81234. allowOverlap?: boolean;
  81235. /**
  81236. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  81237. * animation when a series is displayed for the `dataLabels`. The animation
  81238. * can also be set as a configuration object. Please note that this option
  81239. * only applies to the initial animation. For other animations, see
  81240. * chart.animation and the animation parameter under the API methods. The
  81241. * following properties are supported:
  81242. *
  81243. * - `defer`: The animation delay time in milliseconds.
  81244. */
  81245. animation?: (boolean|PlotScatter3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  81246. /**
  81247. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  81248. * for the data label.
  81249. */
  81250. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  81251. /**
  81252. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  81253. * label. Defaults to `undefined`.
  81254. */
  81255. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81256. /**
  81257. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  81258. * the data label.
  81259. */
  81260. borderRadius?: number;
  81261. /**
  81262. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  81263. * the data label.
  81264. */
  81265. borderWidth?: number;
  81266. /**
  81267. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  81268. * Particularly in styled mode, this can be used to give each series' or
  81269. * point's data label unique styling. In addition to this option, a default
  81270. * color class name is added so that we can give the labels a contrast text
  81271. * shadow.
  81272. */
  81273. className?: string;
  81274. /**
  81275. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  81276. * labels. Defaults to `undefined`. For certain series types, like column or
  81277. * map, the data labels can be drawn inside the points. In this case the
  81278. * data label will be drawn with maximum contrast by default. Additionally,
  81279. * it will be given a `text-outline` style with the opposite color, to
  81280. * further increase the contrast. This can be overridden by setting the
  81281. * `text-outline` style to `none` in the `dataLabels.style` option.
  81282. */
  81283. color?: (ColorString|GradientColorObject|PatternObject);
  81284. /**
  81285. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  81286. * are outside the plot area. By default, the data label is moved inside the
  81287. * plot area according to the overflow option.
  81288. */
  81289. crop?: boolean;
  81290. /**
  81291. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  81292. * labels until the initial series animation has finished. Setting to
  81293. * `false` renders the data label immediately. If set to `true` inherits the
  81294. * defer time set in plotOptions.series.animation. If set to a number, a
  81295. * defer time is specified in milliseconds.
  81296. */
  81297. defer?: (boolean|number);
  81298. /**
  81299. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  81300. * labels.
  81301. */
  81302. enabled?: boolean;
  81303. /**
  81304. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  81305. * of which data labels to display. The declarative filter is designed for
  81306. * use when callback functions are not available, like when the chart
  81307. * options require a pure JSON structure or for use with graphical editors.
  81308. * For programmatic control, use the `formatter` instead, and return
  81309. * `undefined` to disable a single data label.
  81310. */
  81311. filter?: DataLabelsFilterOptionsObject;
  81312. /**
  81313. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  81314. * label. Available variables are the same as for `formatter`.
  81315. */
  81316. format?: string;
  81317. /**
  81318. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  81319. * format the data label. Note that if a `format` is defined, the format
  81320. * takes precedence and the formatter is ignored.
  81321. */
  81322. formatter?: DataLabelsFormatterCallbackFunction;
  81323. /**
  81324. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  81325. * columns or map areas, whether to align the data label inside the box or
  81326. * to the actual value point. Defaults to `false` in most cases, `true` in
  81327. * stacked columns.
  81328. */
  81329. inside?: boolean;
  81330. /**
  81331. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  81332. * of null. Works analogously to format. `nullFormat` can be applied only to
  81333. * series which support displaying null points.
  81334. */
  81335. nullFormat?: (boolean|string);
  81336. /**
  81337. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  81338. * that defines formatting for points with the value of null. Works
  81339. * analogously to formatter. `nullPointFormatter` can be applied only to
  81340. * series which support displaying null points.
  81341. */
  81342. nullFormatter?: DataLabelsFormatterCallbackFunction;
  81343. /**
  81344. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  81345. * flow outside the plot area. The default is `"justify"`, which aligns them
  81346. * inside the plot area. For columns and bars, this means it will be moved
  81347. * inside the bar. To display data labels outside the plot area, set `crop`
  81348. * to `false` and `overflow` to `"allow"`.
  81349. */
  81350. overflow?: DataLabelsOverflowValue;
  81351. /**
  81352. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  81353. * the `backgroundColor` is set, this is the padding within the box.
  81354. */
  81355. padding?: number;
  81356. /**
  81357. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  81358. * points. If `center` alignment is not possible, it defaults to `right`.
  81359. */
  81360. position?: AlignValue;
  81361. /**
  81362. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  81363. * that due to a more complex structure, backgrounds, borders and padding
  81364. * will be lost on a rotated data label.
  81365. */
  81366. rotation?: number;
  81367. /**
  81368. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  81369. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  81370. * an object configuration containing `color`, `offsetX`, `offsetY`,
  81371. * `opacity` and `width`.
  81372. */
  81373. shadow?: (boolean|ShadowOptionsObject);
  81374. /**
  81375. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  81376. * the border around the label. Symbols are predefined functions on the
  81377. * Renderer object.
  81378. */
  81379. shape?: string;
  81380. /**
  81381. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  81382. * default `color` setting is `"contrast"`, which is a pseudo color that
  81383. * Highcharts picks up and applies the maximum contrast to the underlying
  81384. * point item, for example the bar in a bar chart.
  81385. *
  81386. * The `textOutline` is a pseudo property that applies an outline of the
  81387. * given width with the given color, which by default is the maximum
  81388. * contrast to the text. So a bright text color will result in a black text
  81389. * outline for maximum readability on a mixed background. In some cases,
  81390. * especially with grayscale text, the text outline doesn't work well, in
  81391. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  81392. * is true, the `textOutline` will not be picked up. In this, case, the same
  81393. * effect can be acheived through the `text-shadow` CSS property.
  81394. *
  81395. * For some series types, where each point has an extent, like for example
  81396. * tree maps, the data label may overflow the point. There are two
  81397. * strategies for handling overflow. By default, the text will wrap to
  81398. * multiple lines. The other strategy is to set `style.textOverflow` to
  81399. * `ellipsis`, which will keep the text on one line plus it will break
  81400. * inside long words.
  81401. */
  81402. style?: CSSObject;
  81403. /**
  81404. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  81405. * should follow marker's shape. Border and background are disabled for a
  81406. * label that follows a path.
  81407. *
  81408. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  81409. * to true will disable this option.
  81410. */
  81411. textPath?: DataLabelsTextPathOptionsObject;
  81412. /**
  81413. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  81414. * the labels.
  81415. */
  81416. useHTML?: boolean;
  81417. /**
  81418. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  81419. * label. Can be one of `top`, `middle` or `bottom`. The default value
  81420. * depends on the data, for instance in a column chart, the label is above
  81421. * positive values and below negative values.
  81422. */
  81423. verticalAlign?: (VerticalAlignValue|null);
  81424. /**
  81425. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  81426. * label relative to the point in pixels.
  81427. */
  81428. x?: number;
  81429. /**
  81430. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  81431. * label relative to the point in pixels.
  81432. */
  81433. y?: number;
  81434. /**
  81435. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  81436. * The default Z index puts it above the series. Use a Z index of 2 to
  81437. * display it behind the series.
  81438. */
  81439. z?: number;
  81440. }
  81441. /**
  81442. * (Highcharts, Highstock) Options for the series data sorting.
  81443. */
  81444. export interface PlotScatter3dDataSortingOptions {
  81445. /**
  81446. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  81447. * Use xAxis.reversed to change the sorting order.
  81448. */
  81449. enabled?: boolean;
  81450. /**
  81451. * (Highcharts, Highstock) Whether to allow matching points by name in an
  81452. * update. If this option is disabled, points will be matched by order.
  81453. */
  81454. matchByName?: boolean;
  81455. /**
  81456. * (Highcharts, Highstock) Determines what data value should be used to sort
  81457. * by.
  81458. */
  81459. sortKey?: string;
  81460. }
  81461. /**
  81462. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  81463. * plotting discrete values, a little random noise may help telling the points
  81464. * apart. The jitter setting applies a random displacement of up to `n` axis
  81465. * units in either direction. So for example on a horizontal X axis, setting the
  81466. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  81467. * units to the left and 0.24 units to the right of the true axis position. On a
  81468. * category axis, setting it to 0.5 will fill up the bin and make the data
  81469. * appear continuous.
  81470. *
  81471. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  81472. * will correspond to the underlying series' default groupPadding and
  81473. * pointPadding settings.
  81474. */
  81475. export interface PlotScatter3dJitterOptions {
  81476. /**
  81477. * (Highcharts, Highstock) The maximal X offset for the random jitter
  81478. * effect.
  81479. */
  81480. x?: number;
  81481. /**
  81482. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  81483. * effect.
  81484. */
  81485. y?: number;
  81486. }
  81487. /**
  81488. * (Highcharts) A 3D scatter plot uses x, y and z coordinates to display values
  81489. * for three variables for a set of data.
  81490. *
  81491. * In TypeScript the type option must always be set.
  81492. *
  81493. * Configuration options for the series are given in three levels:
  81494. *
  81495. * 1. Options for all series in a chart are defined in the plotOptions.series
  81496. * object.
  81497. *
  81498. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  81499. *
  81500. * 3. Options for one single series are given in the series instance array. (see
  81501. * online documentation for example)
  81502. */
  81503. export interface PlotScatter3dOptions {
  81504. /**
  81505. * (Highcharts) Accessibility options for a series.
  81506. */
  81507. accessibility?: SeriesAccessibilityOptionsObject;
  81508. /**
  81509. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  81510. * rendered. If `true`, areas which don't correspond to a data point, are
  81511. * rendered as `null` points. If `false`, those areas are skipped.
  81512. */
  81513. allAreas?: boolean;
  81514. /**
  81515. * (Highcharts) Allow this series' points to be selected by clicking on the
  81516. * graphic (columns, point markers, pie slices, map areas etc).
  81517. *
  81518. * The selected points can be handled by point select and unselect events,
  81519. * or collectively by the getSelectedPoints function.
  81520. *
  81521. * And alternative way of selecting points is through dragging.
  81522. */
  81523. allowPointSelect?: boolean;
  81524. /**
  81525. * (Highcharts) Enable or disable the initial animation when a series is
  81526. * displayed. The animation can also be set as a configuration object.
  81527. * Please note that this option only applies to the initial animation of the
  81528. * series itself. For other animations, see chart.animation and the
  81529. * animation parameter under the API methods. The following properties are
  81530. * supported:
  81531. *
  81532. * - `defer`: The animation delay time in milliseconds.
  81533. *
  81534. * - `duration`: The duration of the animation in milliseconds.
  81535. *
  81536. * - `easing`: Can be a string reference to an easing function set on the
  81537. * `Math` object or a function. See the _Custom easing function_ demo below.
  81538. *
  81539. * Due to poor performance, animation is disabled in old IE browsers for
  81540. * several chart types.
  81541. */
  81542. animation?: (boolean|PlotScatter3dAnimationOptions|Partial<AnimationOptionsObject>);
  81543. /**
  81544. * (Highcharts) For some series, there is a limit that shuts down initial
  81545. * animation by default when the total number of points in the chart is too
  81546. * high. For example, for a column chart and its derivatives, animation does
  81547. * not run if there is more than 250 points totally. To disable this cap,
  81548. * set `animationLimit` to `Infinity`.
  81549. */
  81550. animationLimit?: number;
  81551. /**
  81552. * (Highmaps) The border color of the map areas.
  81553. *
  81554. * In styled mode, the border stroke is given in the `.highcharts-point`
  81555. * class.
  81556. */
  81557. borderColor?: (ColorString|GradientColorObject|PatternObject);
  81558. /**
  81559. * (Highmaps) The border width of each map area.
  81560. *
  81561. * In styled mode, the border stroke width is given in the
  81562. * `.highcharts-point` class.
  81563. */
  81564. borderWidth?: number;
  81565. /**
  81566. * (Highcharts) An additional class name to apply to the series' graphical
  81567. * elements. This option does not replace default class names of the
  81568. * graphical element.
  81569. */
  81570. className?: string;
  81571. /**
  81572. * (Highcharts) Disable this option to allow series rendering in the whole
  81573. * plotting area.
  81574. *
  81575. * **Note:** Clipping should be always enabled when chart.zoomType is set
  81576. */
  81577. clip?: boolean;
  81578. /**
  81579. * (Highcharts) The main color of the series. In line type series it applies
  81580. * to the line and the point markers unless otherwise specified. In bar type
  81581. * series it applies to the bars unless a color is specified per point. The
  81582. * default value is pulled from the `options.colors` array.
  81583. *
  81584. * In styled mode, the color can be defined by the colorIndex option. Also,
  81585. * the series color can be set with the `.highcharts-series`,
  81586. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  81587. * `.highcharts-series-{n}` class, or individual classes given by the
  81588. * `className` option.
  81589. */
  81590. color?: (ColorString|GradientColorObject|PatternObject);
  81591. /**
  81592. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  81593. * this number defines which colorAxis the particular series is connected
  81594. * to. It refers to either the axis id or the index of the axis in the
  81595. * colorAxis array, with 0 being the first. Set this option to false to
  81596. * prevent a series from connecting to the default color axis.
  81597. *
  81598. * Since v7.2.0 the option can also be an axis id or an axis index instead
  81599. * of a boolean flag.
  81600. */
  81601. colorAxis?: (boolean|number|string);
  81602. /**
  81603. * (Highcharts) Styled mode only. A specific color index to use for the
  81604. * series, so its graphic representations are given the class name
  81605. * `highcharts-color-{n}`.
  81606. */
  81607. colorIndex?: number;
  81608. /**
  81609. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  81610. * used to calculate point color if `colorAxis` is used. Requires to set
  81611. * `min` and `max` if some custom point property is used or if approximation
  81612. * for data grouping is set to `'sum'`.
  81613. */
  81614. colorKey?: string;
  81615. /**
  81616. * (Highstock) Compare the values of the series against the first non-null,
  81617. * non- zero value in the visible range. The y axis will show percentage or
  81618. * absolute change depending on whether `compare` is set to `"percent"` or
  81619. * `"value"`. When this is applied to multiple series, it allows comparing
  81620. * the development of the series against each other. Adds a `change` field
  81621. * to every point object.
  81622. */
  81623. compare?: string;
  81624. /**
  81625. * (Highstock) When compare is `percent`, this option dictates whether to
  81626. * use 0 or 100 as the base of comparison.
  81627. */
  81628. compareBase?: (0|100);
  81629. /**
  81630. * (Highstock) Defines if comparison should start from the first point
  81631. * within the visible range or should start from the first point **before**
  81632. * the range.
  81633. *
  81634. * In other words, this flag determines if first point within the visible
  81635. * range will have 0% (`compareStart=true`) or should have been already
  81636. * calculated according to the previous point (`compareStart=false`).
  81637. */
  81638. compareStart?: boolean;
  81639. /**
  81640. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  81641. * series plot across the extremes.
  81642. */
  81643. connectEnds?: boolean;
  81644. /**
  81645. * (Highcharts, Highstock) Whether to connect a graph line across null
  81646. * points, or render a gap between the two points on either side of the
  81647. * null.
  81648. */
  81649. connectNulls?: boolean;
  81650. /**
  81651. * (Gantt) Override Pathfinder connector options for a series. Requires
  81652. * Highcharts Gantt to be loaded.
  81653. */
  81654. connectors?: SeriesConnectorsOptionsObject;
  81655. /**
  81656. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  81657. * rounded to its nearest pixel in order to render sharp on screen. In some
  81658. * cases, when there are a lot of densely packed columns, this leads to
  81659. * visible difference in column widths or distance between columns. In these
  81660. * cases, setting `crisp` to `false` may look better, even though each
  81661. * column is rendered blurry.
  81662. */
  81663. crisp?: boolean;
  81664. /**
  81665. * (Highcharts) You can set the cursor to "pointer" if you have click events
  81666. * attached to the series, to signal to the user that the points and lines
  81667. * can be clicked.
  81668. *
  81669. * In styled mode, the series cursor can be set with the same classes as
  81670. * listed under series.color.
  81671. */
  81672. cursor?: (string|CursorValue);
  81673. /**
  81674. * (Highcharts) A reserved subspace to store options and values for
  81675. * customized functionality. Here you can add additional data for your own
  81676. * event callbacks and formatter callbacks.
  81677. */
  81678. custom?: Dictionary<any>;
  81679. /**
  81680. * (Highcharts) Name of the dash style to use for the graph, or for some
  81681. * series types the outline of each shape.
  81682. *
  81683. * In styled mode, the stroke dash-array can be set with the same classes as
  81684. * listed under series.color.
  81685. */
  81686. dashStyle?: DashStyleValue;
  81687. /**
  81688. * (Highstock) Data grouping is the concept of sampling the data values into
  81689. * larger blocks in order to ease readability and increase performance of
  81690. * the JavaScript charts. Highcharts Stock by default applies data grouping
  81691. * when the points become closer than a certain pixel value, determined by
  81692. * the `groupPixelWidth` option.
  81693. *
  81694. * If data grouping is applied, the grouping information of grouped points
  81695. * can be read from the Point.dataGroup. If point options other than the
  81696. * data itself are set, for example `name` or `color` or custom properties,
  81697. * the grouping logic doesn't know how to group it. In this case the options
  81698. * of the first point instance are copied over to the group point. This can
  81699. * be altered through a custom `approximation` callback function.
  81700. */
  81701. dataGrouping?: DataGroupingOptionsObject;
  81702. /**
  81703. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  81704. * labels, appearing next to each data point.
  81705. *
  81706. * Since v6.2.0, multiple data labels can be applied to each single point by
  81707. * defining them as an array of configs.
  81708. *
  81709. * In styled mode, the data labels can be styled with the
  81710. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  81711. * (see example).
  81712. */
  81713. dataLabels?: (PlotScatter3dDataLabelsOptions|Array<PlotScatter3dDataLabelsOptions>);
  81714. /**
  81715. * (Highcharts, Highstock) Options for the series data sorting.
  81716. */
  81717. dataSorting?: (DataSortingOptionsObject|PlotScatter3dDataSortingOptions);
  81718. /**
  81719. * (Highcharts) A description of the series to add to the screen reader
  81720. * information about the series.
  81721. */
  81722. description?: string;
  81723. /**
  81724. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  81725. * This includes point tooltips and click events on graphs and points. For
  81726. * large datasets it improves performance.
  81727. */
  81728. enableMouseTracking?: boolean;
  81729. /**
  81730. * (Highcharts) General event handlers for the series items. These event
  81731. * hooks can also be attached to the series at run time using the
  81732. * `Highcharts.addEvent` function.
  81733. */
  81734. events?: SeriesEventsOptionsObject;
  81735. /**
  81736. * (Highcharts) Determines whether the series should look for the nearest
  81737. * point in both dimensions or just the x-dimension when hovering the
  81738. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  81739. * series. If the data has duplicate x-values, it is recommended to set this
  81740. * to `'xy'` to allow hovering over all points.
  81741. *
  81742. * Applies only to series types using nearest neighbor search (not direct
  81743. * hover) for tooltip.
  81744. */
  81745. findNearestPointBy?: OptionsFindNearestPointByValue;
  81746. /**
  81747. * (Highstock) Defines when to display a gap in the graph, together with the
  81748. * gapUnit option.
  81749. *
  81750. * In case when `dataGrouping` is enabled, points can be grouped into a
  81751. * larger time span. This can make the grouped points to have a greater
  81752. * distance than the absolute value of `gapSize` property, which will result
  81753. * in disappearing graph completely. To prevent this situation the mentioned
  81754. * distance between grouped points is used instead of previously defined
  81755. * `gapSize`.
  81756. *
  81757. * In practice, this option is most often used to visualize gaps in time
  81758. * series. In a stock chart, intraday data is available for daytime hours,
  81759. * while gaps will appear in nights and weekends.
  81760. */
  81761. gapSize?: number;
  81762. /**
  81763. * (Highstock) Together with gapSize, this option defines where to draw gaps
  81764. * in the graph.
  81765. *
  81766. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  81767. * if the distance between two points is greater than 5 times that of the
  81768. * two closest points, the graph will be broken.
  81769. *
  81770. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  81771. * values, which on a datetime axis is milliseconds. This also applies to
  81772. * the navigator series that inherits gap options from the base series.
  81773. */
  81774. gapUnit?: OptionsGapUnitValue;
  81775. /**
  81776. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  81777. * chart width or only the zoomed area when zooming in on parts of the X
  81778. * axis. By default, the Y axis adjusts to the min and max of the visible
  81779. * data. Cartesian series only.
  81780. */
  81781. getExtremesFromAll?: boolean;
  81782. /**
  81783. * (Highcharts) When set to `false` will prevent the series data from being
  81784. * included in any form of data export.
  81785. *
  81786. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  81787. * `includeInCSVExport`.
  81788. */
  81789. includeInDataExport?: boolean;
  81790. /**
  81791. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  81792. * When plotting discrete values, a little random noise may help telling the
  81793. * points apart. The jitter setting applies a random displacement of up to
  81794. * `n` axis units in either direction. So for example on a horizontal X
  81795. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  81796. * position between 0.24 units to the left and 0.24 units to the right of
  81797. * the true axis position. On a category axis, setting it to 0.5 will fill
  81798. * up the bin and make the data appear continuous.
  81799. *
  81800. * When rendered on top of a box plot or a column series, a jitter value of
  81801. * 0.24 will correspond to the underlying series' default groupPadding and
  81802. * pointPadding settings.
  81803. */
  81804. jitter?: PlotScatter3dJitterOptions;
  81805. /**
  81806. * (Highmaps) What property to join the `mapData` to the value data. For
  81807. * example, if joinBy is "code", the mapData items with a specific code is
  81808. * merged into the data with the same code. For maps loaded from GeoJSON,
  81809. * the keys may be held in each point's `properties` object.
  81810. *
  81811. * The joinBy option can also be an array of two values, where the first
  81812. * points to a key in the `mapData`, and the second points to another key in
  81813. * the `data`.
  81814. *
  81815. * When joinBy is `null`, the map items are joined by their position in the
  81816. * array, which performs much better in maps with many data points. This is
  81817. * the recommended option if you are printing more than a thousand data
  81818. * points and have a backend that can preprocess the data into a parallel
  81819. * array of the mapData.
  81820. */
  81821. joinBy?: (string|Array<string>);
  81822. /**
  81823. * (Highcharts) An array specifying which option maps to which key in the
  81824. * data point array. This makes it convenient to work with unstructured data
  81825. * arrays from different sources.
  81826. */
  81827. keys?: Array<string>;
  81828. /**
  81829. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  81830. * series as possible in a natural way, seeking to avoid other series. The
  81831. * goal of this feature is to make the chart more easily readable, like if a
  81832. * human designer placed the labels in the optimal position.
  81833. *
  81834. * The series labels currently work with series types having a `graph` or an
  81835. * `area`.
  81836. */
  81837. label?: SeriesLabelOptionsObject;
  81838. /**
  81839. * (Highstock) The line marks the last price from all points.
  81840. */
  81841. lastPrice?: SeriesLastPriceOptionsObject;
  81842. /**
  81843. * (Highstock) The line marks the last price from visible range of points.
  81844. */
  81845. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  81846. /**
  81847. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  81848. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  81849. * the ends and bends.
  81850. */
  81851. linecap?: SeriesLinecapValue;
  81852. /**
  81853. * (Highcharts, Highstock) The width of the line connecting the data points.
  81854. */
  81855. lineWidth?: number;
  81856. /**
  81857. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  81858. * Additionally, the value can be ":previous" to link to the previous
  81859. * series. When two series are linked, only the first one appears in the
  81860. * legend. Toggling the visibility of this also toggles the linked series.
  81861. *
  81862. * If master series uses data sorting and linked series does not have its
  81863. * own sorting definition, the linked series will be sorted in the same
  81864. * order as the master one.
  81865. */
  81866. linkedTo?: string;
  81867. /**
  81868. * (Highcharts) Options for the point markers of line-like series.
  81869. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  81870. * visual appearance of the markers. Other series types, like column series,
  81871. * don't have markers, but have visual options on the series level instead.
  81872. *
  81873. * In styled mode, the markers can be styled with the `.highcharts-point`,
  81874. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  81875. */
  81876. marker?: PointMarkerOptionsObject;
  81877. /**
  81878. * (Highstock) Options for the corresponding navigator series if
  81879. * `showInNavigator` is `true` for this series. Available options are the
  81880. * same as any series, documented at plotOptions and series.
  81881. *
  81882. * These options are merged with options in navigator.series, and will take
  81883. * precedence if the same option is defined both places.
  81884. */
  81885. navigatorOptions?: PlotSeriesOptions;
  81886. /**
  81887. * (Highcharts) The color for the parts of the graph or points that are
  81888. * below the threshold. Note that `zones` takes precedence over the negative
  81889. * color. Using `negativeColor` is equivalent to applying a zone with value
  81890. * of 0.
  81891. */
  81892. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  81893. /**
  81894. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  81895. * dataLabels.
  81896. */
  81897. opacity?: number;
  81898. /**
  81899. * (Highcharts) Properties for each single point.
  81900. */
  81901. point?: PlotSeriesPointOptions;
  81902. /**
  81903. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  81904. * an individual series. Overrides the chart wide configuration.
  81905. */
  81906. pointDescriptionFormatter?: Function;
  81907. /**
  81908. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81909. * a series, `pointInterval` defines the interval of the x values. For
  81910. * example, if a series contains one value every decade starting from year
  81911. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  81912. * `pointInterval` is set in milliseconds.
  81913. *
  81914. * It can be also be combined with `pointIntervalUnit` to draw irregular
  81915. * time intervals.
  81916. *
  81917. * Please note that this options applies to the _series data_, not the
  81918. * interval of the axis ticks, which is independent.
  81919. */
  81920. pointInterval?: number;
  81921. /**
  81922. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  81923. * setting the pointInterval to irregular time units, `day`, `month` and
  81924. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  81925. * also takes the DST crossover into consideration when dealing with local
  81926. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  81927. * months, 10 years etc.
  81928. *
  81929. * Please note that this options applies to the _series data_, not the
  81930. * interval of the axis ticks, which is independent.
  81931. */
  81932. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  81933. /**
  81934. * (Highstock) The width of each point on the x axis. For example in a
  81935. * column chart with one value each day, the pointRange would be 1 day (= 24
  81936. * * 3600
  81937. *
  81938. * * 1000 milliseconds). This is normally computed automatically, but this
  81939. * option can be used to override the automatic value.
  81940. */
  81941. pointRange?: number;
  81942. /**
  81943. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  81944. * a series, pointStart defines on what value to start. For example, if a
  81945. * series contains one yearly value starting from 1945, set pointStart to
  81946. * 1945.
  81947. */
  81948. pointStart?: number;
  81949. /**
  81950. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  81951. * true, the checkbox next to the series name in the legend will be checked
  81952. * for a selected series.
  81953. */
  81954. selected?: boolean;
  81955. /**
  81956. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  81957. * allow selecting the series. The state of the checkbox is determined by
  81958. * the `selected` option.
  81959. */
  81960. showCheckbox?: boolean;
  81961. /**
  81962. * (Highcharts) Whether to display this particular series or series type in
  81963. * the legend. Standalone series are shown in legend by default, and linked
  81964. * series are not. Since v7.2.0 it is possible to show series that use
  81965. * colorAxis by setting this option to `true`.
  81966. */
  81967. showInLegend?: boolean;
  81968. /**
  81969. * (Highstock) Whether or not to show the series in the navigator. Takes
  81970. * precedence over navigator.baseSeries if defined.
  81971. */
  81972. showInNavigator?: boolean;
  81973. /**
  81974. * (Highcharts) If set to `true`, the accessibility module will skip past
  81975. * the points in this series for keyboard navigation.
  81976. */
  81977. skipKeyboardNavigation?: boolean;
  81978. /**
  81979. * (Highcharts, Highstock) When this is true, the series will not cause the
  81980. * Y axis to cross the zero plane (or threshold option) unless the data
  81981. * actually crosses the plane.
  81982. *
  81983. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  81984. * make the Y axis show negative values according to the `minPadding`
  81985. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  81986. */
  81987. softThreshold?: boolean;
  81988. /**
  81989. * (Highcharts, Highstock) Whether to stack the values of each series on top
  81990. * of each other. Possible values are `undefined` to disable, `"normal"` to
  81991. * stack by value or `"percent"`.
  81992. *
  81993. * When stacking is enabled, data must be sorted in ascending X order.
  81994. *
  81995. * Some stacking options are related to specific series types. In the
  81996. * streamgraph series type, the stacking option is set to `"stream"`. The
  81997. * second one is `"overlap"`, which only applies to waterfall series.
  81998. */
  81999. stacking?: OptionsStackingValue;
  82000. states?: SeriesStatesOptionsObject;
  82001. /**
  82002. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  82003. * values are `left`, `center` and `right`.
  82004. */
  82005. step?: OptionsStepValue;
  82006. /**
  82007. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  82008. * `mouseOut` event on a series isn't triggered until the mouse moves over
  82009. * another series, or out of the plot area. When false, the `mouseOut` event
  82010. * on a series is triggered when the mouse leaves the area around the
  82011. * series' graph or markers. This also implies the tooltip. When
  82012. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  82013. * be hidden when moving the mouse between series.
  82014. */
  82015. stickyTracking?: boolean;
  82016. /**
  82017. * (Highcharts, Highstock) The threshold, also called zero level or base
  82018. * level. For line type series this is only used in conjunction with
  82019. * negativeColor.
  82020. */
  82021. threshold?: (number|null);
  82022. /**
  82023. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  82024. * of each single series. Properties are inherited from tooltip. Overridable
  82025. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  82026. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  82027. * series.name by default shows in the headerFormat and point.x and point.y
  82028. * in the pointFormat.
  82029. */
  82030. tooltip?: SeriesTooltipOptionsObject;
  82031. /**
  82032. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  82033. * is longer than this, only one dimensional arrays of numbers, or two
  82034. * dimensional arrays with x and y values are allowed. Also, only the first
  82035. * point is tested, and the rest are assumed to be the same format. This
  82036. * saves expensive data checking and indexing in long series. Set it to `0`
  82037. * disable.
  82038. *
  82039. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  82040. * two dimensional arrays are allowed.
  82041. */
  82042. turboThreshold?: number;
  82043. /**
  82044. * (Highcharts) Set the initial visibility of the series.
  82045. */
  82046. visible?: boolean;
  82047. /**
  82048. * (Highmaps) Define the z index of the series.
  82049. */
  82050. zIndex?: number;
  82051. /**
  82052. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  82053. */
  82054. zoneAxis?: string;
  82055. /**
  82056. * (Highcharts, Highstock) An array defining zones within a series. Zones
  82057. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  82058. * the `zoneAxis` option. The zone definitions have to be in ascending order
  82059. * regarding to the value.
  82060. *
  82061. * In styled mode, the color zones are styled with the
  82062. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  82063. * option (view live demo).
  82064. */
  82065. zones?: Array<SeriesZonesOptionsObject>;
  82066. }
  82067. /**
  82068. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  82069. * is displayed. The animation can also be set as a configuration object. Please
  82070. * note that this option only applies to the initial animation of the series
  82071. * itself. For other animations, see chart.animation and the animation parameter
  82072. * under the API methods. The following properties are supported:
  82073. *
  82074. * - `defer`: The animation delay time in milliseconds.
  82075. *
  82076. * - `duration`: The duration of the animation in milliseconds.
  82077. *
  82078. * - `easing`: Can be a string reference to an easing function set on the `Math`
  82079. * object or a function. See the _Custom easing function_ demo below.
  82080. *
  82081. * Due to poor performance, animation is disabled in old IE browsers for several
  82082. * chart types.
  82083. */
  82084. export interface PlotScatterAnimationOptions {
  82085. defer?: number;
  82086. }
  82087. export interface PlotScatterClusterEventsOptions {
  82088. /**
  82089. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  82090. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  82091. * function. The default action is to zoom to the cluster points range. This
  82092. * can be prevented by calling `event.preventDefault()`.
  82093. */
  82094. drillToCluster?: MarkerClusterDrillCallbackFunction;
  82095. }
  82096. /**
  82097. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  82098. * to change the type of the algorithm, gridSize, distance or iterations.
  82099. */
  82100. export interface PlotScatterClusterLayoutAlgorithmOptions {
  82101. /**
  82102. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  82103. * maximum distance between point and cluster center so that this point will
  82104. * be inside the cluster. The distance is either a number defining pixels or
  82105. * a percentage defining a percentage of the plot area width.
  82106. */
  82107. distance?: (number|string);
  82108. /**
  82109. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  82110. * size of a grid square element either as a number defining pixels, or a
  82111. * percentage defining a percentage of the plot area width.
  82112. */
  82113. gridSize?: (number|string);
  82114. /**
  82115. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  82116. * the number of iterations that this algorithm will be repeated to find
  82117. * clusters positions.
  82118. */
  82119. iterations?: number;
  82120. /**
  82121. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  82122. * more visible points than the kmeansThreshold the `grid` algorithm is used
  82123. * to find clusters, otherwise `kmeans`. It ensures good performance on
  82124. * large datasets and better clusters arrangement after the zoom.
  82125. */
  82126. kmeansThreshold?: number;
  82127. /**
  82128. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  82129. * a cluster. There are three available algorithms:
  82130. *
  82131. * 1) `grid` - grid-based clustering technique. Points are assigned to
  82132. * squares of set size depending on their position on the plot area. Points
  82133. * inside the grid square are combined into a cluster. The grid size can be
  82134. * controlled by `gridSize` property (grid size changes at certain zoom
  82135. * levels).
  82136. *
  82137. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  82138. * points are divided using the grid method (distance property is a grid
  82139. * size) to find the initial amount of clusters. Next, each point is
  82140. * classified by computing the distance between each cluster center and that
  82141. * point. When the closest cluster distance is lower than distance property
  82142. * set by a user the point is added to this cluster otherwise is classified
  82143. * as `noise`. The algorithm is repeated until each cluster center not
  82144. * change its previous position more than one pixel. This technique is more
  82145. * accurate but also more time consuming than the `grid` algorithm,
  82146. * especially for big datasets.
  82147. *
  82148. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  82149. * algorithm uses k-means algorithm only on the chart initialization or when
  82150. * chart extremes have greater range than on initialization. When a chart is
  82151. * redrawn the algorithm checks only clustered points distance from the
  82152. * cluster center and rebuild it when the point is spaced enough to be
  82153. * outside the cluster. It provides performance improvement and more stable
  82154. * clusters position yet can be used rather on small and sparse datasets.
  82155. *
  82156. * By default, the algorithm depends on visible quantity of points and
  82157. * `kmeansThreshold`. When there are more visible points than the
  82158. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  82159. *
  82160. * The custom clustering algorithm can be added by assigning a callback
  82161. * function as the type property. This function takes an array of
  82162. * `processedXData`, `processedYData`, `processedXData` indexes and
  82163. * `layoutAlgorithm` options as arguments and should return an object with
  82164. * grouped data.
  82165. *
  82166. * The algorithm should return an object like that: (see online
  82167. * documentation for example)
  82168. *
  82169. * `clusterId` (example above - unique id of a cluster or noise) is an array
  82170. * of points belonging to a cluster. If the array has only one point or
  82171. * fewer points than set in `cluster.minimumClusterSize` it won't be
  82172. * combined into a cluster.
  82173. */
  82174. type?: (string|Function);
  82175. }
  82176. /**
  82177. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  82178. * the data values into larger blocks in order to ease readability and increase
  82179. * performance of the JavaScript charts.
  82180. *
  82181. * Note: marker clusters module is not working with `boost` and
  82182. * `draggable-points` modules.
  82183. *
  82184. * The marker clusters feature requires the marker-clusters.js file to be
  82185. * loaded, found in the modules directory of the download package, or online at
  82186. * code.highcharts.com/modules/marker-clusters.js.
  82187. */
  82188. export interface PlotScatterClusterOptions {
  82189. /**
  82190. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  82191. * this option works only when `layoutAlgorithm.type = "grid"`.
  82192. */
  82193. allowOverlap?: boolean;
  82194. /**
  82195. * (Highcharts, Highmaps) Options for the cluster marker animation.
  82196. */
  82197. animation?: (boolean|Partial<AnimationOptionsObject>);
  82198. /**
  82199. * (Highcharts, Highmaps) Options for the cluster data labels.
  82200. */
  82201. dataLabels?: DataLabelsOptions;
  82202. /**
  82203. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  82204. * when a cluster is clicked.
  82205. */
  82206. drillToCluster?: boolean;
  82207. /**
  82208. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  82209. */
  82210. enabled?: boolean;
  82211. events?: PlotScatterClusterEventsOptions;
  82212. /**
  82213. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  82214. * options to change the type of the algorithm, gridSize, distance or
  82215. * iterations.
  82216. */
  82217. layoutAlgorithm?: PlotScatterClusterLayoutAlgorithmOptions;
  82218. /**
  82219. * (Highcharts, Highmaps) Options for the cluster marker.
  82220. */
  82221. marker?: PointMarkerOptionsObject;
  82222. /**
  82223. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  82224. * cluster. This value has to be greater or equal to 2.
  82225. */
  82226. minimumClusterSize?: number;
  82227. states?: PlotScatterClusterStatesOptions;
  82228. /**
  82229. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  82230. *
  82231. * In styled mode, the color zones are styled with the
  82232. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  82233. * `className` option.
  82234. */
  82235. zones?: Array<PlotScatterClusterZonesOptions>;
  82236. }
  82237. export interface PlotScatterClusterStatesHoverOptions {
  82238. /**
  82239. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  82240. * state. When `undefined`, the series' or point's fillColor for normal
  82241. * state is used.
  82242. */
  82243. fillColor?: ColorType;
  82244. }
  82245. export interface PlotScatterClusterStatesOptions {
  82246. hover?: PlotScatterClusterStatesHoverOptions;
  82247. }
  82248. /**
  82249. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  82250. *
  82251. * In styled mode, the color zones are styled with the
  82252. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  82253. * option.
  82254. */
  82255. export interface PlotScatterClusterZonesOptions {
  82256. /**
  82257. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  82258. * zone.
  82259. */
  82260. className?: string;
  82261. /**
  82262. * (Highcharts, Highmaps) The value where the zone starts.
  82263. */
  82264. from?: number;
  82265. /**
  82266. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  82267. * zone.
  82268. */
  82269. marker?: PointMarkerOptionsObject;
  82270. /**
  82271. * (Highcharts, Highmaps) The value where the zone ends.
  82272. */
  82273. to?: number;
  82274. }
  82275. /**
  82276. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82277. * animation when a series is displayed for the `dataLabels`. The animation can
  82278. * also be set as a configuration object. Please note that this option only
  82279. * applies to the initial animation. For other animations, see chart.animation
  82280. * and the animation parameter under the API methods. The following properties
  82281. * are supported:
  82282. *
  82283. * - `defer`: The animation delay time in milliseconds.
  82284. */
  82285. export interface PlotScatterDataLabelsAnimationOptions {
  82286. /**
  82287. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  82288. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  82289. * inherits defer time from the series.animation.defer.
  82290. */
  82291. defer?: number;
  82292. }
  82293. /**
  82294. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  82295. * appearing next to each data point.
  82296. *
  82297. * Since v6.2.0, multiple data labels can be applied to each single point by
  82298. * defining them as an array of configs.
  82299. *
  82300. * In styled mode, the data labels can be styled with the
  82301. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  82302. * example).
  82303. */
  82304. export interface PlotScatterDataLabelsOptions {
  82305. /**
  82306. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  82307. * compared to the point. If `right`, the right side of the label should be
  82308. * touching the point. For points with an extent, like columns, the
  82309. * alignments also dictates how to align it inside the box, as given with
  82310. * the inside option. Can be one of `left`, `center` or `right`.
  82311. */
  82312. align?: (AlignValue|null);
  82313. /**
  82314. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  82315. * overlap. To make the labels less sensitive for overlapping, the
  82316. * dataLabels.padding can be set to 0.
  82317. */
  82318. allowOverlap?: boolean;
  82319. /**
  82320. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  82321. * animation when a series is displayed for the `dataLabels`. The animation
  82322. * can also be set as a configuration object. Please note that this option
  82323. * only applies to the initial animation. For other animations, see
  82324. * chart.animation and the animation parameter under the API methods. The
  82325. * following properties are supported:
  82326. *
  82327. * - `defer`: The animation delay time in milliseconds.
  82328. */
  82329. animation?: (boolean|PlotScatterDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  82330. /**
  82331. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  82332. * for the data label.
  82333. */
  82334. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  82335. /**
  82336. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  82337. * label. Defaults to `undefined`.
  82338. */
  82339. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82340. /**
  82341. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  82342. * the data label.
  82343. */
  82344. borderRadius?: number;
  82345. /**
  82346. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  82347. * the data label.
  82348. */
  82349. borderWidth?: number;
  82350. /**
  82351. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  82352. * Particularly in styled mode, this can be used to give each series' or
  82353. * point's data label unique styling. In addition to this option, a default
  82354. * color class name is added so that we can give the labels a contrast text
  82355. * shadow.
  82356. */
  82357. className?: string;
  82358. /**
  82359. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  82360. * labels. Defaults to `undefined`. For certain series types, like column or
  82361. * map, the data labels can be drawn inside the points. In this case the
  82362. * data label will be drawn with maximum contrast by default. Additionally,
  82363. * it will be given a `text-outline` style with the opposite color, to
  82364. * further increase the contrast. This can be overridden by setting the
  82365. * `text-outline` style to `none` in the `dataLabels.style` option.
  82366. */
  82367. color?: (ColorString|GradientColorObject|PatternObject);
  82368. /**
  82369. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  82370. * are outside the plot area. By default, the data label is moved inside the
  82371. * plot area according to the overflow option.
  82372. */
  82373. crop?: boolean;
  82374. /**
  82375. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  82376. * labels until the initial series animation has finished. Setting to
  82377. * `false` renders the data label immediately. If set to `true` inherits the
  82378. * defer time set in plotOptions.series.animation. If set to a number, a
  82379. * defer time is specified in milliseconds.
  82380. */
  82381. defer?: (boolean|number);
  82382. /**
  82383. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  82384. * labels.
  82385. */
  82386. enabled?: boolean;
  82387. /**
  82388. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  82389. * of which data labels to display. The declarative filter is designed for
  82390. * use when callback functions are not available, like when the chart
  82391. * options require a pure JSON structure or for use with graphical editors.
  82392. * For programmatic control, use the `formatter` instead, and return
  82393. * `undefined` to disable a single data label.
  82394. */
  82395. filter?: DataLabelsFilterOptionsObject;
  82396. /**
  82397. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  82398. * label. Available variables are the same as for `formatter`.
  82399. */
  82400. format?: string;
  82401. /**
  82402. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  82403. * format the data label. Note that if a `format` is defined, the format
  82404. * takes precedence and the formatter is ignored.
  82405. */
  82406. formatter?: DataLabelsFormatterCallbackFunction;
  82407. /**
  82408. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  82409. * columns or map areas, whether to align the data label inside the box or
  82410. * to the actual value point. Defaults to `false` in most cases, `true` in
  82411. * stacked columns.
  82412. */
  82413. inside?: boolean;
  82414. /**
  82415. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  82416. * of null. Works analogously to format. `nullFormat` can be applied only to
  82417. * series which support displaying null points.
  82418. */
  82419. nullFormat?: (boolean|string);
  82420. /**
  82421. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  82422. * that defines formatting for points with the value of null. Works
  82423. * analogously to formatter. `nullPointFormatter` can be applied only to
  82424. * series which support displaying null points.
  82425. */
  82426. nullFormatter?: DataLabelsFormatterCallbackFunction;
  82427. /**
  82428. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  82429. * flow outside the plot area. The default is `"justify"`, which aligns them
  82430. * inside the plot area. For columns and bars, this means it will be moved
  82431. * inside the bar. To display data labels outside the plot area, set `crop`
  82432. * to `false` and `overflow` to `"allow"`.
  82433. */
  82434. overflow?: DataLabelsOverflowValue;
  82435. /**
  82436. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  82437. * the `backgroundColor` is set, this is the padding within the box.
  82438. */
  82439. padding?: number;
  82440. /**
  82441. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  82442. * points. If `center` alignment is not possible, it defaults to `right`.
  82443. */
  82444. position?: AlignValue;
  82445. /**
  82446. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  82447. * that due to a more complex structure, backgrounds, borders and padding
  82448. * will be lost on a rotated data label.
  82449. */
  82450. rotation?: number;
  82451. /**
  82452. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  82453. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  82454. * an object configuration containing `color`, `offsetX`, `offsetY`,
  82455. * `opacity` and `width`.
  82456. */
  82457. shadow?: (boolean|ShadowOptionsObject);
  82458. /**
  82459. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  82460. * the border around the label. Symbols are predefined functions on the
  82461. * Renderer object.
  82462. */
  82463. shape?: string;
  82464. /**
  82465. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  82466. * default `color` setting is `"contrast"`, which is a pseudo color that
  82467. * Highcharts picks up and applies the maximum contrast to the underlying
  82468. * point item, for example the bar in a bar chart.
  82469. *
  82470. * The `textOutline` is a pseudo property that applies an outline of the
  82471. * given width with the given color, which by default is the maximum
  82472. * contrast to the text. So a bright text color will result in a black text
  82473. * outline for maximum readability on a mixed background. In some cases,
  82474. * especially with grayscale text, the text outline doesn't work well, in
  82475. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  82476. * is true, the `textOutline` will not be picked up. In this, case, the same
  82477. * effect can be acheived through the `text-shadow` CSS property.
  82478. *
  82479. * For some series types, where each point has an extent, like for example
  82480. * tree maps, the data label may overflow the point. There are two
  82481. * strategies for handling overflow. By default, the text will wrap to
  82482. * multiple lines. The other strategy is to set `style.textOverflow` to
  82483. * `ellipsis`, which will keep the text on one line plus it will break
  82484. * inside long words.
  82485. */
  82486. style?: CSSObject;
  82487. /**
  82488. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  82489. * should follow marker's shape. Border and background are disabled for a
  82490. * label that follows a path.
  82491. *
  82492. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  82493. * to true will disable this option.
  82494. */
  82495. textPath?: DataLabelsTextPathOptionsObject;
  82496. /**
  82497. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  82498. * the labels.
  82499. */
  82500. useHTML?: boolean;
  82501. /**
  82502. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  82503. * label. Can be one of `top`, `middle` or `bottom`. The default value
  82504. * depends on the data, for instance in a column chart, the label is above
  82505. * positive values and below negative values.
  82506. */
  82507. verticalAlign?: (VerticalAlignValue|null);
  82508. /**
  82509. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  82510. * label relative to the point in pixels.
  82511. */
  82512. x?: number;
  82513. /**
  82514. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  82515. * label relative to the point in pixels.
  82516. */
  82517. y?: number;
  82518. /**
  82519. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  82520. * The default Z index puts it above the series. Use a Z index of 2 to
  82521. * display it behind the series.
  82522. */
  82523. z?: number;
  82524. }
  82525. /**
  82526. * (Highcharts, Highstock) Options for the series data sorting.
  82527. */
  82528. export interface PlotScatterDataSortingOptions {
  82529. /**
  82530. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  82531. * Use xAxis.reversed to change the sorting order.
  82532. */
  82533. enabled?: boolean;
  82534. /**
  82535. * (Highcharts, Highstock) Whether to allow matching points by name in an
  82536. * update. If this option is disabled, points will be matched by order.
  82537. */
  82538. matchByName?: boolean;
  82539. /**
  82540. * (Highcharts, Highstock) Determines what data value should be used to sort
  82541. * by.
  82542. */
  82543. sortKey?: string;
  82544. }
  82545. /**
  82546. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  82547. * one state by default, the `default` state.
  82548. */
  82549. export interface PlotScatterDragDropGuideBoxOptions {
  82550. /**
  82551. * (Highcharts, Highstock) Style options for the guide box default state.
  82552. */
  82553. default?: DragDropGuideBoxOptionsObject;
  82554. }
  82555. /**
  82556. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
  82557. * plotting discrete values, a little random noise may help telling the points
  82558. * apart. The jitter setting applies a random displacement of up to `n` axis
  82559. * units in either direction. So for example on a horizontal X axis, setting the
  82560. * `jitter.x` to 0.24 will render the point in a random position between 0.24
  82561. * units to the left and 0.24 units to the right of the true axis position. On a
  82562. * category axis, setting it to 0.5 will fill up the bin and make the data
  82563. * appear continuous.
  82564. *
  82565. * When rendered on top of a box plot or a column series, a jitter value of 0.24
  82566. * will correspond to the underlying series' default groupPadding and
  82567. * pointPadding settings.
  82568. */
  82569. export interface PlotScatterJitterOptions {
  82570. /**
  82571. * (Highcharts, Highstock) The maximal X offset for the random jitter
  82572. * effect.
  82573. */
  82574. x?: number;
  82575. /**
  82576. * (Highcharts, Highstock) The maximal Y offset for the random jitter
  82577. * effect.
  82578. */
  82579. y?: number;
  82580. }
  82581. /**
  82582. * (Highcharts, Highstock) A scatter plot uses cartesian coordinates to display
  82583. * values for two variables for a set of data.
  82584. *
  82585. * In TypeScript the type option must always be set.
  82586. *
  82587. * Configuration options for the series are given in three levels:
  82588. *
  82589. * 1. Options for all series in a chart are defined in the plotOptions.series
  82590. * object.
  82591. *
  82592. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  82593. *
  82594. * 3. Options for one single series are given in the series instance array. (see
  82595. * online documentation for example)
  82596. */
  82597. export interface PlotScatterOptions {
  82598. /**
  82599. * (Highcharts, Highstock) Accessibility options for a series.
  82600. */
  82601. accessibility?: SeriesAccessibilityOptionsObject;
  82602. /**
  82603. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  82604. * rendered. If `true`, areas which don't correspond to a data point, are
  82605. * rendered as `null` points. If `false`, those areas are skipped.
  82606. */
  82607. allAreas?: boolean;
  82608. /**
  82609. * (Highcharts, Highstock) Allow this series' points to be selected by
  82610. * clicking on the graphic (columns, point markers, pie slices, map areas
  82611. * etc).
  82612. *
  82613. * The selected points can be handled by point select and unselect events,
  82614. * or collectively by the getSelectedPoints function.
  82615. *
  82616. * And alternative way of selecting points is through dragging.
  82617. */
  82618. allowPointSelect?: boolean;
  82619. /**
  82620. * (Highcharts, Highstock) Enable or disable the initial animation when a
  82621. * series is displayed. The animation can also be set as a configuration
  82622. * object. Please note that this option only applies to the initial
  82623. * animation of the series itself. For other animations, see chart.animation
  82624. * and the animation parameter under the API methods. The following
  82625. * properties are supported:
  82626. *
  82627. * - `defer`: The animation delay time in milliseconds.
  82628. *
  82629. * - `duration`: The duration of the animation in milliseconds.
  82630. *
  82631. * - `easing`: Can be a string reference to an easing function set on the
  82632. * `Math` object or a function. See the _Custom easing function_ demo below.
  82633. *
  82634. * Due to poor performance, animation is disabled in old IE browsers for
  82635. * several chart types.
  82636. */
  82637. animation?: (boolean|PlotScatterAnimationOptions|Partial<AnimationOptionsObject>);
  82638. /**
  82639. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  82640. * initial animation by default when the total number of points in the chart
  82641. * is too high. For example, for a column chart and its derivatives,
  82642. * animation does not run if there is more than 250 points totally. To
  82643. * disable this cap, set `animationLimit` to `Infinity`.
  82644. */
  82645. animationLimit?: number;
  82646. /**
  82647. * (Highcharts, Highstock) Sets the color blending in the boost module.
  82648. */
  82649. boostBlending?: OptionsBoostBlendingValue;
  82650. /**
  82651. * (Highcharts, Highstock) Set the point threshold for when a series should
  82652. * enter boost mode.
  82653. *
  82654. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  82655. * there are 2000 or more points in the series.
  82656. *
  82657. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  82658. * it to 1 will force boosting.
  82659. *
  82660. * Note that the cropThreshold also affects this setting. When zooming in on
  82661. * a series that has fewer points than the `cropThreshold`, all points are
  82662. * rendered although outside the visible plot area, and the `boostThreshold`
  82663. * won't take effect.
  82664. */
  82665. boostThreshold?: number;
  82666. /**
  82667. * (Highmaps) The border color of the map areas.
  82668. *
  82669. * In styled mode, the border stroke is given in the `.highcharts-point`
  82670. * class.
  82671. */
  82672. borderColor?: (ColorString|GradientColorObject|PatternObject);
  82673. /**
  82674. * (Highmaps) The border width of each map area.
  82675. *
  82676. * In styled mode, the border stroke width is given in the
  82677. * `.highcharts-point` class.
  82678. */
  82679. borderWidth?: number;
  82680. /**
  82681. * (Highcharts, Highstock) An additional class name to apply to the series'
  82682. * graphical elements. This option does not replace default class names of
  82683. * the graphical element.
  82684. */
  82685. className?: string;
  82686. /**
  82687. * (Highcharts, Highstock) Disable this option to allow series rendering in
  82688. * the whole plotting area.
  82689. *
  82690. * **Note:** Clipping should be always enabled when chart.zoomType is set
  82691. */
  82692. clip?: boolean;
  82693. /**
  82694. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  82695. * sampling the data values into larger blocks in order to ease readability
  82696. * and increase performance of the JavaScript charts.
  82697. *
  82698. * Note: marker clusters module is not working with `boost` and
  82699. * `draggable-points` modules.
  82700. *
  82701. * The marker clusters feature requires the marker-clusters.js file to be
  82702. * loaded, found in the modules directory of the download package, or online
  82703. * at code.highcharts.com/modules/marker-clusters.js.
  82704. */
  82705. cluster?: PlotScatterClusterOptions;
  82706. /**
  82707. * (Highcharts, Highstock) The main color of the series. In line type series
  82708. * it applies to the line and the point markers unless otherwise specified.
  82709. * In bar type series it applies to the bars unless a color is specified per
  82710. * point. The default value is pulled from the `options.colors` array.
  82711. *
  82712. * In styled mode, the color can be defined by the colorIndex option. Also,
  82713. * the series color can be set with the `.highcharts-series`,
  82714. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  82715. * `.highcharts-series-{n}` class, or individual classes given by the
  82716. * `className` option.
  82717. */
  82718. color?: (ColorString|GradientColorObject|PatternObject);
  82719. /**
  82720. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  82721. * this number defines which colorAxis the particular series is connected
  82722. * to. It refers to either the axis id or the index of the axis in the
  82723. * colorAxis array, with 0 being the first. Set this option to false to
  82724. * prevent a series from connecting to the default color axis.
  82725. *
  82726. * Since v7.2.0 the option can also be an axis id or an axis index instead
  82727. * of a boolean flag.
  82728. */
  82729. colorAxis?: (boolean|number|string);
  82730. /**
  82731. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  82732. * for the series, so its graphic representations are given the class name
  82733. * `highcharts-color-{n}`.
  82734. */
  82735. colorIndex?: number;
  82736. /**
  82737. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  82738. * used to calculate point color if `colorAxis` is used. Requires to set
  82739. * `min` and `max` if some custom point property is used or if approximation
  82740. * for data grouping is set to `'sum'`.
  82741. */
  82742. colorKey?: string;
  82743. /**
  82744. * (Highstock) Compare the values of the series against the first non-null,
  82745. * non- zero value in the visible range. The y axis will show percentage or
  82746. * absolute change depending on whether `compare` is set to `"percent"` or
  82747. * `"value"`. When this is applied to multiple series, it allows comparing
  82748. * the development of the series against each other. Adds a `change` field
  82749. * to every point object.
  82750. */
  82751. compare?: string;
  82752. /**
  82753. * (Highstock) When compare is `percent`, this option dictates whether to
  82754. * use 0 or 100 as the base of comparison.
  82755. */
  82756. compareBase?: (0|100);
  82757. /**
  82758. * (Highstock) Defines if comparison should start from the first point
  82759. * within the visible range or should start from the first point **before**
  82760. * the range.
  82761. *
  82762. * In other words, this flag determines if first point within the visible
  82763. * range will have 0% (`compareStart=true`) or should have been already
  82764. * calculated according to the previous point (`compareStart=false`).
  82765. */
  82766. compareStart?: boolean;
  82767. /**
  82768. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  82769. * series plot across the extremes.
  82770. */
  82771. connectEnds?: boolean;
  82772. /**
  82773. * (Highcharts, Highstock) Whether to connect a graph line across null
  82774. * points, or render a gap between the two points on either side of the
  82775. * null.
  82776. */
  82777. connectNulls?: boolean;
  82778. /**
  82779. * (Gantt) Override Pathfinder connector options for a series. Requires
  82780. * Highcharts Gantt to be loaded.
  82781. */
  82782. connectors?: SeriesConnectorsOptionsObject;
  82783. /**
  82784. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  82785. * rounded to its nearest pixel in order to render sharp on screen. In some
  82786. * cases, when there are a lot of densely packed columns, this leads to
  82787. * visible difference in column widths or distance between columns. In these
  82788. * cases, setting `crisp` to `false` may look better, even though each
  82789. * column is rendered blurry.
  82790. */
  82791. crisp?: boolean;
  82792. /**
  82793. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  82794. * click events attached to the series, to signal to the user that the
  82795. * points and lines can be clicked.
  82796. *
  82797. * In styled mode, the series cursor can be set with the same classes as
  82798. * listed under series.color.
  82799. */
  82800. cursor?: (string|CursorValue);
  82801. /**
  82802. * (Highcharts, Highstock) A reserved subspace to store options and values
  82803. * for customized functionality. Here you can add additional data for your
  82804. * own event callbacks and formatter callbacks.
  82805. */
  82806. custom?: Dictionary<any>;
  82807. /**
  82808. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  82809. * for some series types the outline of each shape.
  82810. *
  82811. * In styled mode, the stroke dash-array can be set with the same classes as
  82812. * listed under series.color.
  82813. */
  82814. dashStyle?: DashStyleValue;
  82815. /**
  82816. * (Highstock) Data grouping is the concept of sampling the data values into
  82817. * larger blocks in order to ease readability and increase performance of
  82818. * the JavaScript charts. Highcharts Stock by default applies data grouping
  82819. * when the points become closer than a certain pixel value, determined by
  82820. * the `groupPixelWidth` option.
  82821. *
  82822. * If data grouping is applied, the grouping information of grouped points
  82823. * can be read from the Point.dataGroup. If point options other than the
  82824. * data itself are set, for example `name` or `color` or custom properties,
  82825. * the grouping logic doesn't know how to group it. In this case the options
  82826. * of the first point instance are copied over to the group point. This can
  82827. * be altered through a custom `approximation` callback function.
  82828. */
  82829. dataGrouping?: DataGroupingOptionsObject;
  82830. /**
  82831. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  82832. * labels, appearing next to each data point.
  82833. *
  82834. * Since v6.2.0, multiple data labels can be applied to each single point by
  82835. * defining them as an array of configs.
  82836. *
  82837. * In styled mode, the data labels can be styled with the
  82838. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  82839. * (see example).
  82840. */
  82841. dataLabels?: (PlotScatterDataLabelsOptions|Array<PlotScatterDataLabelsOptions>);
  82842. /**
  82843. * (Highcharts, Highstock) Options for the series data sorting.
  82844. */
  82845. dataSorting?: (DataSortingOptionsObject|PlotScatterDataSortingOptions);
  82846. /**
  82847. * (Highcharts, Highstock) A description of the series to add to the screen
  82848. * reader information about the series.
  82849. */
  82850. description?: string;
  82851. /**
  82852. * (Highcharts, Highstock) The draggable-points module allows points to be
  82853. * moved around or modified in the chart. In addition to the options
  82854. * mentioned under the `dragDrop` API structure, the module fires three
  82855. * events, point.dragStart, point.drag and point.drop.
  82856. */
  82857. dragDrop?: SeriesDragDropOptionsObject;
  82858. /**
  82859. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  82860. * specific series. This includes point tooltips and click events on graphs
  82861. * and points. For large datasets it improves performance.
  82862. */
  82863. enableMouseTracking?: boolean;
  82864. /**
  82865. * (Highcharts, Highstock) General event handlers for the series items.
  82866. * These event hooks can also be attached to the series at run time using
  82867. * the `Highcharts.addEvent` function.
  82868. */
  82869. events?: SeriesEventsOptionsObject;
  82870. /**
  82871. * (Highcharts, Highstock) Determines whether the series should look for the
  82872. * nearest point in both dimensions or just the x-dimension when hovering
  82873. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  82874. * other series. If the data has duplicate x-values, it is recommended to
  82875. * set this to `'xy'` to allow hovering over all points.
  82876. *
  82877. * Applies only to series types using nearest neighbor search (not direct
  82878. * hover) for tooltip.
  82879. */
  82880. findNearestPointBy?: OptionsFindNearestPointByValue;
  82881. /**
  82882. * (Highstock) Defines when to display a gap in the graph, together with the
  82883. * gapUnit option.
  82884. *
  82885. * In case when `dataGrouping` is enabled, points can be grouped into a
  82886. * larger time span. This can make the grouped points to have a greater
  82887. * distance than the absolute value of `gapSize` property, which will result
  82888. * in disappearing graph completely. To prevent this situation the mentioned
  82889. * distance between grouped points is used instead of previously defined
  82890. * `gapSize`.
  82891. *
  82892. * In practice, this option is most often used to visualize gaps in time
  82893. * series. In a stock chart, intraday data is available for daytime hours,
  82894. * while gaps will appear in nights and weekends.
  82895. */
  82896. gapSize?: number;
  82897. /**
  82898. * (Highstock) Together with gapSize, this option defines where to draw gaps
  82899. * in the graph.
  82900. *
  82901. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  82902. * if the distance between two points is greater than 5 times that of the
  82903. * two closest points, the graph will be broken.
  82904. *
  82905. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  82906. * values, which on a datetime axis is milliseconds. This also applies to
  82907. * the navigator series that inherits gap options from the base series.
  82908. */
  82909. gapUnit?: OptionsGapUnitValue;
  82910. /**
  82911. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  82912. * chart width or only the zoomed area when zooming in on parts of the X
  82913. * axis. By default, the Y axis adjusts to the min and max of the visible
  82914. * data. Cartesian series only.
  82915. */
  82916. getExtremesFromAll?: boolean;
  82917. /**
  82918. * (Highcharts, Highstock) When set to `false` will prevent the series data
  82919. * from being included in any form of data export.
  82920. *
  82921. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  82922. * `includeInCSVExport`.
  82923. */
  82924. includeInDataExport?: boolean;
  82925. /**
  82926. * (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
  82927. * When plotting discrete values, a little random noise may help telling the
  82928. * points apart. The jitter setting applies a random displacement of up to
  82929. * `n` axis units in either direction. So for example on a horizontal X
  82930. * axis, setting the `jitter.x` to 0.24 will render the point in a random
  82931. * position between 0.24 units to the left and 0.24 units to the right of
  82932. * the true axis position. On a category axis, setting it to 0.5 will fill
  82933. * up the bin and make the data appear continuous.
  82934. *
  82935. * When rendered on top of a box plot or a column series, a jitter value of
  82936. * 0.24 will correspond to the underlying series' default groupPadding and
  82937. * pointPadding settings.
  82938. */
  82939. jitter?: PlotScatterJitterOptions;
  82940. /**
  82941. * (Highmaps) What property to join the `mapData` to the value data. For
  82942. * example, if joinBy is "code", the mapData items with a specific code is
  82943. * merged into the data with the same code. For maps loaded from GeoJSON,
  82944. * the keys may be held in each point's `properties` object.
  82945. *
  82946. * The joinBy option can also be an array of two values, where the first
  82947. * points to a key in the `mapData`, and the second points to another key in
  82948. * the `data`.
  82949. *
  82950. * When joinBy is `null`, the map items are joined by their position in the
  82951. * array, which performs much better in maps with many data points. This is
  82952. * the recommended option if you are printing more than a thousand data
  82953. * points and have a backend that can preprocess the data into a parallel
  82954. * array of the mapData.
  82955. */
  82956. joinBy?: (string|Array<string>);
  82957. /**
  82958. * (Highcharts, Highstock) An array specifying which option maps to which
  82959. * key in the data point array. This makes it convenient to work with
  82960. * unstructured data arrays from different sources.
  82961. */
  82962. keys?: Array<string>;
  82963. /**
  82964. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  82965. * series as possible in a natural way, seeking to avoid other series. The
  82966. * goal of this feature is to make the chart more easily readable, like if a
  82967. * human designer placed the labels in the optimal position.
  82968. *
  82969. * The series labels currently work with series types having a `graph` or an
  82970. * `area`.
  82971. */
  82972. label?: SeriesLabelOptionsObject;
  82973. /**
  82974. * (Highstock) The line marks the last price from all points.
  82975. */
  82976. lastPrice?: SeriesLastPriceOptionsObject;
  82977. /**
  82978. * (Highstock) The line marks the last price from visible range of points.
  82979. */
  82980. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  82981. /**
  82982. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  82983. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  82984. * the ends and bends.
  82985. */
  82986. linecap?: SeriesLinecapValue;
  82987. /**
  82988. * (Highcharts, Highstock) The width of the line connecting the data points.
  82989. */
  82990. lineWidth?: number;
  82991. /**
  82992. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  82993. * Additionally, the value can be ":previous" to link to the previous
  82994. * series. When two series are linked, only the first one appears in the
  82995. * legend. Toggling the visibility of this also toggles the linked series.
  82996. *
  82997. * If master series uses data sorting and linked series does not have its
  82998. * own sorting definition, the linked series will be sorted in the same
  82999. * order as the master one.
  83000. */
  83001. linkedTo?: string;
  83002. /**
  83003. * (Highcharts, Highstock) Options for the point markers of line-like
  83004. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  83005. * the visual appearance of the markers. Other series types, like column
  83006. * series, don't have markers, but have visual options on the series level
  83007. * instead.
  83008. *
  83009. * In styled mode, the markers can be styled with the `.highcharts-point`,
  83010. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  83011. */
  83012. marker?: PointMarkerOptionsObject;
  83013. /**
  83014. * (Highstock) Options for the corresponding navigator series if
  83015. * `showInNavigator` is `true` for this series. Available options are the
  83016. * same as any series, documented at plotOptions and series.
  83017. *
  83018. * These options are merged with options in navigator.series, and will take
  83019. * precedence if the same option is defined both places.
  83020. */
  83021. navigatorOptions?: PlotSeriesOptions;
  83022. /**
  83023. * (Highcharts, Highstock) The color for the parts of the graph or points
  83024. * that are below the threshold. Note that `zones` takes precedence over the
  83025. * negative color. Using `negativeColor` is equivalent to applying a zone
  83026. * with value of 0.
  83027. */
  83028. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  83029. /**
  83030. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  83031. * and dataLabels.
  83032. */
  83033. opacity?: number;
  83034. /**
  83035. * (Highcharts, Highstock) Properties for each single point.
  83036. */
  83037. point?: PlotSeriesPointOptions;
  83038. /**
  83039. * (Highcharts, Highstock) Same as
  83040. * accessibility.series.descriptionFormatter, but for an individual series.
  83041. * Overrides the chart wide configuration.
  83042. */
  83043. pointDescriptionFormatter?: Function;
  83044. /**
  83045. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83046. * a series, `pointInterval` defines the interval of the x values. For
  83047. * example, if a series contains one value every decade starting from year
  83048. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  83049. * `pointInterval` is set in milliseconds.
  83050. *
  83051. * It can be also be combined with `pointIntervalUnit` to draw irregular
  83052. * time intervals.
  83053. *
  83054. * Please note that this options applies to the _series data_, not the
  83055. * interval of the axis ticks, which is independent.
  83056. */
  83057. pointInterval?: number;
  83058. /**
  83059. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  83060. * setting the pointInterval to irregular time units, `day`, `month` and
  83061. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  83062. * also takes the DST crossover into consideration when dealing with local
  83063. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  83064. * months, 10 years etc.
  83065. *
  83066. * Please note that this options applies to the _series data_, not the
  83067. * interval of the axis ticks, which is independent.
  83068. */
  83069. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  83070. /**
  83071. * (Highstock) The width of each point on the x axis. For example in a
  83072. * column chart with one value each day, the pointRange would be 1 day (= 24
  83073. * * 3600
  83074. *
  83075. * * 1000 milliseconds). This is normally computed automatically, but this
  83076. * option can be used to override the automatic value.
  83077. */
  83078. pointRange?: number;
  83079. /**
  83080. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83081. * a series, pointStart defines on what value to start. For example, if a
  83082. * series contains one yearly value starting from 1945, set pointStart to
  83083. * 1945.
  83084. */
  83085. pointStart?: number;
  83086. /**
  83087. * (Highcharts, Highstock) Whether to select the series initially. If
  83088. * `showCheckbox` is true, the checkbox next to the series name in the
  83089. * legend will be checked for a selected series.
  83090. */
  83091. selected?: boolean;
  83092. /**
  83093. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  83094. * legend item to allow selecting the series. The state of the checkbox is
  83095. * determined by the `selected` option.
  83096. */
  83097. showCheckbox?: boolean;
  83098. /**
  83099. * (Highcharts, Highstock) Whether to display this particular series or
  83100. * series type in the legend. Standalone series are shown in legend by
  83101. * default, and linked series are not. Since v7.2.0 it is possible to show
  83102. * series that use colorAxis by setting this option to `true`.
  83103. */
  83104. showInLegend?: boolean;
  83105. /**
  83106. * (Highstock) Whether or not to show the series in the navigator. Takes
  83107. * precedence over navigator.baseSeries if defined.
  83108. */
  83109. showInNavigator?: boolean;
  83110. /**
  83111. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  83112. * skip past the points in this series for keyboard navigation.
  83113. */
  83114. skipKeyboardNavigation?: boolean;
  83115. /**
  83116. * (Highcharts, Highstock) When this is true, the series will not cause the
  83117. * Y axis to cross the zero plane (or threshold option) unless the data
  83118. * actually crosses the plane.
  83119. *
  83120. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  83121. * make the Y axis show negative values according to the `minPadding`
  83122. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  83123. */
  83124. softThreshold?: boolean;
  83125. /**
  83126. * (Highcharts, Highstock) Whether to stack the values of each series on top
  83127. * of each other. Possible values are `undefined` to disable, `"normal"` to
  83128. * stack by value or `"percent"`.
  83129. *
  83130. * When stacking is enabled, data must be sorted in ascending X order.
  83131. *
  83132. * Some stacking options are related to specific series types. In the
  83133. * streamgraph series type, the stacking option is set to `"stream"`. The
  83134. * second one is `"overlap"`, which only applies to waterfall series.
  83135. */
  83136. stacking?: OptionsStackingValue;
  83137. states?: SeriesStatesOptionsObject;
  83138. /**
  83139. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  83140. * values are `left`, `center` and `right`.
  83141. */
  83142. step?: OptionsStepValue;
  83143. /**
  83144. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  83145. * `mouseOut` event on a series isn't triggered until the mouse moves over
  83146. * another series, or out of the plot area. When false, the `mouseOut` event
  83147. * on a series is triggered when the mouse leaves the area around the
  83148. * series' graph or markers. This also implies the tooltip. When
  83149. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  83150. * be hidden when moving the mouse between series.
  83151. */
  83152. stickyTracking?: boolean;
  83153. /**
  83154. * (Highcharts, Highstock) The threshold, also called zero level or base
  83155. * level. For line type series this is only used in conjunction with
  83156. * negativeColor.
  83157. */
  83158. threshold?: (number|null);
  83159. /**
  83160. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  83161. * of each single series. Properties are inherited from tooltip. Overridable
  83162. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  83163. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  83164. * series.name by default shows in the headerFormat and point.x and point.y
  83165. * in the pointFormat.
  83166. */
  83167. tooltip?: SeriesTooltipOptionsObject;
  83168. /**
  83169. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  83170. * is longer than this, only one dimensional arrays of numbers, or two
  83171. * dimensional arrays with x and y values are allowed. Also, only the first
  83172. * point is tested, and the rest are assumed to be the same format. This
  83173. * saves expensive data checking and indexing in long series. Set it to `0`
  83174. * disable.
  83175. *
  83176. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  83177. * two dimensional arrays are allowed.
  83178. */
  83179. turboThreshold?: number;
  83180. /**
  83181. * (Highcharts, Highstock) Set the initial visibility of the series.
  83182. */
  83183. visible?: boolean;
  83184. /**
  83185. * (Highmaps) Define the z index of the series.
  83186. */
  83187. zIndex?: number;
  83188. /**
  83189. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  83190. */
  83191. zoneAxis?: string;
  83192. /**
  83193. * (Highcharts, Highstock) An array defining zones within a series. Zones
  83194. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  83195. * the `zoneAxis` option. The zone definitions have to be in ascending order
  83196. * regarding to the value.
  83197. *
  83198. * In styled mode, the color zones are styled with the
  83199. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  83200. * option (view live demo).
  83201. */
  83202. zones?: Array<SeriesZonesOptionsObject>;
  83203. }
  83204. /**
  83205. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83206. * animation when a series is displayed. The animation can also be set as a
  83207. * configuration object. Please note that this option only applies to the
  83208. * initial animation of the series itself. For other animations, see
  83209. * chart.animation and the animation parameter under the API methods. The
  83210. * following properties are supported:
  83211. *
  83212. * - `defer`: The animation delay time in milliseconds.
  83213. *
  83214. * - `duration`: The duration of the animation in milliseconds.
  83215. *
  83216. * - `easing`: Can be a string reference to an easing function set on the `Math`
  83217. * object or a function. See the _Custom easing function_ demo below.
  83218. *
  83219. * Due to poor performance, animation is disabled in old IE browsers for several
  83220. * chart types.
  83221. */
  83222. export interface PlotSeriesAnimationOptions {
  83223. defer?: number;
  83224. }
  83225. /**
  83226. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83227. * animation when a series is displayed for the `dataLabels`. The animation can
  83228. * also be set as a configuration object. Please note that this option only
  83229. * applies to the initial animation. For other animations, see chart.animation
  83230. * and the animation parameter under the API methods. The following properties
  83231. * are supported:
  83232. *
  83233. * - `defer`: The animation delay time in milliseconds.
  83234. */
  83235. export interface PlotSeriesDataLabelsAnimationOptions {
  83236. /**
  83237. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  83238. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  83239. * inherits defer time from the series.animation.defer.
  83240. */
  83241. defer?: number;
  83242. }
  83243. /**
  83244. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  83245. * appearing next to each data point.
  83246. *
  83247. * Since v6.2.0, multiple data labels can be applied to each single point by
  83248. * defining them as an array of configs.
  83249. *
  83250. * In styled mode, the data labels can be styled with the
  83251. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  83252. * example).
  83253. */
  83254. export interface PlotSeriesDataLabelsOptions {
  83255. /**
  83256. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  83257. * compared to the point. If `right`, the right side of the label should be
  83258. * touching the point. For points with an extent, like columns, the
  83259. * alignments also dictates how to align it inside the box, as given with
  83260. * the inside option. Can be one of `left`, `center` or `right`.
  83261. */
  83262. align?: (AlignValue|null);
  83263. /**
  83264. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  83265. * overlap. To make the labels less sensitive for overlapping, the
  83266. * dataLabels.padding can be set to 0.
  83267. */
  83268. allowOverlap?: boolean;
  83269. /**
  83270. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83271. * animation when a series is displayed for the `dataLabels`. The animation
  83272. * can also be set as a configuration object. Please note that this option
  83273. * only applies to the initial animation. For other animations, see
  83274. * chart.animation and the animation parameter under the API methods. The
  83275. * following properties are supported:
  83276. *
  83277. * - `defer`: The animation delay time in milliseconds.
  83278. */
  83279. animation?: (boolean|PlotSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  83280. /**
  83281. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  83282. * for the data label.
  83283. */
  83284. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  83285. /**
  83286. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  83287. * label. Defaults to `undefined`.
  83288. */
  83289. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83290. /**
  83291. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  83292. * the data label.
  83293. */
  83294. borderRadius?: number;
  83295. /**
  83296. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  83297. * the data label.
  83298. */
  83299. borderWidth?: number;
  83300. /**
  83301. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  83302. * Particularly in styled mode, this can be used to give each series' or
  83303. * point's data label unique styling. In addition to this option, a default
  83304. * color class name is added so that we can give the labels a contrast text
  83305. * shadow.
  83306. */
  83307. className?: string;
  83308. /**
  83309. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  83310. * labels. Defaults to `undefined`. For certain series types, like column or
  83311. * map, the data labels can be drawn inside the points. In this case the
  83312. * data label will be drawn with maximum contrast by default. Additionally,
  83313. * it will be given a `text-outline` style with the opposite color, to
  83314. * further increase the contrast. This can be overridden by setting the
  83315. * `text-outline` style to `none` in the `dataLabels.style` option.
  83316. */
  83317. color?: (ColorString|GradientColorObject|PatternObject);
  83318. /**
  83319. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  83320. * are outside the plot area. By default, the data label is moved inside the
  83321. * plot area according to the overflow option.
  83322. */
  83323. crop?: boolean;
  83324. /**
  83325. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  83326. * labels until the initial series animation has finished. Setting to
  83327. * `false` renders the data label immediately. If set to `true` inherits the
  83328. * defer time set in plotOptions.series.animation. If set to a number, a
  83329. * defer time is specified in milliseconds.
  83330. */
  83331. defer?: (boolean|number);
  83332. /**
  83333. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  83334. * labels.
  83335. */
  83336. enabled?: boolean;
  83337. /**
  83338. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  83339. * of which data labels to display. The declarative filter is designed for
  83340. * use when callback functions are not available, like when the chart
  83341. * options require a pure JSON structure or for use with graphical editors.
  83342. * For programmatic control, use the `formatter` instead, and return
  83343. * `undefined` to disable a single data label.
  83344. */
  83345. filter?: DataLabelsFilterOptionsObject;
  83346. /**
  83347. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  83348. * label. Available variables are the same as for `formatter`.
  83349. */
  83350. format?: string;
  83351. /**
  83352. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  83353. * format the data label. Note that if a `format` is defined, the format
  83354. * takes precedence and the formatter is ignored.
  83355. */
  83356. formatter?: DataLabelsFormatterCallbackFunction;
  83357. /**
  83358. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  83359. * columns or map areas, whether to align the data label inside the box or
  83360. * to the actual value point. Defaults to `false` in most cases, `true` in
  83361. * stacked columns.
  83362. */
  83363. inside?: boolean;
  83364. /**
  83365. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  83366. * of null. Works analogously to format. `nullFormat` can be applied only to
  83367. * series which support displaying null points.
  83368. */
  83369. nullFormat?: (boolean|string);
  83370. /**
  83371. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  83372. * that defines formatting for points with the value of null. Works
  83373. * analogously to formatter. `nullPointFormatter` can be applied only to
  83374. * series which support displaying null points.
  83375. */
  83376. nullFormatter?: DataLabelsFormatterCallbackFunction;
  83377. /**
  83378. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  83379. * flow outside the plot area. The default is `"justify"`, which aligns them
  83380. * inside the plot area. For columns and bars, this means it will be moved
  83381. * inside the bar. To display data labels outside the plot area, set `crop`
  83382. * to `false` and `overflow` to `"allow"`.
  83383. */
  83384. overflow?: DataLabelsOverflowValue;
  83385. /**
  83386. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  83387. * the `backgroundColor` is set, this is the padding within the box.
  83388. */
  83389. padding?: number;
  83390. /**
  83391. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  83392. * points. If `center` alignment is not possible, it defaults to `right`.
  83393. */
  83394. position?: AlignValue;
  83395. /**
  83396. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  83397. * that due to a more complex structure, backgrounds, borders and padding
  83398. * will be lost on a rotated data label.
  83399. */
  83400. rotation?: number;
  83401. /**
  83402. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  83403. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  83404. * an object configuration containing `color`, `offsetX`, `offsetY`,
  83405. * `opacity` and `width`.
  83406. */
  83407. shadow?: (boolean|ShadowOptionsObject);
  83408. /**
  83409. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  83410. * the border around the label. Symbols are predefined functions on the
  83411. * Renderer object.
  83412. */
  83413. shape?: string;
  83414. /**
  83415. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  83416. * default `color` setting is `"contrast"`, which is a pseudo color that
  83417. * Highcharts picks up and applies the maximum contrast to the underlying
  83418. * point item, for example the bar in a bar chart.
  83419. *
  83420. * The `textOutline` is a pseudo property that applies an outline of the
  83421. * given width with the given color, which by default is the maximum
  83422. * contrast to the text. So a bright text color will result in a black text
  83423. * outline for maximum readability on a mixed background. In some cases,
  83424. * especially with grayscale text, the text outline doesn't work well, in
  83425. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  83426. * is true, the `textOutline` will not be picked up. In this, case, the same
  83427. * effect can be acheived through the `text-shadow` CSS property.
  83428. *
  83429. * For some series types, where each point has an extent, like for example
  83430. * tree maps, the data label may overflow the point. There are two
  83431. * strategies for handling overflow. By default, the text will wrap to
  83432. * multiple lines. The other strategy is to set `style.textOverflow` to
  83433. * `ellipsis`, which will keep the text on one line plus it will break
  83434. * inside long words.
  83435. */
  83436. style?: CSSObject;
  83437. /**
  83438. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  83439. * should follow marker's shape. Border and background are disabled for a
  83440. * label that follows a path.
  83441. *
  83442. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  83443. * to true will disable this option.
  83444. */
  83445. textPath?: DataLabelsTextPathOptionsObject;
  83446. /**
  83447. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  83448. * the labels.
  83449. */
  83450. useHTML?: boolean;
  83451. /**
  83452. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  83453. * label. Can be one of `top`, `middle` or `bottom`. The default value
  83454. * depends on the data, for instance in a column chart, the label is above
  83455. * positive values and below negative values.
  83456. */
  83457. verticalAlign?: (VerticalAlignValue|null);
  83458. /**
  83459. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  83460. * label relative to the point in pixels.
  83461. */
  83462. x?: number;
  83463. /**
  83464. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  83465. * label relative to the point in pixels.
  83466. */
  83467. y?: number;
  83468. /**
  83469. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  83470. * The default Z index puts it above the series. Use a Z index of 2 to
  83471. * display it behind the series.
  83472. */
  83473. z?: number;
  83474. }
  83475. /**
  83476. * (Highcharts, Highstock) Options for the series data sorting.
  83477. */
  83478. export interface PlotSeriesDataSortingOptions {
  83479. /**
  83480. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  83481. * Use xAxis.reversed to change the sorting order.
  83482. */
  83483. enabled?: boolean;
  83484. /**
  83485. * (Highcharts, Highstock) Whether to allow matching points by name in an
  83486. * update. If this option is disabled, points will be matched by order.
  83487. */
  83488. matchByName?: boolean;
  83489. /**
  83490. * (Highcharts, Highstock) Determines what data value should be used to sort
  83491. * by.
  83492. */
  83493. sortKey?: string;
  83494. }
  83495. /**
  83496. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box. The
  83497. * guide box has one state by default, the `default` state.
  83498. */
  83499. export interface PlotSeriesDragDropGuideBoxOptions {
  83500. /**
  83501. * (Highcharts, Highstock, Highmaps, Gantt) Style options for the guide box
  83502. * default state.
  83503. */
  83504. default?: DragDropGuideBoxOptionsObject;
  83505. }
  83506. /**
  83507. * (Highcharts, Highstock, Highmaps, Gantt) General options for all series
  83508. * types.
  83509. *
  83510. * In TypeScript the type option must always be set.
  83511. *
  83512. * Configuration options for the series are given in three levels:
  83513. *
  83514. * 1. Options for all series in a chart are defined in the plotOptions.series
  83515. * object.
  83516. *
  83517. * 2. Options for all `line` series are defined in plotOptions.line.
  83518. *
  83519. * 3. Options for one single series are given in the series instance array. (see
  83520. * online documentation for example)
  83521. */
  83522. export interface PlotSeriesOptions {
  83523. /**
  83524. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for a
  83525. * series.
  83526. */
  83527. accessibility?: SeriesAccessibilityOptionsObject;
  83528. /**
  83529. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  83530. * rendered. If `true`, areas which don't correspond to a data point, are
  83531. * rendered as `null` points. If `false`, those areas are skipped.
  83532. */
  83533. allAreas?: boolean;
  83534. /**
  83535. * (Highcharts, Highstock, Highmaps, Gantt) Allow this series' points to be
  83536. * selected by clicking on the graphic (columns, point markers, pie slices,
  83537. * map areas etc).
  83538. *
  83539. * The selected points can be handled by point select and unselect events,
  83540. * or collectively by the getSelectedPoints function.
  83541. *
  83542. * And alternative way of selecting points is through dragging.
  83543. */
  83544. allowPointSelect?: boolean;
  83545. /**
  83546. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  83547. * animation when a series is displayed. The animation can also be set as a
  83548. * configuration object. Please note that this option only applies to the
  83549. * initial animation of the series itself. For other animations, see
  83550. * chart.animation and the animation parameter under the API methods. The
  83551. * following properties are supported:
  83552. *
  83553. * - `defer`: The animation delay time in milliseconds.
  83554. *
  83555. * - `duration`: The duration of the animation in milliseconds.
  83556. *
  83557. * - `easing`: Can be a string reference to an easing function set on the
  83558. * `Math` object or a function. See the _Custom easing function_ demo below.
  83559. *
  83560. * Due to poor performance, animation is disabled in old IE browsers for
  83561. * several chart types.
  83562. */
  83563. animation?: (boolean|PlotSeriesAnimationOptions|Partial<AnimationOptionsObject>);
  83564. /**
  83565. * (Highcharts, Highstock, Highmaps, Gantt) For some series, there is a
  83566. * limit that shuts down initial animation by default when the total number
  83567. * of points in the chart is too high. For example, for a column chart and
  83568. * its derivatives, animation does not run if there is more than 250 points
  83569. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  83570. */
  83571. animationLimit?: number;
  83572. /**
  83573. * (Highcharts, Highstock, Highmaps, Gantt) Sets the color blending in the
  83574. * boost module.
  83575. */
  83576. boostBlending?: OptionsBoostBlendingValue;
  83577. /**
  83578. * (Highcharts, Highstock, Highmaps, Gantt) Set the point threshold for when
  83579. * a series should enter boost mode.
  83580. *
  83581. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  83582. * there are 2000 or more points in the series.
  83583. *
  83584. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  83585. * it to 1 will force boosting.
  83586. *
  83587. * Note that the cropThreshold also affects this setting. When zooming in on
  83588. * a series that has fewer points than the `cropThreshold`, all points are
  83589. * rendered although outside the visible plot area, and the `boostThreshold`
  83590. * won't take effect.
  83591. */
  83592. boostThreshold?: number;
  83593. /**
  83594. * (Highmaps) The border color of the map areas.
  83595. *
  83596. * In styled mode, the border stroke is given in the `.highcharts-point`
  83597. * class.
  83598. */
  83599. borderColor?: (ColorString|GradientColorObject|PatternObject);
  83600. /**
  83601. * (Highmaps) The border width of each map area.
  83602. *
  83603. * In styled mode, the border stroke width is given in the
  83604. * `.highcharts-point` class.
  83605. */
  83606. borderWidth?: number;
  83607. /**
  83608. * (Highcharts, Highstock, Highmaps, Gantt) An additional class name to
  83609. * apply to the series' graphical elements. This option does not replace
  83610. * default class names of the graphical element.
  83611. */
  83612. className?: string;
  83613. /**
  83614. * (Highcharts, Highstock, Highmaps, Gantt) Disable this option to allow
  83615. * series rendering in the whole plotting area.
  83616. *
  83617. * **Note:** Clipping should be always enabled when chart.zoomType is set
  83618. */
  83619. clip?: boolean;
  83620. /**
  83621. * (Highcharts, Highstock, Highmaps, Gantt) The main color of the series. In
  83622. * line type series it applies to the line and the point markers unless
  83623. * otherwise specified. In bar type series it applies to the bars unless a
  83624. * color is specified per point. The default value is pulled from the
  83625. * `options.colors` array.
  83626. *
  83627. * In styled mode, the color can be defined by the colorIndex option. Also,
  83628. * the series color can be set with the `.highcharts-series`,
  83629. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  83630. * `.highcharts-series-{n}` class, or individual classes given by the
  83631. * `className` option.
  83632. */
  83633. color?: (ColorString|GradientColorObject|PatternObject);
  83634. /**
  83635. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  83636. * this number defines which colorAxis the particular series is connected
  83637. * to. It refers to either the axis id or the index of the axis in the
  83638. * colorAxis array, with 0 being the first. Set this option to false to
  83639. * prevent a series from connecting to the default color axis.
  83640. *
  83641. * Since v7.2.0 the option can also be an axis id or an axis index instead
  83642. * of a boolean flag.
  83643. */
  83644. colorAxis?: (boolean|number|string);
  83645. /**
  83646. * (Highcharts, Highstock, Highmaps, Gantt) Styled mode only. A specific
  83647. * color index to use for the series, so its graphic representations are
  83648. * given the class name `highcharts-color-{n}`.
  83649. */
  83650. colorIndex?: number;
  83651. /**
  83652. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  83653. * used to calculate point color if `colorAxis` is used. Requires to set
  83654. * `min` and `max` if some custom point property is used or if approximation
  83655. * for data grouping is set to `'sum'`.
  83656. */
  83657. colorKey?: string;
  83658. /**
  83659. * (Highstock) Compare the values of the series against the first non-null,
  83660. * non- zero value in the visible range. The y axis will show percentage or
  83661. * absolute change depending on whether `compare` is set to `"percent"` or
  83662. * `"value"`. When this is applied to multiple series, it allows comparing
  83663. * the development of the series against each other. Adds a `change` field
  83664. * to every point object.
  83665. */
  83666. compare?: string;
  83667. /**
  83668. * (Highstock) When compare is `percent`, this option dictates whether to
  83669. * use 0 or 100 as the base of comparison.
  83670. */
  83671. compareBase?: (0|100);
  83672. /**
  83673. * (Highstock) Defines if comparison should start from the first point
  83674. * within the visible range or should start from the first point **before**
  83675. * the range.
  83676. *
  83677. * In other words, this flag determines if first point within the visible
  83678. * range will have 0% (`compareStart=true`) or should have been already
  83679. * calculated according to the previous point (`compareStart=false`).
  83680. */
  83681. compareStart?: boolean;
  83682. /**
  83683. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  83684. * series plot across the extremes.
  83685. */
  83686. connectEnds?: boolean;
  83687. /**
  83688. * (Highcharts, Highstock) Whether to connect a graph line across null
  83689. * points, or render a gap between the two points on either side of the
  83690. * null.
  83691. */
  83692. connectNulls?: boolean;
  83693. /**
  83694. * (Gantt) Override Pathfinder connector options for a series. Requires
  83695. * Highcharts Gantt to be loaded.
  83696. */
  83697. connectors?: SeriesConnectorsOptionsObject;
  83698. /**
  83699. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  83700. * rounded to its nearest pixel in order to render sharp on screen. In some
  83701. * cases, when there are a lot of densely packed columns, this leads to
  83702. * visible difference in column widths or distance between columns. In these
  83703. * cases, setting `crisp` to `false` may look better, even though each
  83704. * column is rendered blurry.
  83705. */
  83706. crisp?: boolean;
  83707. /**
  83708. * (Highcharts, Highstock) When the series contains less points than the
  83709. * crop threshold, all points are drawn, even if the points fall outside the
  83710. * visible plot area at the current zoom. The advantage of drawing all
  83711. * points (including markers and columns), is that animation is performed on
  83712. * updates. On the other hand, when the series contains more points than the
  83713. * crop threshold, the series data is cropped to only contain points that
  83714. * fall within the plot area. The advantage of cropping away invisible
  83715. * points is to increase performance on large series.
  83716. */
  83717. cropThreshold?: number;
  83718. /**
  83719. * (Highcharts, Highstock, Highmaps, Gantt) You can set the cursor to
  83720. * "pointer" if you have click events attached to the series, to signal to
  83721. * the user that the points and lines can be clicked.
  83722. *
  83723. * In styled mode, the series cursor can be set with the same classes as
  83724. * listed under series.color.
  83725. */
  83726. cursor?: (string|CursorValue);
  83727. /**
  83728. * (Highcharts, Highstock, Highmaps, Gantt) A reserved subspace to store
  83729. * options and values for customized functionality. Here you can add
  83730. * additional data for your own event callbacks and formatter callbacks.
  83731. */
  83732. custom?: Dictionary<any>;
  83733. /**
  83734. * (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
  83735. * for the graph, or for some series types the outline of each shape.
  83736. *
  83737. * In styled mode, the stroke dash-array can be set with the same classes as
  83738. * listed under series.color.
  83739. */
  83740. dashStyle?: DashStyleValue;
  83741. /**
  83742. * (Highstock) Data grouping is the concept of sampling the data values into
  83743. * larger blocks in order to ease readability and increase performance of
  83744. * the JavaScript charts. Highcharts Stock by default applies data grouping
  83745. * when the points become closer than a certain pixel value, determined by
  83746. * the `groupPixelWidth` option.
  83747. *
  83748. * If data grouping is applied, the grouping information of grouped points
  83749. * can be read from the Point.dataGroup. If point options other than the
  83750. * data itself are set, for example `name` or `color` or custom properties,
  83751. * the grouping logic doesn't know how to group it. In this case the options
  83752. * of the first point instance are copied over to the group point. This can
  83753. * be altered through a custom `approximation` callback function.
  83754. */
  83755. dataGrouping?: DataGroupingOptionsObject;
  83756. /**
  83757. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  83758. * labels, appearing next to each data point.
  83759. *
  83760. * Since v6.2.0, multiple data labels can be applied to each single point by
  83761. * defining them as an array of configs.
  83762. *
  83763. * In styled mode, the data labels can be styled with the
  83764. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  83765. * (see example).
  83766. */
  83767. dataLabels?: (PlotSeriesDataLabelsOptions|Array<PlotSeriesDataLabelsOptions>);
  83768. /**
  83769. * (Highcharts, Highstock) Options for the series data sorting.
  83770. */
  83771. dataSorting?: (DataSortingOptionsObject|PlotSeriesDataSortingOptions);
  83772. /**
  83773. * (Highcharts, Highstock, Highmaps, Gantt) A description of the series to
  83774. * add to the screen reader information about the series.
  83775. */
  83776. description?: string;
  83777. /**
  83778. * (Highcharts, Highstock, Highmaps, Gantt) The draggable-points module
  83779. * allows points to be moved around or modified in the chart. In addition to
  83780. * the options mentioned under the `dragDrop` API structure, the module
  83781. * fires three events, point.dragStart, point.drag and point.drop.
  83782. */
  83783. dragDrop?: SeriesDragDropOptionsObject;
  83784. /**
  83785. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the mouse
  83786. * tracking for a specific series. This includes point tooltips and click
  83787. * events on graphs and points. For large datasets it improves performance.
  83788. */
  83789. enableMouseTracking?: boolean;
  83790. /**
  83791. * (Highcharts, Highstock, Highmaps, Gantt) General event handlers for the
  83792. * series items. These event hooks can also be attached to the series at run
  83793. * time using the `Highcharts.addEvent` function.
  83794. */
  83795. events?: SeriesEventsOptionsObject;
  83796. /**
  83797. * (Highcharts, Highstock, Highmaps, Gantt) Determines whether the series
  83798. * should look for the nearest point in both dimensions or just the
  83799. * x-dimension when hovering the series. Defaults to `'xy'` for scatter
  83800. * series and `'x'` for most other series. If the data has duplicate
  83801. * x-values, it is recommended to set this to `'xy'` to allow hovering over
  83802. * all points.
  83803. *
  83804. * Applies only to series types using nearest neighbor search (not direct
  83805. * hover) for tooltip.
  83806. */
  83807. findNearestPointBy?: OptionsFindNearestPointByValue;
  83808. /**
  83809. * (Highstock) Defines when to display a gap in the graph, together with the
  83810. * gapUnit option.
  83811. *
  83812. * In case when `dataGrouping` is enabled, points can be grouped into a
  83813. * larger time span. This can make the grouped points to have a greater
  83814. * distance than the absolute value of `gapSize` property, which will result
  83815. * in disappearing graph completely. To prevent this situation the mentioned
  83816. * distance between grouped points is used instead of previously defined
  83817. * `gapSize`.
  83818. *
  83819. * In practice, this option is most often used to visualize gaps in time
  83820. * series. In a stock chart, intraday data is available for daytime hours,
  83821. * while gaps will appear in nights and weekends.
  83822. */
  83823. gapSize?: number;
  83824. /**
  83825. * (Highstock) Together with gapSize, this option defines where to draw gaps
  83826. * in the graph.
  83827. *
  83828. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  83829. * if the distance between two points is greater than 5 times that of the
  83830. * two closest points, the graph will be broken.
  83831. *
  83832. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  83833. * values, which on a datetime axis is milliseconds. This also applies to
  83834. * the navigator series that inherits gap options from the base series.
  83835. */
  83836. gapUnit?: OptionsGapUnitValue;
  83837. /**
  83838. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  83839. * chart width or only the zoomed area when zooming in on parts of the X
  83840. * axis. By default, the Y axis adjusts to the min and max of the visible
  83841. * data. Cartesian series only.
  83842. */
  83843. getExtremesFromAll?: boolean;
  83844. /**
  83845. * (Highcharts, Highstock, Highmaps, Gantt) When set to `false` will prevent
  83846. * the series data from being included in any form of data export.
  83847. *
  83848. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  83849. * `includeInCSVExport`.
  83850. */
  83851. includeInDataExport?: boolean;
  83852. /**
  83853. * (Highmaps) What property to join the `mapData` to the value data. For
  83854. * example, if joinBy is "code", the mapData items with a specific code is
  83855. * merged into the data with the same code. For maps loaded from GeoJSON,
  83856. * the keys may be held in each point's `properties` object.
  83857. *
  83858. * The joinBy option can also be an array of two values, where the first
  83859. * points to a key in the `mapData`, and the second points to another key in
  83860. * the `data`.
  83861. *
  83862. * When joinBy is `null`, the map items are joined by their position in the
  83863. * array, which performs much better in maps with many data points. This is
  83864. * the recommended option if you are printing more than a thousand data
  83865. * points and have a backend that can preprocess the data into a parallel
  83866. * array of the mapData.
  83867. */
  83868. joinBy?: (string|Array<string>);
  83869. /**
  83870. * (Highcharts, Highstock, Highmaps, Gantt) An array specifying which option
  83871. * maps to which key in the data point array. This makes it convenient to
  83872. * work with unstructured data arrays from different sources.
  83873. */
  83874. keys?: Array<string>;
  83875. /**
  83876. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  83877. * series as possible in a natural way, seeking to avoid other series. The
  83878. * goal of this feature is to make the chart more easily readable, like if a
  83879. * human designer placed the labels in the optimal position.
  83880. *
  83881. * The series labels currently work with series types having a `graph` or an
  83882. * `area`.
  83883. */
  83884. label?: SeriesLabelOptionsObject;
  83885. /**
  83886. * (Highstock) The line marks the last price from all points.
  83887. */
  83888. lastPrice?: SeriesLastPriceOptionsObject;
  83889. /**
  83890. * (Highstock) The line marks the last price from visible range of points.
  83891. */
  83892. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  83893. /**
  83894. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  83895. * the graph.
  83896. */
  83897. linecap?: SeriesLinecapValue;
  83898. /**
  83899. * (Highcharts, Highstock) Pixel width of the graph line.
  83900. */
  83901. lineWidth?: number;
  83902. /**
  83903. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  83904. * Additionally, the value can be ":previous" to link to the previous
  83905. * series. When two series are linked, only the first one appears in the
  83906. * legend. Toggling the visibility of this also toggles the linked series.
  83907. *
  83908. * If master series uses data sorting and linked series does not have its
  83909. * own sorting definition, the linked series will be sorted in the same
  83910. * order as the master one.
  83911. */
  83912. linkedTo?: string;
  83913. /**
  83914. * (Highcharts, Highstock, Highmaps, Gantt) Options for the point markers of
  83915. * line-like series. Properties like `fillColor`, `lineColor` and
  83916. * `lineWidth` define the visual appearance of the markers. Other series
  83917. * types, like column series, don't have markers, but have visual options on
  83918. * the series level instead.
  83919. *
  83920. * In styled mode, the markers can be styled with the `.highcharts-point`,
  83921. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  83922. */
  83923. marker?: PointMarkerOptionsObject;
  83924. /**
  83925. * (Highstock) Options for the corresponding navigator series if
  83926. * `showInNavigator` is `true` for this series. Available options are the
  83927. * same as any series, documented at plotOptions and series.
  83928. *
  83929. * These options are merged with options in navigator.series, and will take
  83930. * precedence if the same option is defined both places.
  83931. */
  83932. navigatorOptions?: PlotSeriesOptions;
  83933. /**
  83934. * (Highcharts, Highstock, Highmaps, Gantt) The color for the parts of the
  83935. * graph or points that are below the threshold. Note that `zones` takes
  83936. * precedence over the negative color. Using `negativeColor` is equivalent
  83937. * to applying a zone with value of 0.
  83938. */
  83939. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  83940. /**
  83941. * (Highcharts, Highstock, Highmaps, Gantt) Opacity of a series parts: line,
  83942. * fill (e.g. area) and dataLabels.
  83943. */
  83944. opacity?: number;
  83945. /**
  83946. * (Highcharts, Highstock, Highmaps, Gantt) Properties for each single
  83947. * point.
  83948. */
  83949. point?: PlotSeriesPointOptions;
  83950. /**
  83951. * (Highcharts, Highstock, Highmaps, Gantt) Same as
  83952. * accessibility.series.descriptionFormatter, but for an individual series.
  83953. * Overrides the chart wide configuration.
  83954. */
  83955. pointDescriptionFormatter?: Function;
  83956. /**
  83957. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  83958. * a series, `pointInterval` defines the interval of the x values. For
  83959. * example, if a series contains one value every decade starting from year
  83960. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  83961. * `pointInterval` is set in milliseconds.
  83962. *
  83963. * It can be also be combined with `pointIntervalUnit` to draw irregular
  83964. * time intervals.
  83965. *
  83966. * Please note that this options applies to the _series data_, not the
  83967. * interval of the axis ticks, which is independent.
  83968. */
  83969. pointInterval?: number;
  83970. /**
  83971. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  83972. * setting the pointInterval to irregular time units, `day`, `month` and
  83973. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  83974. * also takes the DST crossover into consideration when dealing with local
  83975. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  83976. * months, 10 years etc.
  83977. *
  83978. * Please note that this options applies to the _series data_, not the
  83979. * interval of the axis ticks, which is independent.
  83980. */
  83981. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  83982. /**
  83983. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  83984. * `number`.
  83985. *
  83986. * In a column chart, when pointPlacement is `"on"`, the point will not
  83987. * create any padding of the X axis. In a polar column chart this means that
  83988. * the first column points directly north. If the pointPlacement is
  83989. * `"between"`, the columns will be laid out between ticks. This is useful
  83990. * for example for visualising an amount between two points in time or in a
  83991. * certain sector of a polar chart.
  83992. *
  83993. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  83994. * is on the axis value, -0.5 is between this value and the previous, and
  83995. * 0.5 is between this value and the next. Unlike the textual options,
  83996. * numeric point placement options won't affect axis padding.
  83997. *
  83998. * Note that pointPlacement needs a pointRange to work. For column series
  83999. * this is computed, but for line-type series it needs to be set.
  84000. *
  84001. * For the `xrange` series type and gantt charts, if the Y axis is a
  84002. * category axis, the `pointPlacement` applies to the Y axis rather than the
  84003. * (typically datetime) X axis.
  84004. *
  84005. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  84006. */
  84007. pointPlacement?: (number|string);
  84008. /**
  84009. * (Highstock) The width of each point on the x axis. For example in a
  84010. * column chart with one value each day, the pointRange would be 1 day (= 24
  84011. * * 3600
  84012. *
  84013. * * 1000 milliseconds). This is normally computed automatically, but this
  84014. * option can be used to override the automatic value.
  84015. */
  84016. pointRange?: number;
  84017. /**
  84018. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  84019. * a series, pointStart defines on what value to start. For example, if a
  84020. * series contains one yearly value starting from 1945, set pointStart to
  84021. * 1945.
  84022. */
  84023. pointStart?: number;
  84024. /**
  84025. * (Highcharts, Highstock, Highmaps, Gantt) Whether to select the series
  84026. * initially. If `showCheckbox` is true, the checkbox next to the series
  84027. * name in the legend will be checked for a selected series.
  84028. */
  84029. selected?: boolean;
  84030. /**
  84031. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  84032. * to the graph line. Since 2.3 the shadow can be an object configuration
  84033. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  84034. */
  84035. shadow?: (boolean|ShadowOptionsObject);
  84036. /**
  84037. * (Highcharts, Highstock, Highmaps, Gantt) If true, a checkbox is displayed
  84038. * next to the legend item to allow selecting the series. The state of the
  84039. * checkbox is determined by the `selected` option.
  84040. */
  84041. showCheckbox?: boolean;
  84042. /**
  84043. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display this
  84044. * particular series or series type in the legend. Standalone series are
  84045. * shown in legend by default, and linked series are not. Since v7.2.0 it is
  84046. * possible to show series that use colorAxis by setting this option to
  84047. * `true`.
  84048. */
  84049. showInLegend?: boolean;
  84050. /**
  84051. * (Highstock) Whether or not to show the series in the navigator. Takes
  84052. * precedence over navigator.baseSeries if defined.
  84053. */
  84054. showInNavigator?: boolean;
  84055. /**
  84056. * (Highcharts, Highstock, Highmaps, Gantt) If set to `true`, the
  84057. * accessibility module will skip past the points in this series for
  84058. * keyboard navigation.
  84059. */
  84060. skipKeyboardNavigation?: boolean;
  84061. /**
  84062. * (Highcharts, Highstock) When this is true, the series will not cause the
  84063. * Y axis to cross the zero plane (or threshold option) unless the data
  84064. * actually crosses the plane.
  84065. *
  84066. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  84067. * make the Y axis show negative values according to the `minPadding`
  84068. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  84069. */
  84070. softThreshold?: boolean;
  84071. /**
  84072. * (Highcharts, Highstock) Whether to stack the values of each series on top
  84073. * of each other. Possible values are `undefined` to disable, `"normal"` to
  84074. * stack by value or `"percent"`.
  84075. *
  84076. * When stacking is enabled, data must be sorted in ascending X order.
  84077. *
  84078. * Some stacking options are related to specific series types. In the
  84079. * streamgraph series type, the stacking option is set to `"stream"`. The
  84080. * second one is `"overlap"`, which only applies to waterfall series.
  84081. */
  84082. stacking?: OptionsStackingValue;
  84083. states?: SeriesStatesOptionsObject;
  84084. /**
  84085. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  84086. * values are `left`, `center` and `right`.
  84087. */
  84088. step?: OptionsStepValue;
  84089. /**
  84090. * (Highcharts, Highstock, Highmaps, Gantt) Sticky tracking of mouse events.
  84091. * When true, the `mouseOut` event on a series isn't triggered until the
  84092. * mouse moves over another series, or out of the plot area. When false, the
  84093. * `mouseOut` event on a series is triggered when the mouse leaves the area
  84094. * around the series' graph or markers. This also implies the tooltip when
  84095. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  84096. * the tooltip will be hidden when moving the mouse between series. Defaults
  84097. * to true for line and area type series, but to false for columns, pies
  84098. * etc.
  84099. *
  84100. * **Note:** The boost module will force this option because of technical
  84101. * limitations.
  84102. */
  84103. stickyTracking?: boolean;
  84104. /**
  84105. * (Highcharts, Highstock) The threshold, also called zero level or base
  84106. * level. For line type series this is only used in conjunction with
  84107. * negativeColor.
  84108. */
  84109. threshold?: (number|null);
  84110. /**
  84111. * (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
  84112. * tooltip rendering of each single series. Properties are inherited from
  84113. * tooltip, but only the following properties can be defined on a series
  84114. * level.
  84115. */
  84116. tooltip?: SeriesTooltipOptionsObject;
  84117. /**
  84118. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  84119. * is longer than this, only one dimensional arrays of numbers, or two
  84120. * dimensional arrays with x and y values are allowed. Also, only the first
  84121. * point is tested, and the rest are assumed to be the same format. This
  84122. * saves expensive data checking and indexing in long series. Set it to `0`
  84123. * disable.
  84124. *
  84125. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  84126. * two dimensional arrays are allowed.
  84127. */
  84128. turboThreshold?: number;
  84129. /**
  84130. * (Highcharts, Highstock, Highmaps, Gantt) Set the initial visibility of
  84131. * the series.
  84132. */
  84133. visible?: boolean;
  84134. /**
  84135. * (Highmaps) Define the z index of the series.
  84136. */
  84137. zIndex?: number;
  84138. /**
  84139. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  84140. */
  84141. zoneAxis?: string;
  84142. /**
  84143. * (Highcharts, Highstock) An array defining zones within a series. Zones
  84144. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  84145. * the `zoneAxis` option. The zone definitions have to be in ascending order
  84146. * regarding to the value.
  84147. *
  84148. * In styled mode, the color zones are styled with the
  84149. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  84150. * option (view live demo).
  84151. */
  84152. zones?: Array<SeriesZonesOptionsObject>;
  84153. }
  84154. /**
  84155. * (Highstock) Properties for each single point.
  84156. */
  84157. export interface PlotSeriesPointOptions {
  84158. /**
  84159. * (Highstock) Events for each single point.
  84160. */
  84161. events?: PointEventsOptionsObject;
  84162. }
  84163. /**
  84164. * (Highstock) Enable or disable the initial animation when a series is
  84165. * displayed. The animation can also be set as a configuration object. Please
  84166. * note that this option only applies to the initial animation of the series
  84167. * itself. For other animations, see chart.animation and the animation parameter
  84168. * under the API methods. The following properties are supported:
  84169. *
  84170. * - `defer`: The animation delay time in milliseconds.
  84171. *
  84172. * - `duration`: The duration of the animation in milliseconds.
  84173. *
  84174. * - `easing`: Can be a string reference to an easing function set on the `Math`
  84175. * object or a function. See the _Custom easing function_ demo below.
  84176. *
  84177. * Due to poor performance, animation is disabled in old IE browsers for several
  84178. * chart types.
  84179. */
  84180. export interface PlotSlowstochasticAnimationOptions {
  84181. defer?: number;
  84182. }
  84183. /**
  84184. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84185. * animation when a series is displayed for the `dataLabels`. The animation can
  84186. * also be set as a configuration object. Please note that this option only
  84187. * applies to the initial animation. For other animations, see chart.animation
  84188. * and the animation parameter under the API methods. The following properties
  84189. * are supported:
  84190. *
  84191. * - `defer`: The animation delay time in milliseconds.
  84192. */
  84193. export interface PlotSlowstochasticDataLabelsAnimationOptions {
  84194. /**
  84195. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  84196. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  84197. * inherits defer time from the series.animation.defer.
  84198. */
  84199. defer?: number;
  84200. }
  84201. /**
  84202. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  84203. * appearing next to each data point.
  84204. *
  84205. * Since v6.2.0, multiple data labels can be applied to each single point by
  84206. * defining them as an array of configs.
  84207. *
  84208. * In styled mode, the data labels can be styled with the
  84209. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  84210. * example).
  84211. */
  84212. export interface PlotSlowstochasticDataLabelsOptions {
  84213. /**
  84214. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  84215. * compared to the point. If `right`, the right side of the label should be
  84216. * touching the point. For points with an extent, like columns, the
  84217. * alignments also dictates how to align it inside the box, as given with
  84218. * the inside option. Can be one of `left`, `center` or `right`.
  84219. */
  84220. align?: (AlignValue|null);
  84221. /**
  84222. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  84223. * overlap. To make the labels less sensitive for overlapping, the
  84224. * dataLabels.padding can be set to 0.
  84225. */
  84226. allowOverlap?: boolean;
  84227. /**
  84228. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  84229. * animation when a series is displayed for the `dataLabels`. The animation
  84230. * can also be set as a configuration object. Please note that this option
  84231. * only applies to the initial animation. For other animations, see
  84232. * chart.animation and the animation parameter under the API methods. The
  84233. * following properties are supported:
  84234. *
  84235. * - `defer`: The animation delay time in milliseconds.
  84236. */
  84237. animation?: (boolean|PlotSlowstochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  84238. /**
  84239. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  84240. * for the data label.
  84241. */
  84242. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  84243. /**
  84244. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  84245. * label. Defaults to `undefined`.
  84246. */
  84247. borderColor?: (ColorString|GradientColorObject|PatternObject);
  84248. /**
  84249. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  84250. * the data label.
  84251. */
  84252. borderRadius?: number;
  84253. /**
  84254. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  84255. * the data label.
  84256. */
  84257. borderWidth?: number;
  84258. /**
  84259. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  84260. * Particularly in styled mode, this can be used to give each series' or
  84261. * point's data label unique styling. In addition to this option, a default
  84262. * color class name is added so that we can give the labels a contrast text
  84263. * shadow.
  84264. */
  84265. className?: string;
  84266. /**
  84267. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  84268. * labels. Defaults to `undefined`. For certain series types, like column or
  84269. * map, the data labels can be drawn inside the points. In this case the
  84270. * data label will be drawn with maximum contrast by default. Additionally,
  84271. * it will be given a `text-outline` style with the opposite color, to
  84272. * further increase the contrast. This can be overridden by setting the
  84273. * `text-outline` style to `none` in the `dataLabels.style` option.
  84274. */
  84275. color?: (ColorString|GradientColorObject|PatternObject);
  84276. /**
  84277. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  84278. * are outside the plot area. By default, the data label is moved inside the
  84279. * plot area according to the overflow option.
  84280. */
  84281. crop?: boolean;
  84282. /**
  84283. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  84284. * labels until the initial series animation has finished. Setting to
  84285. * `false` renders the data label immediately. If set to `true` inherits the
  84286. * defer time set in plotOptions.series.animation. If set to a number, a
  84287. * defer time is specified in milliseconds.
  84288. */
  84289. defer?: (boolean|number);
  84290. /**
  84291. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  84292. * labels.
  84293. */
  84294. enabled?: boolean;
  84295. /**
  84296. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  84297. * of which data labels to display. The declarative filter is designed for
  84298. * use when callback functions are not available, like when the chart
  84299. * options require a pure JSON structure or for use with graphical editors.
  84300. * For programmatic control, use the `formatter` instead, and return
  84301. * `undefined` to disable a single data label.
  84302. */
  84303. filter?: DataLabelsFilterOptionsObject;
  84304. /**
  84305. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  84306. * label. Available variables are the same as for `formatter`.
  84307. */
  84308. format?: string;
  84309. /**
  84310. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  84311. * format the data label. Note that if a `format` is defined, the format
  84312. * takes precedence and the formatter is ignored.
  84313. */
  84314. formatter?: DataLabelsFormatterCallbackFunction;
  84315. /**
  84316. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  84317. * columns or map areas, whether to align the data label inside the box or
  84318. * to the actual value point. Defaults to `false` in most cases, `true` in
  84319. * stacked columns.
  84320. */
  84321. inside?: boolean;
  84322. /**
  84323. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  84324. * of null. Works analogously to format. `nullFormat` can be applied only to
  84325. * series which support displaying null points.
  84326. */
  84327. nullFormat?: (boolean|string);
  84328. /**
  84329. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  84330. * that defines formatting for points with the value of null. Works
  84331. * analogously to formatter. `nullPointFormatter` can be applied only to
  84332. * series which support displaying null points.
  84333. */
  84334. nullFormatter?: DataLabelsFormatterCallbackFunction;
  84335. /**
  84336. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  84337. * flow outside the plot area. The default is `"justify"`, which aligns them
  84338. * inside the plot area. For columns and bars, this means it will be moved
  84339. * inside the bar. To display data labels outside the plot area, set `crop`
  84340. * to `false` and `overflow` to `"allow"`.
  84341. */
  84342. overflow?: DataLabelsOverflowValue;
  84343. /**
  84344. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  84345. * the `backgroundColor` is set, this is the padding within the box.
  84346. */
  84347. padding?: number;
  84348. /**
  84349. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  84350. * points. If `center` alignment is not possible, it defaults to `right`.
  84351. */
  84352. position?: AlignValue;
  84353. /**
  84354. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  84355. * that due to a more complex structure, backgrounds, borders and padding
  84356. * will be lost on a rotated data label.
  84357. */
  84358. rotation?: number;
  84359. /**
  84360. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  84361. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  84362. * an object configuration containing `color`, `offsetX`, `offsetY`,
  84363. * `opacity` and `width`.
  84364. */
  84365. shadow?: (boolean|ShadowOptionsObject);
  84366. /**
  84367. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  84368. * the border around the label. Symbols are predefined functions on the
  84369. * Renderer object.
  84370. */
  84371. shape?: string;
  84372. /**
  84373. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  84374. * default `color` setting is `"contrast"`, which is a pseudo color that
  84375. * Highcharts picks up and applies the maximum contrast to the underlying
  84376. * point item, for example the bar in a bar chart.
  84377. *
  84378. * The `textOutline` is a pseudo property that applies an outline of the
  84379. * given width with the given color, which by default is the maximum
  84380. * contrast to the text. So a bright text color will result in a black text
  84381. * outline for maximum readability on a mixed background. In some cases,
  84382. * especially with grayscale text, the text outline doesn't work well, in
  84383. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  84384. * is true, the `textOutline` will not be picked up. In this, case, the same
  84385. * effect can be acheived through the `text-shadow` CSS property.
  84386. *
  84387. * For some series types, where each point has an extent, like for example
  84388. * tree maps, the data label may overflow the point. There are two
  84389. * strategies for handling overflow. By default, the text will wrap to
  84390. * multiple lines. The other strategy is to set `style.textOverflow` to
  84391. * `ellipsis`, which will keep the text on one line plus it will break
  84392. * inside long words.
  84393. */
  84394. style?: CSSObject;
  84395. /**
  84396. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  84397. * should follow marker's shape. Border and background are disabled for a
  84398. * label that follows a path.
  84399. *
  84400. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  84401. * to true will disable this option.
  84402. */
  84403. textPath?: DataLabelsTextPathOptionsObject;
  84404. /**
  84405. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  84406. * the labels.
  84407. */
  84408. useHTML?: boolean;
  84409. /**
  84410. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  84411. * label. Can be one of `top`, `middle` or `bottom`. The default value
  84412. * depends on the data, for instance in a column chart, the label is above
  84413. * positive values and below negative values.
  84414. */
  84415. verticalAlign?: (VerticalAlignValue|null);
  84416. /**
  84417. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  84418. * label relative to the point in pixels.
  84419. */
  84420. x?: number;
  84421. /**
  84422. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  84423. * label relative to the point in pixels.
  84424. */
  84425. y?: number;
  84426. /**
  84427. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  84428. * The default Z index puts it above the series. Use a Z index of 2 to
  84429. * display it behind the series.
  84430. */
  84431. z?: number;
  84432. }
  84433. /**
  84434. * (Highcharts, Highstock) Options for the series data sorting.
  84435. */
  84436. export interface PlotSlowstochasticDataSortingOptions {
  84437. /**
  84438. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  84439. * Use xAxis.reversed to change the sorting order.
  84440. */
  84441. enabled?: boolean;
  84442. /**
  84443. * (Highcharts, Highstock) Whether to allow matching points by name in an
  84444. * update. If this option is disabled, points will be matched by order.
  84445. */
  84446. matchByName?: boolean;
  84447. /**
  84448. * (Highcharts, Highstock) Determines what data value should be used to sort
  84449. * by.
  84450. */
  84451. sortKey?: string;
  84452. }
  84453. /**
  84454. * (Highstock) Slow Stochastic oscillator. This series requires the `linkedTo`
  84455. * option to be set and should be loaded after `stock/indicators/indicators.js`
  84456. * and `stock/indicators/stochastic.js` files.
  84457. *
  84458. * In TypeScript the type option must always be set.
  84459. *
  84460. * Configuration options for the series are given in three levels:
  84461. *
  84462. * 1. Options for all series in a chart are defined in the plotOptions.series
  84463. * object.
  84464. *
  84465. * 2. Options for all `slowstochastic` series are defined in
  84466. * plotOptions.slowstochastic.
  84467. *
  84468. * 3. Options for one single series are given in the series instance array. (see
  84469. * online documentation for example)
  84470. */
  84471. export interface PlotSlowstochasticOptions {
  84472. /**
  84473. * (Highstock) Accessibility options for a series.
  84474. */
  84475. accessibility?: SeriesAccessibilityOptionsObject;
  84476. /**
  84477. * (Highstock) Allow this series' points to be selected by clicking on the
  84478. * graphic (columns, point markers, pie slices, map areas etc).
  84479. *
  84480. * The selected points can be handled by point select and unselect events,
  84481. * or collectively by the getSelectedPoints function.
  84482. *
  84483. * And alternative way of selecting points is through dragging.
  84484. */
  84485. allowPointSelect?: boolean;
  84486. /**
  84487. * (Highstock) Enable or disable the initial animation when a series is
  84488. * displayed. The animation can also be set as a configuration object.
  84489. * Please note that this option only applies to the initial animation of the
  84490. * series itself. For other animations, see chart.animation and the
  84491. * animation parameter under the API methods. The following properties are
  84492. * supported:
  84493. *
  84494. * - `defer`: The animation delay time in milliseconds.
  84495. *
  84496. * - `duration`: The duration of the animation in milliseconds.
  84497. *
  84498. * - `easing`: Can be a string reference to an easing function set on the
  84499. * `Math` object or a function. See the _Custom easing function_ demo below.
  84500. *
  84501. * Due to poor performance, animation is disabled in old IE browsers for
  84502. * several chart types.
  84503. */
  84504. animation?: (boolean|PlotSlowstochasticAnimationOptions|Partial<AnimationOptionsObject>);
  84505. /**
  84506. * (Highstock) For some series, there is a limit that shuts down initial
  84507. * animation by default when the total number of points in the chart is too
  84508. * high. For example, for a column chart and its derivatives, animation does
  84509. * not run if there is more than 250 points totally. To disable this cap,
  84510. * set `animationLimit` to `Infinity`.
  84511. */
  84512. animationLimit?: number;
  84513. /**
  84514. * (Highstock) Sets the color blending in the boost module.
  84515. */
  84516. boostBlending?: OptionsBoostBlendingValue;
  84517. /**
  84518. * (Highstock) Set the point threshold for when a series should enter boost
  84519. * mode.
  84520. *
  84521. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  84522. * there are 2000 or more points in the series.
  84523. *
  84524. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  84525. * it to 1 will force boosting.
  84526. *
  84527. * Note that the cropThreshold also affects this setting. When zooming in on
  84528. * a series that has fewer points than the `cropThreshold`, all points are
  84529. * rendered although outside the visible plot area, and the `boostThreshold`
  84530. * won't take effect.
  84531. */
  84532. boostThreshold?: number;
  84533. /**
  84534. * (Highmaps) The border color of the map areas.
  84535. *
  84536. * In styled mode, the border stroke is given in the `.highcharts-point`
  84537. * class.
  84538. */
  84539. borderColor?: (ColorString|GradientColorObject|PatternObject);
  84540. /**
  84541. * (Highmaps) The border width of each map area.
  84542. *
  84543. * In styled mode, the border stroke width is given in the
  84544. * `.highcharts-point` class.
  84545. */
  84546. borderWidth?: number;
  84547. /**
  84548. * (Highstock) An additional class name to apply to the series' graphical
  84549. * elements. This option does not replace default class names of the
  84550. * graphical element.
  84551. */
  84552. className?: string;
  84553. /**
  84554. * (Highstock) Disable this option to allow series rendering in the whole
  84555. * plotting area.
  84556. *
  84557. * **Note:** Clipping should be always enabled when chart.zoomType is set
  84558. */
  84559. clip?: boolean;
  84560. /**
  84561. * (Highstock) The main color of the series. In line type series it applies
  84562. * to the line and the point markers unless otherwise specified. In bar type
  84563. * series it applies to the bars unless a color is specified per point. The
  84564. * default value is pulled from the `options.colors` array.
  84565. *
  84566. * In styled mode, the color can be defined by the colorIndex option. Also,
  84567. * the series color can be set with the `.highcharts-series`,
  84568. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  84569. * `.highcharts-series-{n}` class, or individual classes given by the
  84570. * `className` option.
  84571. */
  84572. color?: (ColorString|GradientColorObject|PatternObject);
  84573. /**
  84574. * (Highstock) Styled mode only. A specific color index to use for the
  84575. * series, so its graphic representations are given the class name
  84576. * `highcharts-color-{n}`.
  84577. */
  84578. colorIndex?: number;
  84579. /**
  84580. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  84581. * used to calculate point color if `colorAxis` is used. Requires to set
  84582. * `min` and `max` if some custom point property is used or if approximation
  84583. * for data grouping is set to `'sum'`.
  84584. */
  84585. colorKey?: string;
  84586. /**
  84587. * (Highstock) Compare the values of the series against the first non-null,
  84588. * non- zero value in the visible range. The y axis will show percentage or
  84589. * absolute change depending on whether `compare` is set to `"percent"` or
  84590. * `"value"`. When this is applied to multiple series, it allows comparing
  84591. * the development of the series against each other. Adds a `change` field
  84592. * to every point object.
  84593. */
  84594. compare?: string;
  84595. /**
  84596. * (Highstock) When compare is `percent`, this option dictates whether to
  84597. * use 0 or 100 as the base of comparison.
  84598. */
  84599. compareBase?: (0|100);
  84600. /**
  84601. * (Highstock) Defines if comparison should start from the first point
  84602. * within the visible range or should start from the first point **before**
  84603. * the range.
  84604. *
  84605. * In other words, this flag determines if first point within the visible
  84606. * range will have 0% (`compareStart=true`) or should have been already
  84607. * calculated according to the previous point (`compareStart=false`).
  84608. */
  84609. compareStart?: boolean;
  84610. /**
  84611. * (Highstock) Whether to compare indicator to the main series values or
  84612. * indicator values.
  84613. */
  84614. compareToMain?: boolean;
  84615. /**
  84616. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  84617. * series plot across the extremes.
  84618. */
  84619. connectEnds?: boolean;
  84620. /**
  84621. * (Highcharts, Highstock) Whether to connect a graph line across null
  84622. * points, or render a gap between the two points on either side of the
  84623. * null.
  84624. */
  84625. connectNulls?: boolean;
  84626. /**
  84627. * (Gantt) Override Pathfinder connector options for a series. Requires
  84628. * Highcharts Gantt to be loaded.
  84629. */
  84630. connectors?: SeriesConnectorsOptionsObject;
  84631. /**
  84632. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  84633. * rounded to its nearest pixel in order to render sharp on screen. In some
  84634. * cases, when there are a lot of densely packed columns, this leads to
  84635. * visible difference in column widths or distance between columns. In these
  84636. * cases, setting `crisp` to `false` may look better, even though each
  84637. * column is rendered blurry.
  84638. */
  84639. crisp?: boolean;
  84640. /**
  84641. * (Highcharts, Highstock) When the series contains less points than the
  84642. * crop threshold, all points are drawn, even if the points fall outside the
  84643. * visible plot area at the current zoom. The advantage of drawing all
  84644. * points (including markers and columns), is that animation is performed on
  84645. * updates. On the other hand, when the series contains more points than the
  84646. * crop threshold, the series data is cropped to only contain points that
  84647. * fall within the plot area. The advantage of cropping away invisible
  84648. * points is to increase performance on large series.
  84649. */
  84650. cropThreshold?: number;
  84651. /**
  84652. * (Highstock) You can set the cursor to "pointer" if you have click events
  84653. * attached to the series, to signal to the user that the points and lines
  84654. * can be clicked.
  84655. *
  84656. * In styled mode, the series cursor can be set with the same classes as
  84657. * listed under series.color.
  84658. */
  84659. cursor?: (string|CursorValue);
  84660. /**
  84661. * (Highstock) A reserved subspace to store options and values for
  84662. * customized functionality. Here you can add additional data for your own
  84663. * event callbacks and formatter callbacks.
  84664. */
  84665. custom?: Dictionary<any>;
  84666. /**
  84667. * (Highstock) Name of the dash style to use for the graph, or for some
  84668. * series types the outline of each shape.
  84669. *
  84670. * In styled mode, the stroke dash-array can be set with the same classes as
  84671. * listed under series.color.
  84672. */
  84673. dashStyle?: DashStyleValue;
  84674. /**
  84675. * (Highstock) Data grouping is the concept of sampling the data values into
  84676. * larger blocks in order to ease readability and increase performance of
  84677. * the JavaScript charts. Highcharts Stock by default applies data grouping
  84678. * when the points become closer than a certain pixel value, determined by
  84679. * the `groupPixelWidth` option.
  84680. *
  84681. * If data grouping is applied, the grouping information of grouped points
  84682. * can be read from the Point.dataGroup. If point options other than the
  84683. * data itself are set, for example `name` or `color` or custom properties,
  84684. * the grouping logic doesn't know how to group it. In this case the options
  84685. * of the first point instance are copied over to the group point. This can
  84686. * be altered through a custom `approximation` callback function.
  84687. */
  84688. dataGrouping?: DataGroupingOptionsObject;
  84689. /**
  84690. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  84691. * labels, appearing next to each data point.
  84692. *
  84693. * Since v6.2.0, multiple data labels can be applied to each single point by
  84694. * defining them as an array of configs.
  84695. *
  84696. * In styled mode, the data labels can be styled with the
  84697. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  84698. * (see example).
  84699. */
  84700. dataLabels?: (PlotSlowstochasticDataLabelsOptions|Array<PlotSlowstochasticDataLabelsOptions>);
  84701. /**
  84702. * (Highcharts, Highstock) Options for the series data sorting.
  84703. */
  84704. dataSorting?: (DataSortingOptionsObject|PlotSlowstochasticDataSortingOptions);
  84705. /**
  84706. * (Highstock) A description of the series to add to the screen reader
  84707. * information about the series.
  84708. */
  84709. description?: string;
  84710. /**
  84711. * (Highstock) Enable or disable the mouse tracking for a specific series.
  84712. * This includes point tooltips and click events on graphs and points. For
  84713. * large datasets it improves performance.
  84714. */
  84715. enableMouseTracking?: boolean;
  84716. /**
  84717. * (Highstock) General event handlers for the series items. These event
  84718. * hooks can also be attached to the series at run time using the
  84719. * `Highcharts.addEvent` function.
  84720. */
  84721. events?: SeriesEventsOptionsObject;
  84722. /**
  84723. * (Highstock) Determines whether the series should look for the nearest
  84724. * point in both dimensions or just the x-dimension when hovering the
  84725. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  84726. * series. If the data has duplicate x-values, it is recommended to set this
  84727. * to `'xy'` to allow hovering over all points.
  84728. *
  84729. * Applies only to series types using nearest neighbor search (not direct
  84730. * hover) for tooltip.
  84731. */
  84732. findNearestPointBy?: OptionsFindNearestPointByValue;
  84733. /**
  84734. * (Highstock) Defines when to display a gap in the graph, together with the
  84735. * gapUnit option.
  84736. *
  84737. * In case when `dataGrouping` is enabled, points can be grouped into a
  84738. * larger time span. This can make the grouped points to have a greater
  84739. * distance than the absolute value of `gapSize` property, which will result
  84740. * in disappearing graph completely. To prevent this situation the mentioned
  84741. * distance between grouped points is used instead of previously defined
  84742. * `gapSize`.
  84743. *
  84744. * In practice, this option is most often used to visualize gaps in time
  84745. * series. In a stock chart, intraday data is available for daytime hours,
  84746. * while gaps will appear in nights and weekends.
  84747. */
  84748. gapSize?: number;
  84749. /**
  84750. * (Highstock) Together with gapSize, this option defines where to draw gaps
  84751. * in the graph.
  84752. *
  84753. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  84754. * if the distance between two points is greater than 5 times that of the
  84755. * two closest points, the graph will be broken.
  84756. *
  84757. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  84758. * values, which on a datetime axis is milliseconds. This also applies to
  84759. * the navigator series that inherits gap options from the base series.
  84760. */
  84761. gapUnit?: OptionsGapUnitValue;
  84762. /**
  84763. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  84764. * chart width or only the zoomed area when zooming in on parts of the X
  84765. * axis. By default, the Y axis adjusts to the min and max of the visible
  84766. * data. Cartesian series only.
  84767. */
  84768. getExtremesFromAll?: boolean;
  84769. /**
  84770. * (Highstock) When set to `false` will prevent the series data from being
  84771. * included in any form of data export.
  84772. *
  84773. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  84774. * `includeInCSVExport`.
  84775. */
  84776. includeInDataExport?: boolean;
  84777. /**
  84778. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  84779. * series as possible in a natural way, seeking to avoid other series. The
  84780. * goal of this feature is to make the chart more easily readable, like if a
  84781. * human designer placed the labels in the optimal position.
  84782. *
  84783. * The series labels currently work with series types having a `graph` or an
  84784. * `area`.
  84785. */
  84786. label?: SeriesLabelOptionsObject;
  84787. /**
  84788. * (Highstock) The line marks the last price from all points.
  84789. */
  84790. lastPrice?: SeriesLastPriceOptionsObject;
  84791. /**
  84792. * (Highstock) The line marks the last price from visible range of points.
  84793. */
  84794. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  84795. /**
  84796. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  84797. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  84798. * the ends and bends.
  84799. */
  84800. linecap?: SeriesLinecapValue;
  84801. /**
  84802. * (Highcharts, Highstock) Pixel width of the graph line.
  84803. */
  84804. lineWidth?: number;
  84805. /**
  84806. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  84807. * based on. Required for this indicator.
  84808. */
  84809. linkedTo?: string;
  84810. /**
  84811. * (Highstock) Options for the point markers of line-like series. Properties
  84812. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  84813. * appearance of the markers. Other series types, like column series, don't
  84814. * have markers, but have visual options on the series level instead.
  84815. *
  84816. * In styled mode, the markers can be styled with the `.highcharts-point`,
  84817. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  84818. */
  84819. marker?: PointMarkerOptionsObject;
  84820. /**
  84821. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  84822. * If not set, it will be based on a technical indicator type and default
  84823. * params.
  84824. */
  84825. name?: string;
  84826. /**
  84827. * (Highstock) The color for the parts of the graph or points that are below
  84828. * the threshold. Note that `zones` takes precedence over the negative
  84829. * color. Using `negativeColor` is equivalent to applying a zone with value
  84830. * of 0.
  84831. */
  84832. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  84833. /**
  84834. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  84835. * dataLabels.
  84836. */
  84837. opacity?: number;
  84838. /**
  84839. * (Highstock) Paramters used in calculation of regression series' points.
  84840. */
  84841. params?: PlotSlowstochasticParamsOptions;
  84842. /**
  84843. * (Highstock) Properties for each single point.
  84844. */
  84845. point?: PlotSeriesPointOptions;
  84846. /**
  84847. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  84848. * individual series. Overrides the chart wide configuration.
  84849. */
  84850. pointDescriptionFormatter?: Function;
  84851. /**
  84852. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  84853. * true, the checkbox next to the series name in the legend will be checked
  84854. * for a selected series.
  84855. */
  84856. selected?: boolean;
  84857. /**
  84858. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  84859. * the shadow can be an object configuration containing `color`, `offsetX`,
  84860. * `offsetY`, `opacity` and `width`.
  84861. */
  84862. shadow?: (boolean|ShadowOptionsObject);
  84863. /**
  84864. * (Highstock) If true, a checkbox is displayed next to the legend item to
  84865. * allow selecting the series. The state of the checkbox is determined by
  84866. * the `selected` option.
  84867. */
  84868. showCheckbox?: boolean;
  84869. /**
  84870. * (Highstock) Whether to display this particular series or series type in
  84871. * the legend. Standalone series are shown in legend by default, and linked
  84872. * series are not. Since v7.2.0 it is possible to show series that use
  84873. * colorAxis by setting this option to `true`.
  84874. */
  84875. showInLegend?: boolean;
  84876. /**
  84877. * (Highstock) If set to `true`, the accessibility module will skip past the
  84878. * points in this series for keyboard navigation.
  84879. */
  84880. skipKeyboardNavigation?: boolean;
  84881. /**
  84882. * (Highstock) Smoothed line options.
  84883. */
  84884. smoothedLine?: PlotSlowstochasticSmoothedLineOptions;
  84885. /**
  84886. * (Highcharts, Highstock) When this is true, the series will not cause the
  84887. * Y axis to cross the zero plane (or threshold option) unless the data
  84888. * actually crosses the plane.
  84889. *
  84890. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  84891. * make the Y axis show negative values according to the `minPadding`
  84892. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  84893. */
  84894. softThreshold?: boolean;
  84895. states?: SeriesStatesOptionsObject;
  84896. /**
  84897. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  84898. * values are `left`, `center` and `right`.
  84899. */
  84900. step?: OptionsStepValue;
  84901. /**
  84902. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  84903. * event on a series isn't triggered until the mouse moves over another
  84904. * series, or out of the plot area. When false, the `mouseOut` event on a
  84905. * series is triggered when the mouse leaves the area around the series'
  84906. * graph or markers. This also implies the tooltip when not shared. When
  84907. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  84908. * be hidden when moving the mouse between series. Defaults to true for line
  84909. * and area type series, but to false for columns, pies etc.
  84910. *
  84911. * **Note:** The boost module will force this option because of technical
  84912. * limitations.
  84913. */
  84914. stickyTracking?: boolean;
  84915. /**
  84916. * (Highcharts, Highstock) The threshold, also called zero level or base
  84917. * level. For line type series this is only used in conjunction with
  84918. * negativeColor.
  84919. */
  84920. threshold?: (number|null);
  84921. /**
  84922. * (Highstock) A configuration object for the tooltip rendering of each
  84923. * single series. Properties are inherited from tooltip, but only the
  84924. * following properties can be defined on a series level.
  84925. */
  84926. tooltip?: SeriesTooltipOptionsObject;
  84927. /**
  84928. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  84929. * is longer than this, only one dimensional arrays of numbers, or two
  84930. * dimensional arrays with x and y values are allowed. Also, only the first
  84931. * point is tested, and the rest are assumed to be the same format. This
  84932. * saves expensive data checking and indexing in long series. Set it to `0`
  84933. * disable.
  84934. *
  84935. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  84936. * two dimensional arrays are allowed.
  84937. */
  84938. turboThreshold?: number;
  84939. /**
  84940. * (Highstock) Set the initial visibility of the series.
  84941. */
  84942. visible?: boolean;
  84943. /**
  84944. * (Highmaps) Define the z index of the series.
  84945. */
  84946. zIndex?: number;
  84947. /**
  84948. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  84949. */
  84950. zoneAxis?: string;
  84951. /**
  84952. * (Highcharts, Highstock) An array defining zones within a series. Zones
  84953. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  84954. * the `zoneAxis` option. The zone definitions have to be in ascending order
  84955. * regarding to the value.
  84956. *
  84957. * In styled mode, the color zones are styled with the
  84958. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  84959. * option (view live demo).
  84960. */
  84961. zones?: Array<SeriesZonesOptionsObject>;
  84962. }
  84963. /**
  84964. * (Highstock) Paramters used in calculation of regression series' points.
  84965. */
  84966. export interface PlotSlowstochasticParamsOptions {
  84967. index?: string;
  84968. period?: string;
  84969. /**
  84970. * (Highstock) Periods for Slow Stochastic oscillator: [%K, %D, SMA(%D)].
  84971. */
  84972. periods?: [number, number, number];
  84973. }
  84974. /**
  84975. * (Highstock) Smoothed line options.
  84976. */
  84977. export interface PlotSlowstochasticSmoothedLineOptions {
  84978. /**
  84979. * (Highstock) Styles for a smoothed line.
  84980. */
  84981. styles?: PlotSlowstochasticSmoothedLineStylesOptions;
  84982. }
  84983. /**
  84984. * (Highstock) Styles for a smoothed line.
  84985. */
  84986. export interface PlotSlowstochasticSmoothedLineStylesOptions {
  84987. /**
  84988. * (Highstock) Color of the line. If not set, it's inherited from
  84989. * plotOptions.stochastic.color.
  84990. */
  84991. lineColor?: ColorString;
  84992. /**
  84993. * (Highstock) Pixel width of the line.
  84994. */
  84995. lineWidth?: number;
  84996. }
  84997. /**
  84998. * (Highstock) Enable or disable the initial animation when a series is
  84999. * displayed. The animation can also be set as a configuration object. Please
  85000. * note that this option only applies to the initial animation of the series
  85001. * itself. For other animations, see chart.animation and the animation parameter
  85002. * under the API methods. The following properties are supported:
  85003. *
  85004. * - `defer`: The animation delay time in milliseconds.
  85005. *
  85006. * - `duration`: The duration of the animation in milliseconds.
  85007. *
  85008. * - `easing`: Can be a string reference to an easing function set on the `Math`
  85009. * object or a function. See the _Custom easing function_ demo below.
  85010. *
  85011. * Due to poor performance, animation is disabled in old IE browsers for several
  85012. * chart types.
  85013. */
  85014. export interface PlotSmaAnimationOptions {
  85015. defer?: number;
  85016. }
  85017. /**
  85018. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85019. * animation when a series is displayed for the `dataLabels`. The animation can
  85020. * also be set as a configuration object. Please note that this option only
  85021. * applies to the initial animation. For other animations, see chart.animation
  85022. * and the animation parameter under the API methods. The following properties
  85023. * are supported:
  85024. *
  85025. * - `defer`: The animation delay time in milliseconds.
  85026. */
  85027. export interface PlotSmaDataLabelsAnimationOptions {
  85028. /**
  85029. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  85030. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  85031. * inherits defer time from the series.animation.defer.
  85032. */
  85033. defer?: number;
  85034. }
  85035. /**
  85036. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  85037. * appearing next to each data point.
  85038. *
  85039. * Since v6.2.0, multiple data labels can be applied to each single point by
  85040. * defining them as an array of configs.
  85041. *
  85042. * In styled mode, the data labels can be styled with the
  85043. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  85044. * example).
  85045. */
  85046. export interface PlotSmaDataLabelsOptions {
  85047. /**
  85048. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  85049. * compared to the point. If `right`, the right side of the label should be
  85050. * touching the point. For points with an extent, like columns, the
  85051. * alignments also dictates how to align it inside the box, as given with
  85052. * the inside option. Can be one of `left`, `center` or `right`.
  85053. */
  85054. align?: (AlignValue|null);
  85055. /**
  85056. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  85057. * overlap. To make the labels less sensitive for overlapping, the
  85058. * dataLabels.padding can be set to 0.
  85059. */
  85060. allowOverlap?: boolean;
  85061. /**
  85062. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  85063. * animation when a series is displayed for the `dataLabels`. The animation
  85064. * can also be set as a configuration object. Please note that this option
  85065. * only applies to the initial animation. For other animations, see
  85066. * chart.animation and the animation parameter under the API methods. The
  85067. * following properties are supported:
  85068. *
  85069. * - `defer`: The animation delay time in milliseconds.
  85070. */
  85071. animation?: (boolean|PlotSmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85072. /**
  85073. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  85074. * for the data label.
  85075. */
  85076. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85077. /**
  85078. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  85079. * label. Defaults to `undefined`.
  85080. */
  85081. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85082. /**
  85083. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  85084. * the data label.
  85085. */
  85086. borderRadius?: number;
  85087. /**
  85088. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  85089. * the data label.
  85090. */
  85091. borderWidth?: number;
  85092. /**
  85093. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  85094. * Particularly in styled mode, this can be used to give each series' or
  85095. * point's data label unique styling. In addition to this option, a default
  85096. * color class name is added so that we can give the labels a contrast text
  85097. * shadow.
  85098. */
  85099. className?: string;
  85100. /**
  85101. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  85102. * labels. Defaults to `undefined`. For certain series types, like column or
  85103. * map, the data labels can be drawn inside the points. In this case the
  85104. * data label will be drawn with maximum contrast by default. Additionally,
  85105. * it will be given a `text-outline` style with the opposite color, to
  85106. * further increase the contrast. This can be overridden by setting the
  85107. * `text-outline` style to `none` in the `dataLabels.style` option.
  85108. */
  85109. color?: (ColorString|GradientColorObject|PatternObject);
  85110. /**
  85111. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  85112. * are outside the plot area. By default, the data label is moved inside the
  85113. * plot area according to the overflow option.
  85114. */
  85115. crop?: boolean;
  85116. /**
  85117. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  85118. * labels until the initial series animation has finished. Setting to
  85119. * `false` renders the data label immediately. If set to `true` inherits the
  85120. * defer time set in plotOptions.series.animation. If set to a number, a
  85121. * defer time is specified in milliseconds.
  85122. */
  85123. defer?: (boolean|number);
  85124. /**
  85125. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  85126. * labels.
  85127. */
  85128. enabled?: boolean;
  85129. /**
  85130. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  85131. * of which data labels to display. The declarative filter is designed for
  85132. * use when callback functions are not available, like when the chart
  85133. * options require a pure JSON structure or for use with graphical editors.
  85134. * For programmatic control, use the `formatter` instead, and return
  85135. * `undefined` to disable a single data label.
  85136. */
  85137. filter?: DataLabelsFilterOptionsObject;
  85138. /**
  85139. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  85140. * label. Available variables are the same as for `formatter`.
  85141. */
  85142. format?: string;
  85143. /**
  85144. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  85145. * format the data label. Note that if a `format` is defined, the format
  85146. * takes precedence and the formatter is ignored.
  85147. */
  85148. formatter?: DataLabelsFormatterCallbackFunction;
  85149. /**
  85150. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  85151. * columns or map areas, whether to align the data label inside the box or
  85152. * to the actual value point. Defaults to `false` in most cases, `true` in
  85153. * stacked columns.
  85154. */
  85155. inside?: boolean;
  85156. /**
  85157. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  85158. * of null. Works analogously to format. `nullFormat` can be applied only to
  85159. * series which support displaying null points.
  85160. */
  85161. nullFormat?: (boolean|string);
  85162. /**
  85163. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  85164. * that defines formatting for points with the value of null. Works
  85165. * analogously to formatter. `nullPointFormatter` can be applied only to
  85166. * series which support displaying null points.
  85167. */
  85168. nullFormatter?: DataLabelsFormatterCallbackFunction;
  85169. /**
  85170. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  85171. * flow outside the plot area. The default is `"justify"`, which aligns them
  85172. * inside the plot area. For columns and bars, this means it will be moved
  85173. * inside the bar. To display data labels outside the plot area, set `crop`
  85174. * to `false` and `overflow` to `"allow"`.
  85175. */
  85176. overflow?: DataLabelsOverflowValue;
  85177. /**
  85178. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  85179. * the `backgroundColor` is set, this is the padding within the box.
  85180. */
  85181. padding?: number;
  85182. /**
  85183. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  85184. * points. If `center` alignment is not possible, it defaults to `right`.
  85185. */
  85186. position?: AlignValue;
  85187. /**
  85188. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  85189. * that due to a more complex structure, backgrounds, borders and padding
  85190. * will be lost on a rotated data label.
  85191. */
  85192. rotation?: number;
  85193. /**
  85194. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  85195. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  85196. * an object configuration containing `color`, `offsetX`, `offsetY`,
  85197. * `opacity` and `width`.
  85198. */
  85199. shadow?: (boolean|ShadowOptionsObject);
  85200. /**
  85201. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  85202. * the border around the label. Symbols are predefined functions on the
  85203. * Renderer object.
  85204. */
  85205. shape?: string;
  85206. /**
  85207. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  85208. * default `color` setting is `"contrast"`, which is a pseudo color that
  85209. * Highcharts picks up and applies the maximum contrast to the underlying
  85210. * point item, for example the bar in a bar chart.
  85211. *
  85212. * The `textOutline` is a pseudo property that applies an outline of the
  85213. * given width with the given color, which by default is the maximum
  85214. * contrast to the text. So a bright text color will result in a black text
  85215. * outline for maximum readability on a mixed background. In some cases,
  85216. * especially with grayscale text, the text outline doesn't work well, in
  85217. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  85218. * is true, the `textOutline` will not be picked up. In this, case, the same
  85219. * effect can be acheived through the `text-shadow` CSS property.
  85220. *
  85221. * For some series types, where each point has an extent, like for example
  85222. * tree maps, the data label may overflow the point. There are two
  85223. * strategies for handling overflow. By default, the text will wrap to
  85224. * multiple lines. The other strategy is to set `style.textOverflow` to
  85225. * `ellipsis`, which will keep the text on one line plus it will break
  85226. * inside long words.
  85227. */
  85228. style?: CSSObject;
  85229. /**
  85230. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  85231. * should follow marker's shape. Border and background are disabled for a
  85232. * label that follows a path.
  85233. *
  85234. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  85235. * to true will disable this option.
  85236. */
  85237. textPath?: DataLabelsTextPathOptionsObject;
  85238. /**
  85239. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  85240. * the labels.
  85241. */
  85242. useHTML?: boolean;
  85243. /**
  85244. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  85245. * label. Can be one of `top`, `middle` or `bottom`. The default value
  85246. * depends on the data, for instance in a column chart, the label is above
  85247. * positive values and below negative values.
  85248. */
  85249. verticalAlign?: (VerticalAlignValue|null);
  85250. /**
  85251. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  85252. * label relative to the point in pixels.
  85253. */
  85254. x?: number;
  85255. /**
  85256. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  85257. * label relative to the point in pixels.
  85258. */
  85259. y?: number;
  85260. /**
  85261. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  85262. * The default Z index puts it above the series. Use a Z index of 2 to
  85263. * display it behind the series.
  85264. */
  85265. z?: number;
  85266. }
  85267. /**
  85268. * (Highcharts, Highstock) Options for the series data sorting.
  85269. */
  85270. export interface PlotSmaDataSortingOptions {
  85271. /**
  85272. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  85273. * Use xAxis.reversed to change the sorting order.
  85274. */
  85275. enabled?: boolean;
  85276. /**
  85277. * (Highcharts, Highstock) Whether to allow matching points by name in an
  85278. * update. If this option is disabled, points will be matched by order.
  85279. */
  85280. matchByName?: boolean;
  85281. /**
  85282. * (Highcharts, Highstock) Determines what data value should be used to sort
  85283. * by.
  85284. */
  85285. sortKey?: string;
  85286. }
  85287. /**
  85288. * (Highstock) Simple moving average indicator (SMA). This series requires
  85289. * `linkedTo` option to be set.
  85290. *
  85291. * In TypeScript the type option must always be set.
  85292. *
  85293. * Configuration options for the series are given in three levels:
  85294. *
  85295. * 1. Options for all series in a chart are defined in the plotOptions.series
  85296. * object.
  85297. *
  85298. * 2. Options for all `sma` series are defined in plotOptions.sma.
  85299. *
  85300. * 3. Options for one single series are given in the series instance array. (see
  85301. * online documentation for example)
  85302. */
  85303. export interface PlotSmaOptions {
  85304. /**
  85305. * (Highstock) Accessibility options for a series.
  85306. */
  85307. accessibility?: SeriesAccessibilityOptionsObject;
  85308. /**
  85309. * (Highstock) Allow this series' points to be selected by clicking on the
  85310. * graphic (columns, point markers, pie slices, map areas etc).
  85311. *
  85312. * The selected points can be handled by point select and unselect events,
  85313. * or collectively by the getSelectedPoints function.
  85314. *
  85315. * And alternative way of selecting points is through dragging.
  85316. */
  85317. allowPointSelect?: boolean;
  85318. /**
  85319. * (Highstock) Enable or disable the initial animation when a series is
  85320. * displayed. The animation can also be set as a configuration object.
  85321. * Please note that this option only applies to the initial animation of the
  85322. * series itself. For other animations, see chart.animation and the
  85323. * animation parameter under the API methods. The following properties are
  85324. * supported:
  85325. *
  85326. * - `defer`: The animation delay time in milliseconds.
  85327. *
  85328. * - `duration`: The duration of the animation in milliseconds.
  85329. *
  85330. * - `easing`: Can be a string reference to an easing function set on the
  85331. * `Math` object or a function. See the _Custom easing function_ demo below.
  85332. *
  85333. * Due to poor performance, animation is disabled in old IE browsers for
  85334. * several chart types.
  85335. */
  85336. animation?: (boolean|PlotSmaAnimationOptions|Partial<AnimationOptionsObject>);
  85337. /**
  85338. * (Highstock) For some series, there is a limit that shuts down initial
  85339. * animation by default when the total number of points in the chart is too
  85340. * high. For example, for a column chart and its derivatives, animation does
  85341. * not run if there is more than 250 points totally. To disable this cap,
  85342. * set `animationLimit` to `Infinity`.
  85343. */
  85344. animationLimit?: number;
  85345. /**
  85346. * (Highstock) Sets the color blending in the boost module.
  85347. */
  85348. boostBlending?: OptionsBoostBlendingValue;
  85349. /**
  85350. * (Highstock) Set the point threshold for when a series should enter boost
  85351. * mode.
  85352. *
  85353. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  85354. * there are 2000 or more points in the series.
  85355. *
  85356. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  85357. * it to 1 will force boosting.
  85358. *
  85359. * Note that the cropThreshold also affects this setting. When zooming in on
  85360. * a series that has fewer points than the `cropThreshold`, all points are
  85361. * rendered although outside the visible plot area, and the `boostThreshold`
  85362. * won't take effect.
  85363. */
  85364. boostThreshold?: number;
  85365. /**
  85366. * (Highmaps) The border color of the map areas.
  85367. *
  85368. * In styled mode, the border stroke is given in the `.highcharts-point`
  85369. * class.
  85370. */
  85371. borderColor?: (ColorString|GradientColorObject|PatternObject);
  85372. /**
  85373. * (Highmaps) The border width of each map area.
  85374. *
  85375. * In styled mode, the border stroke width is given in the
  85376. * `.highcharts-point` class.
  85377. */
  85378. borderWidth?: number;
  85379. /**
  85380. * (Highstock) An additional class name to apply to the series' graphical
  85381. * elements. This option does not replace default class names of the
  85382. * graphical element.
  85383. */
  85384. className?: string;
  85385. /**
  85386. * (Highstock) Disable this option to allow series rendering in the whole
  85387. * plotting area.
  85388. *
  85389. * **Note:** Clipping should be always enabled when chart.zoomType is set
  85390. */
  85391. clip?: boolean;
  85392. /**
  85393. * (Highstock) The main color of the series. In line type series it applies
  85394. * to the line and the point markers unless otherwise specified. In bar type
  85395. * series it applies to the bars unless a color is specified per point. The
  85396. * default value is pulled from the `options.colors` array.
  85397. *
  85398. * In styled mode, the color can be defined by the colorIndex option. Also,
  85399. * the series color can be set with the `.highcharts-series`,
  85400. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  85401. * `.highcharts-series-{n}` class, or individual classes given by the
  85402. * `className` option.
  85403. */
  85404. color?: (ColorString|GradientColorObject|PatternObject);
  85405. /**
  85406. * (Highstock) Styled mode only. A specific color index to use for the
  85407. * series, so its graphic representations are given the class name
  85408. * `highcharts-color-{n}`.
  85409. */
  85410. colorIndex?: number;
  85411. /**
  85412. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  85413. * used to calculate point color if `colorAxis` is used. Requires to set
  85414. * `min` and `max` if some custom point property is used or if approximation
  85415. * for data grouping is set to `'sum'`.
  85416. */
  85417. colorKey?: string;
  85418. /**
  85419. * (Highstock) Compare the values of the series against the first non-null,
  85420. * non- zero value in the visible range. The y axis will show percentage or
  85421. * absolute change depending on whether `compare` is set to `"percent"` or
  85422. * `"value"`. When this is applied to multiple series, it allows comparing
  85423. * the development of the series against each other. Adds a `change` field
  85424. * to every point object.
  85425. */
  85426. compare?: string;
  85427. /**
  85428. * (Highstock) When compare is `percent`, this option dictates whether to
  85429. * use 0 or 100 as the base of comparison.
  85430. */
  85431. compareBase?: (0|100);
  85432. /**
  85433. * (Highstock) Defines if comparison should start from the first point
  85434. * within the visible range or should start from the first point **before**
  85435. * the range.
  85436. *
  85437. * In other words, this flag determines if first point within the visible
  85438. * range will have 0% (`compareStart=true`) or should have been already
  85439. * calculated according to the previous point (`compareStart=false`).
  85440. */
  85441. compareStart?: boolean;
  85442. /**
  85443. * (Highstock) Whether to compare indicator to the main series values or
  85444. * indicator values.
  85445. */
  85446. compareToMain?: boolean;
  85447. /**
  85448. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  85449. * series plot across the extremes.
  85450. */
  85451. connectEnds?: boolean;
  85452. /**
  85453. * (Highcharts, Highstock) Whether to connect a graph line across null
  85454. * points, or render a gap between the two points on either side of the
  85455. * null.
  85456. */
  85457. connectNulls?: boolean;
  85458. /**
  85459. * (Gantt) Override Pathfinder connector options for a series. Requires
  85460. * Highcharts Gantt to be loaded.
  85461. */
  85462. connectors?: SeriesConnectorsOptionsObject;
  85463. /**
  85464. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  85465. * rounded to its nearest pixel in order to render sharp on screen. In some
  85466. * cases, when there are a lot of densely packed columns, this leads to
  85467. * visible difference in column widths or distance between columns. In these
  85468. * cases, setting `crisp` to `false` may look better, even though each
  85469. * column is rendered blurry.
  85470. */
  85471. crisp?: boolean;
  85472. /**
  85473. * (Highcharts, Highstock) When the series contains less points than the
  85474. * crop threshold, all points are drawn, even if the points fall outside the
  85475. * visible plot area at the current zoom. The advantage of drawing all
  85476. * points (including markers and columns), is that animation is performed on
  85477. * updates. On the other hand, when the series contains more points than the
  85478. * crop threshold, the series data is cropped to only contain points that
  85479. * fall within the plot area. The advantage of cropping away invisible
  85480. * points is to increase performance on large series.
  85481. */
  85482. cropThreshold?: number;
  85483. /**
  85484. * (Highstock) You can set the cursor to "pointer" if you have click events
  85485. * attached to the series, to signal to the user that the points and lines
  85486. * can be clicked.
  85487. *
  85488. * In styled mode, the series cursor can be set with the same classes as
  85489. * listed under series.color.
  85490. */
  85491. cursor?: (string|CursorValue);
  85492. /**
  85493. * (Highstock) A reserved subspace to store options and values for
  85494. * customized functionality. Here you can add additional data for your own
  85495. * event callbacks and formatter callbacks.
  85496. */
  85497. custom?: Dictionary<any>;
  85498. /**
  85499. * (Highstock) Name of the dash style to use for the graph, or for some
  85500. * series types the outline of each shape.
  85501. *
  85502. * In styled mode, the stroke dash-array can be set with the same classes as
  85503. * listed under series.color.
  85504. */
  85505. dashStyle?: DashStyleValue;
  85506. /**
  85507. * (Highstock) Data grouping is the concept of sampling the data values into
  85508. * larger blocks in order to ease readability and increase performance of
  85509. * the JavaScript charts. Highcharts Stock by default applies data grouping
  85510. * when the points become closer than a certain pixel value, determined by
  85511. * the `groupPixelWidth` option.
  85512. *
  85513. * If data grouping is applied, the grouping information of grouped points
  85514. * can be read from the Point.dataGroup. If point options other than the
  85515. * data itself are set, for example `name` or `color` or custom properties,
  85516. * the grouping logic doesn't know how to group it. In this case the options
  85517. * of the first point instance are copied over to the group point. This can
  85518. * be altered through a custom `approximation` callback function.
  85519. */
  85520. dataGrouping?: DataGroupingOptionsObject;
  85521. /**
  85522. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  85523. * labels, appearing next to each data point.
  85524. *
  85525. * Since v6.2.0, multiple data labels can be applied to each single point by
  85526. * defining them as an array of configs.
  85527. *
  85528. * In styled mode, the data labels can be styled with the
  85529. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  85530. * (see example).
  85531. */
  85532. dataLabels?: (PlotSmaDataLabelsOptions|Array<PlotSmaDataLabelsOptions>);
  85533. /**
  85534. * (Highcharts, Highstock) Options for the series data sorting.
  85535. */
  85536. dataSorting?: (DataSortingOptionsObject|PlotSmaDataSortingOptions);
  85537. /**
  85538. * (Highstock) A description of the series to add to the screen reader
  85539. * information about the series.
  85540. */
  85541. description?: string;
  85542. /**
  85543. * (Highstock) Enable or disable the mouse tracking for a specific series.
  85544. * This includes point tooltips and click events on graphs and points. For
  85545. * large datasets it improves performance.
  85546. */
  85547. enableMouseTracking?: boolean;
  85548. /**
  85549. * (Highstock) General event handlers for the series items. These event
  85550. * hooks can also be attached to the series at run time using the
  85551. * `Highcharts.addEvent` function.
  85552. */
  85553. events?: SeriesEventsOptionsObject;
  85554. /**
  85555. * (Highstock) Determines whether the series should look for the nearest
  85556. * point in both dimensions or just the x-dimension when hovering the
  85557. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  85558. * series. If the data has duplicate x-values, it is recommended to set this
  85559. * to `'xy'` to allow hovering over all points.
  85560. *
  85561. * Applies only to series types using nearest neighbor search (not direct
  85562. * hover) for tooltip.
  85563. */
  85564. findNearestPointBy?: OptionsFindNearestPointByValue;
  85565. /**
  85566. * (Highstock) Defines when to display a gap in the graph, together with the
  85567. * gapUnit option.
  85568. *
  85569. * In case when `dataGrouping` is enabled, points can be grouped into a
  85570. * larger time span. This can make the grouped points to have a greater
  85571. * distance than the absolute value of `gapSize` property, which will result
  85572. * in disappearing graph completely. To prevent this situation the mentioned
  85573. * distance between grouped points is used instead of previously defined
  85574. * `gapSize`.
  85575. *
  85576. * In practice, this option is most often used to visualize gaps in time
  85577. * series. In a stock chart, intraday data is available for daytime hours,
  85578. * while gaps will appear in nights and weekends.
  85579. */
  85580. gapSize?: number;
  85581. /**
  85582. * (Highstock) Together with gapSize, this option defines where to draw gaps
  85583. * in the graph.
  85584. *
  85585. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  85586. * if the distance between two points is greater than 5 times that of the
  85587. * two closest points, the graph will be broken.
  85588. *
  85589. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  85590. * values, which on a datetime axis is milliseconds. This also applies to
  85591. * the navigator series that inherits gap options from the base series.
  85592. */
  85593. gapUnit?: OptionsGapUnitValue;
  85594. /**
  85595. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  85596. * chart width or only the zoomed area when zooming in on parts of the X
  85597. * axis. By default, the Y axis adjusts to the min and max of the visible
  85598. * data. Cartesian series only.
  85599. */
  85600. getExtremesFromAll?: boolean;
  85601. /**
  85602. * (Highstock) When set to `false` will prevent the series data from being
  85603. * included in any form of data export.
  85604. *
  85605. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  85606. * `includeInCSVExport`.
  85607. */
  85608. includeInDataExport?: boolean;
  85609. /**
  85610. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  85611. * series as possible in a natural way, seeking to avoid other series. The
  85612. * goal of this feature is to make the chart more easily readable, like if a
  85613. * human designer placed the labels in the optimal position.
  85614. *
  85615. * The series labels currently work with series types having a `graph` or an
  85616. * `area`.
  85617. */
  85618. label?: SeriesLabelOptionsObject;
  85619. /**
  85620. * (Highstock) The line marks the last price from all points.
  85621. */
  85622. lastPrice?: SeriesLastPriceOptionsObject;
  85623. /**
  85624. * (Highstock) The line marks the last price from visible range of points.
  85625. */
  85626. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  85627. /**
  85628. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  85629. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  85630. * the ends and bends.
  85631. */
  85632. linecap?: SeriesLinecapValue;
  85633. /**
  85634. * (Highcharts, Highstock) Pixel width of the graph line.
  85635. */
  85636. lineWidth?: number;
  85637. /**
  85638. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  85639. * based on. Required for this indicator.
  85640. */
  85641. linkedTo?: string;
  85642. /**
  85643. * (Highstock) Options for the point markers of line-like series. Properties
  85644. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  85645. * appearance of the markers. Other series types, like column series, don't
  85646. * have markers, but have visual options on the series level instead.
  85647. *
  85648. * In styled mode, the markers can be styled with the `.highcharts-point`,
  85649. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  85650. */
  85651. marker?: PointMarkerOptionsObject;
  85652. /**
  85653. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  85654. * If not set, it will be based on a technical indicator type and default
  85655. * params.
  85656. */
  85657. name?: string;
  85658. /**
  85659. * (Highstock) The color for the parts of the graph or points that are below
  85660. * the threshold. Note that `zones` takes precedence over the negative
  85661. * color. Using `negativeColor` is equivalent to applying a zone with value
  85662. * of 0.
  85663. */
  85664. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  85665. /**
  85666. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  85667. * dataLabels.
  85668. */
  85669. opacity?: number;
  85670. /**
  85671. * (Highstock) Paramters used in calculation of regression series' points.
  85672. */
  85673. params?: PlotSmaParamsOptions;
  85674. /**
  85675. * (Highstock) Properties for each single point.
  85676. */
  85677. point?: PlotSeriesPointOptions;
  85678. /**
  85679. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  85680. * individual series. Overrides the chart wide configuration.
  85681. */
  85682. pointDescriptionFormatter?: Function;
  85683. /**
  85684. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  85685. * true, the checkbox next to the series name in the legend will be checked
  85686. * for a selected series.
  85687. */
  85688. selected?: boolean;
  85689. /**
  85690. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  85691. * the shadow can be an object configuration containing `color`, `offsetX`,
  85692. * `offsetY`, `opacity` and `width`.
  85693. */
  85694. shadow?: (boolean|ShadowOptionsObject);
  85695. /**
  85696. * (Highstock) If true, a checkbox is displayed next to the legend item to
  85697. * allow selecting the series. The state of the checkbox is determined by
  85698. * the `selected` option.
  85699. */
  85700. showCheckbox?: boolean;
  85701. /**
  85702. * (Highstock) Whether to display this particular series or series type in
  85703. * the legend. Standalone series are shown in legend by default, and linked
  85704. * series are not. Since v7.2.0 it is possible to show series that use
  85705. * colorAxis by setting this option to `true`.
  85706. */
  85707. showInLegend?: boolean;
  85708. /**
  85709. * (Highstock) If set to `true`, the accessibility module will skip past the
  85710. * points in this series for keyboard navigation.
  85711. */
  85712. skipKeyboardNavigation?: boolean;
  85713. /**
  85714. * (Highcharts, Highstock) When this is true, the series will not cause the
  85715. * Y axis to cross the zero plane (or threshold option) unless the data
  85716. * actually crosses the plane.
  85717. *
  85718. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  85719. * make the Y axis show negative values according to the `minPadding`
  85720. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  85721. */
  85722. softThreshold?: boolean;
  85723. states?: SeriesStatesOptionsObject;
  85724. /**
  85725. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  85726. * values are `left`, `center` and `right`.
  85727. */
  85728. step?: OptionsStepValue;
  85729. /**
  85730. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  85731. * event on a series isn't triggered until the mouse moves over another
  85732. * series, or out of the plot area. When false, the `mouseOut` event on a
  85733. * series is triggered when the mouse leaves the area around the series'
  85734. * graph or markers. This also implies the tooltip when not shared. When
  85735. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  85736. * be hidden when moving the mouse between series. Defaults to true for line
  85737. * and area type series, but to false for columns, pies etc.
  85738. *
  85739. * **Note:** The boost module will force this option because of technical
  85740. * limitations.
  85741. */
  85742. stickyTracking?: boolean;
  85743. /**
  85744. * (Highcharts, Highstock) The threshold, also called zero level or base
  85745. * level. For line type series this is only used in conjunction with
  85746. * negativeColor.
  85747. */
  85748. threshold?: (number|null);
  85749. /**
  85750. * (Highstock) A configuration object for the tooltip rendering of each
  85751. * single series. Properties are inherited from tooltip, but only the
  85752. * following properties can be defined on a series level.
  85753. */
  85754. tooltip?: SeriesTooltipOptionsObject;
  85755. /**
  85756. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  85757. * is longer than this, only one dimensional arrays of numbers, or two
  85758. * dimensional arrays with x and y values are allowed. Also, only the first
  85759. * point is tested, and the rest are assumed to be the same format. This
  85760. * saves expensive data checking and indexing in long series. Set it to `0`
  85761. * disable.
  85762. *
  85763. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  85764. * two dimensional arrays are allowed.
  85765. */
  85766. turboThreshold?: number;
  85767. /**
  85768. * (Highstock) Set the initial visibility of the series.
  85769. */
  85770. visible?: boolean;
  85771. /**
  85772. * (Highmaps) Define the z index of the series.
  85773. */
  85774. zIndex?: number;
  85775. /**
  85776. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  85777. */
  85778. zoneAxis?: string;
  85779. /**
  85780. * (Highcharts, Highstock) An array defining zones within a series. Zones
  85781. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  85782. * the `zoneAxis` option. The zone definitions have to be in ascending order
  85783. * regarding to the value.
  85784. *
  85785. * In styled mode, the color zones are styled with the
  85786. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  85787. * option (view live demo).
  85788. */
  85789. zones?: Array<SeriesZonesOptionsObject>;
  85790. }
  85791. /**
  85792. * (Highstock) Paramters used in calculation of regression series' points.
  85793. */
  85794. export interface PlotSmaParamsOptions {
  85795. /**
  85796. * (Highstock) The point index which indicator calculations will base. For
  85797. * example using OHLC data, index=2 means the indicator will be calculated
  85798. * using Low values.
  85799. */
  85800. index?: number;
  85801. /**
  85802. * (Highstock) The base period for indicator calculations. This is the
  85803. * number of data points which are taken into account for the indicator
  85804. * calculations.
  85805. */
  85806. period?: number;
  85807. }
  85808. /**
  85809. * (Highcharts) Enable or disable the initial animation when a series is
  85810. * displayed. The animation can also be set as a configuration object. Please
  85811. * note that this option only applies to the initial animation of the series
  85812. * itself. For other animations, see chart.animation and the animation parameter
  85813. * under the API methods. The following properties are supported:
  85814. *
  85815. * - `defer`: The animation delay time in milliseconds.
  85816. *
  85817. * - `duration`: The duration of the animation in milliseconds.
  85818. *
  85819. * - `easing`: Can be a string reference to an easing function set on the `Math`
  85820. * object or a function. See the _Custom easing function_ demo below.
  85821. *
  85822. * Due to poor performance, animation is disabled in old IE browsers for several
  85823. * chart types.
  85824. */
  85825. export interface PlotSolidgaugeAnimationOptions {
  85826. defer?: number;
  85827. }
  85828. /**
  85829. * (Highcharts) Enable or disable the initial animation when a series is
  85830. * displayed for the `dataLabels`. The animation can also be set as a
  85831. * configuration object. Please note that this option only applies to the
  85832. * initial animation. For other animations, see chart.animation and the
  85833. * animation parameter under the API methods. The following properties are
  85834. * supported:
  85835. *
  85836. * - `defer`: The animation delay time in milliseconds.
  85837. */
  85838. export interface PlotSolidgaugeDataLabelsAnimationOptions {
  85839. /**
  85840. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  85841. * dataLabel immediately. As `undefined` inherits defer time from the
  85842. * series.animation.defer.
  85843. */
  85844. defer?: number;
  85845. }
  85846. /**
  85847. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  85848. * enabled by default and shown in a bordered box below the point.
  85849. */
  85850. export interface PlotSolidgaugeDataLabelsOptions {
  85851. /**
  85852. * (Highcharts) The alignment of the data label compared to the point. If
  85853. * `right`, the right side of the label should be touching the point. For
  85854. * points with an extent, like columns, the alignments also dictates how to
  85855. * align it inside the box, as given with the inside option. Can be one of
  85856. * `left`, `center` or `right`.
  85857. */
  85858. align?: (AlignValue|null);
  85859. /**
  85860. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  85861. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  85862. */
  85863. allowOverlap?: boolean;
  85864. /**
  85865. * (Highcharts) Enable or disable the initial animation when a series is
  85866. * displayed for the `dataLabels`. The animation can also be set as a
  85867. * configuration object. Please note that this option only applies to the
  85868. * initial animation. For other animations, see chart.animation and the
  85869. * animation parameter under the API methods. The following properties are
  85870. * supported:
  85871. *
  85872. * - `defer`: The animation delay time in milliseconds.
  85873. */
  85874. animation?: (boolean|PlotSolidgaugeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  85875. /**
  85876. * (Highcharts) The background color or gradient for the data label.
  85877. */
  85878. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  85879. /**
  85880. * (Highcharts) The border color for the data label. Defaults to
  85881. * `undefined`.
  85882. */
  85883. borderColor?: string;
  85884. /**
  85885. * (Highcharts) The border radius in pixels for the data label.
  85886. */
  85887. borderRadius?: number;
  85888. /**
  85889. * (Highcharts) The border width in pixels for the data label.
  85890. */
  85891. borderWidth?: number;
  85892. /**
  85893. * (Highcharts) A class name for the data label. Particularly in styled
  85894. * mode, this can be used to give each series' or point's data label unique
  85895. * styling. In addition to this option, a default color class name is added
  85896. * so that we can give the labels a contrast text shadow.
  85897. */
  85898. className?: string;
  85899. /**
  85900. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  85901. * For certain series types, like column or map, the data labels can be
  85902. * drawn inside the points. In this case the data label will be drawn with
  85903. * maximum contrast by default. Additionally, it will be given a
  85904. * `text-outline` style with the opposite color, to further increase the
  85905. * contrast. This can be overridden by setting the `text-outline` style to
  85906. * `none` in the `dataLabels.style` option.
  85907. */
  85908. color?: (ColorString|GradientColorObject|PatternObject);
  85909. /**
  85910. * (Highcharts) Whether to hide data labels that are outside the plot area.
  85911. * By default, the data label is moved inside the plot area according to the
  85912. * overflow option.
  85913. */
  85914. crop?: boolean;
  85915. /**
  85916. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  85917. * labels until the initial series animation has finished. Setting to
  85918. * `false` renders the data label immediately. If set to `true` inherits the
  85919. * defer time set in plotOptions.series.animation. If set to a number, a
  85920. * defer time is specified in milliseconds.
  85921. */
  85922. defer?: boolean;
  85923. /**
  85924. * (Highcharts) Enable or disable the data labels.
  85925. */
  85926. enabled?: boolean;
  85927. /**
  85928. * (Highcharts) A declarative filter to control of which data labels to
  85929. * display. The declarative filter is designed for use when callback
  85930. * functions are not available, like when the chart options require a pure
  85931. * JSON structure or for use with graphical editors. For programmatic
  85932. * control, use the `formatter` instead, and return `undefined` to disable a
  85933. * single data label.
  85934. */
  85935. filter?: DataLabelsFilterOptionsObject;
  85936. /**
  85937. * (Highcharts) A format string for the data label. Available variables are
  85938. * the same as for `formatter`.
  85939. */
  85940. format?: string;
  85941. /**
  85942. * (Highcharts) Callback JavaScript function to format the data label. Note
  85943. * that if a `format` is defined, the format takes precedence and the
  85944. * formatter is ignored.
  85945. */
  85946. formatter?: DataLabelsFormatterCallbackFunction;
  85947. /**
  85948. * (Highcharts) For points with an extent, like columns or map areas,
  85949. * whether to align the data label inside the box or to the actual value
  85950. * point. Defaults to `false` in most cases, `true` in stacked columns.
  85951. */
  85952. inside?: boolean;
  85953. /**
  85954. * (Highcharts) Format for points with the value of null. Works analogously
  85955. * to format. `nullFormat` can be applied only to series which support
  85956. * displaying null points.
  85957. */
  85958. nullFormat?: (boolean|string);
  85959. /**
  85960. * (Highcharts) Callback JavaScript function that defines formatting for
  85961. * points with the value of null. Works analogously to formatter.
  85962. * `nullPointFormatter` can be applied only to series which support
  85963. * displaying null points.
  85964. */
  85965. nullFormatter?: DataLabelsFormatterCallbackFunction;
  85966. /**
  85967. * (Highcharts) How to handle data labels that flow outside the plot area.
  85968. * The default is `"justify"`, which aligns them inside the plot area. For
  85969. * columns and bars, this means it will be moved inside the bar. To display
  85970. * data labels outside the plot area, set `crop` to `false` and `overflow`
  85971. * to `"allow"`.
  85972. */
  85973. overflow?: DataLabelsOverflowValue;
  85974. /**
  85975. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  85976. * set, this is the padding within the box.
  85977. */
  85978. padding?: number;
  85979. /**
  85980. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  85981. * is not possible, it defaults to `right`.
  85982. */
  85983. position?: AlignValue;
  85984. /**
  85985. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  85986. * structure, backgrounds, borders and padding will be lost on a rotated
  85987. * data label.
  85988. */
  85989. rotation?: number;
  85990. /**
  85991. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  85992. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  85993. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  85994. */
  85995. shadow?: (boolean|ShadowOptionsObject);
  85996. /**
  85997. * (Highcharts) The name of a symbol to use for the border around the label.
  85998. * Symbols are predefined functions on the Renderer object.
  85999. */
  86000. shape?: string;
  86001. /**
  86002. * (Highcharts) Styles for the label. The default `color` setting is
  86003. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  86004. * applies the maximum contrast to the underlying point item, for example
  86005. * the bar in a bar chart.
  86006. *
  86007. * The `textOutline` is a pseudo property that applies an outline of the
  86008. * given width with the given color, which by default is the maximum
  86009. * contrast to the text. So a bright text color will result in a black text
  86010. * outline for maximum readability on a mixed background. In some cases,
  86011. * especially with grayscale text, the text outline doesn't work well, in
  86012. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  86013. * is true, the `textOutline` will not be picked up. In this, case, the same
  86014. * effect can be acheived through the `text-shadow` CSS property.
  86015. *
  86016. * For some series types, where each point has an extent, like for example
  86017. * tree maps, the data label may overflow the point. There are two
  86018. * strategies for handling overflow. By default, the text will wrap to
  86019. * multiple lines. The other strategy is to set `style.textOverflow` to
  86020. * `ellipsis`, which will keep the text on one line plus it will break
  86021. * inside long words.
  86022. */
  86023. style?: CSSObject;
  86024. /**
  86025. * (Highcharts) Options for a label text which should follow marker's shape.
  86026. * Border and background are disabled for a label that follows a path.
  86027. *
  86028. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  86029. * to true will disable this option.
  86030. */
  86031. textPath?: DataLabelsTextPathOptionsObject;
  86032. /**
  86033. * (Highcharts) Whether to use HTML to render the labels.
  86034. */
  86035. useHTML?: boolean;
  86036. /**
  86037. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  86038. * `middle` or `bottom`. The default value depends on the data, for instance
  86039. * in a column chart, the label is above positive values and below negative
  86040. * values.
  86041. */
  86042. verticalAlign?: string;
  86043. /**
  86044. * (Highcharts) The x position offset of the label relative to the point in
  86045. * pixels.
  86046. */
  86047. x?: number;
  86048. /**
  86049. * (Highcharts) The y position offset of the label relative to the point in
  86050. * pixels.
  86051. */
  86052. y?: number;
  86053. /**
  86054. * (Highcharts) The Z index of the data labels. The default Z index puts it
  86055. * above the series. Use a Z index of 2 to display it behind the series.
  86056. */
  86057. z?: number;
  86058. zIndex?: number;
  86059. }
  86060. /**
  86061. * (Highcharts) A solid gauge is a circular gauge where the value is indicated
  86062. * by a filled arc, and the color of the arc may variate with the value.
  86063. *
  86064. * In TypeScript the type option must always be set.
  86065. *
  86066. * Configuration options for the series are given in three levels:
  86067. *
  86068. * 1. Options for all series in a chart are defined in the plotOptions.series
  86069. * object.
  86070. *
  86071. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  86072. *
  86073. * 3. Options for one single series are given in the series instance array. (see
  86074. * online documentation for example)
  86075. */
  86076. export interface PlotSolidgaugeOptions {
  86077. /**
  86078. * (Highcharts) Accessibility options for a series.
  86079. */
  86080. accessibility?: SeriesAccessibilityOptionsObject;
  86081. /**
  86082. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  86083. * rendered. If `true`, areas which don't correspond to a data point, are
  86084. * rendered as `null` points. If `false`, those areas are skipped.
  86085. */
  86086. allAreas?: boolean;
  86087. /**
  86088. * (Highcharts) Allow this series' points to be selected by clicking on the
  86089. * graphic (columns, point markers, pie slices, map areas etc).
  86090. *
  86091. * The selected points can be handled by point select and unselect events,
  86092. * or collectively by the getSelectedPoints function.
  86093. *
  86094. * And alternative way of selecting points is through dragging.
  86095. */
  86096. allowPointSelect?: boolean;
  86097. /**
  86098. * (Highcharts) Enable or disable the initial animation when a series is
  86099. * displayed. The animation can also be set as a configuration object.
  86100. * Please note that this option only applies to the initial animation of the
  86101. * series itself. For other animations, see chart.animation and the
  86102. * animation parameter under the API methods. The following properties are
  86103. * supported:
  86104. *
  86105. * - `defer`: The animation delay time in milliseconds.
  86106. *
  86107. * - `duration`: The duration of the animation in milliseconds.
  86108. *
  86109. * - `easing`: Can be a string reference to an easing function set on the
  86110. * `Math` object or a function. See the _Custom easing function_ demo below.
  86111. *
  86112. * Due to poor performance, animation is disabled in old IE browsers for
  86113. * several chart types.
  86114. */
  86115. animation?: (boolean|PlotSolidgaugeAnimationOptions|Partial<AnimationOptionsObject>);
  86116. /**
  86117. * (Highmaps) The border color of the map areas.
  86118. *
  86119. * In styled mode, the border stroke is given in the `.highcharts-point`
  86120. * class.
  86121. */
  86122. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86123. /**
  86124. * (Highmaps) The border width of each map area.
  86125. *
  86126. * In styled mode, the border stroke width is given in the
  86127. * `.highcharts-point` class.
  86128. */
  86129. borderWidth?: number;
  86130. /**
  86131. * (Highcharts) An additional class name to apply to the series' graphical
  86132. * elements. This option does not replace default class names of the
  86133. * graphical element.
  86134. */
  86135. className?: string;
  86136. /**
  86137. * (Highcharts) Disable this option to allow series rendering in the whole
  86138. * plotting area.
  86139. *
  86140. * **Note:** Clipping should be always enabled when chart.zoomType is set
  86141. */
  86142. clip?: boolean;
  86143. /**
  86144. * (Highcharts) The main color of the series. In line type series it applies
  86145. * to the line and the point markers unless otherwise specified. In bar type
  86146. * series it applies to the bars unless a color is specified per point. The
  86147. * default value is pulled from the `options.colors` array.
  86148. *
  86149. * In styled mode, the color can be defined by the colorIndex option. Also,
  86150. * the series color can be set with the `.highcharts-series`,
  86151. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  86152. * `.highcharts-series-{n}` class, or individual classes given by the
  86153. * `className` option.
  86154. */
  86155. color?: (ColorString|GradientColorObject|PatternObject);
  86156. /**
  86157. * (Highcharts) Whether to give each point an individual color.
  86158. */
  86159. colorByPoint?: boolean;
  86160. /**
  86161. * (Highcharts) Styled mode only. A specific color index to use for the
  86162. * series, so its graphic representations are given the class name
  86163. * `highcharts-color-{n}`.
  86164. */
  86165. colorIndex?: number;
  86166. /**
  86167. * (Highstock) Compare the values of the series against the first non-null,
  86168. * non- zero value in the visible range. The y axis will show percentage or
  86169. * absolute change depending on whether `compare` is set to `"percent"` or
  86170. * `"value"`. When this is applied to multiple series, it allows comparing
  86171. * the development of the series against each other. Adds a `change` field
  86172. * to every point object.
  86173. */
  86174. compare?: string;
  86175. /**
  86176. * (Highstock) When compare is `percent`, this option dictates whether to
  86177. * use 0 or 100 as the base of comparison.
  86178. */
  86179. compareBase?: (0|100);
  86180. /**
  86181. * (Highstock) Defines if comparison should start from the first point
  86182. * within the visible range or should start from the first point **before**
  86183. * the range.
  86184. *
  86185. * In other words, this flag determines if first point within the visible
  86186. * range will have 0% (`compareStart=true`) or should have been already
  86187. * calculated according to the previous point (`compareStart=false`).
  86188. */
  86189. compareStart?: boolean;
  86190. /**
  86191. * (Gantt) Override Pathfinder connector options for a series. Requires
  86192. * Highcharts Gantt to be loaded.
  86193. */
  86194. connectors?: SeriesConnectorsOptionsObject;
  86195. /**
  86196. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  86197. * rounded to its nearest pixel in order to render sharp on screen. In some
  86198. * cases, when there are a lot of densely packed columns, this leads to
  86199. * visible difference in column widths or distance between columns. In these
  86200. * cases, setting `crisp` to `false` may look better, even though each
  86201. * column is rendered blurry.
  86202. */
  86203. crisp?: boolean;
  86204. /**
  86205. * (Highcharts) You can set the cursor to "pointer" if you have click events
  86206. * attached to the series, to signal to the user that the points and lines
  86207. * can be clicked.
  86208. *
  86209. * In styled mode, the series cursor can be set with the same classes as
  86210. * listed under series.color.
  86211. */
  86212. cursor?: (string|CursorValue);
  86213. /**
  86214. * (Highcharts) A reserved subspace to store options and values for
  86215. * customized functionality. Here you can add additional data for your own
  86216. * event callbacks and formatter callbacks.
  86217. */
  86218. custom?: Dictionary<any>;
  86219. /**
  86220. * (Highstock) Data grouping is the concept of sampling the data values into
  86221. * larger blocks in order to ease readability and increase performance of
  86222. * the JavaScript charts. Highcharts Stock by default applies data grouping
  86223. * when the points become closer than a certain pixel value, determined by
  86224. * the `groupPixelWidth` option.
  86225. *
  86226. * If data grouping is applied, the grouping information of grouped points
  86227. * can be read from the Point.dataGroup. If point options other than the
  86228. * data itself are set, for example `name` or `color` or custom properties,
  86229. * the grouping logic doesn't know how to group it. In this case the options
  86230. * of the first point instance are copied over to the group point. This can
  86231. * be altered through a custom `approximation` callback function.
  86232. */
  86233. dataGrouping?: DataGroupingOptionsObject;
  86234. /**
  86235. * (Highcharts) Data labels for the gauge. For gauges, the data labels are
  86236. * enabled by default and shown in a bordered box below the point.
  86237. */
  86238. dataLabels?: (PlotSolidgaugeDataLabelsOptions|Array<PlotSolidgaugeDataLabelsOptions>);
  86239. /**
  86240. * (Highcharts) A description of the series to add to the screen reader
  86241. * information about the series.
  86242. */
  86243. description?: string;
  86244. /**
  86245. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  86246. * This includes point tooltips and click events on graphs and points. For
  86247. * large datasets it improves performance.
  86248. */
  86249. enableMouseTracking?: boolean;
  86250. /**
  86251. * (Highcharts) General event handlers for the series items. These event
  86252. * hooks can also be attached to the series at run time using the
  86253. * `Highcharts.addEvent` function.
  86254. */
  86255. events?: SeriesEventsOptionsObject;
  86256. /**
  86257. * (Highstock) Defines when to display a gap in the graph, together with the
  86258. * gapUnit option.
  86259. *
  86260. * In case when `dataGrouping` is enabled, points can be grouped into a
  86261. * larger time span. This can make the grouped points to have a greater
  86262. * distance than the absolute value of `gapSize` property, which will result
  86263. * in disappearing graph completely. To prevent this situation the mentioned
  86264. * distance between grouped points is used instead of previously defined
  86265. * `gapSize`.
  86266. *
  86267. * In practice, this option is most often used to visualize gaps in time
  86268. * series. In a stock chart, intraday data is available for daytime hours,
  86269. * while gaps will appear in nights and weekends.
  86270. */
  86271. gapSize?: number;
  86272. /**
  86273. * (Highstock) Together with gapSize, this option defines where to draw gaps
  86274. * in the graph.
  86275. *
  86276. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  86277. * if the distance between two points is greater than 5 times that of the
  86278. * two closest points, the graph will be broken.
  86279. *
  86280. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  86281. * values, which on a datetime axis is milliseconds. This also applies to
  86282. * the navigator series that inherits gap options from the base series.
  86283. */
  86284. gapUnit?: OptionsGapUnitValue;
  86285. /**
  86286. * (Highcharts) When set to `false` will prevent the series data from being
  86287. * included in any form of data export.
  86288. *
  86289. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  86290. * `includeInCSVExport`.
  86291. */
  86292. includeInDataExport?: boolean;
  86293. /**
  86294. * (Highcharts) The inner radius for points in a solid gauge. Can be given
  86295. * as a number (pixels) or percentage string.
  86296. */
  86297. innerRadius?: (number|string);
  86298. /**
  86299. * (Highmaps) What property to join the `mapData` to the value data. For
  86300. * example, if joinBy is "code", the mapData items with a specific code is
  86301. * merged into the data with the same code. For maps loaded from GeoJSON,
  86302. * the keys may be held in each point's `properties` object.
  86303. *
  86304. * The joinBy option can also be an array of two values, where the first
  86305. * points to a key in the `mapData`, and the second points to another key in
  86306. * the `data`.
  86307. *
  86308. * When joinBy is `null`, the map items are joined by their position in the
  86309. * array, which performs much better in maps with many data points. This is
  86310. * the recommended option if you are printing more than a thousand data
  86311. * points and have a backend that can preprocess the data into a parallel
  86312. * array of the mapData.
  86313. */
  86314. joinBy?: (string|Array<string>);
  86315. /**
  86316. * (Highcharts) An array specifying which option maps to which key in the
  86317. * data point array. This makes it convenient to work with unstructured data
  86318. * arrays from different sources.
  86319. */
  86320. keys?: Array<string>;
  86321. /**
  86322. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  86323. * series as possible in a natural way, seeking to avoid other series. The
  86324. * goal of this feature is to make the chart more easily readable, like if a
  86325. * human designer placed the labels in the optimal position.
  86326. *
  86327. * The series labels currently work with series types having a `graph` or an
  86328. * `area`.
  86329. */
  86330. label?: SeriesLabelOptionsObject;
  86331. /**
  86332. * (Highstock) The line marks the last price from all points.
  86333. */
  86334. lastPrice?: SeriesLastPriceOptionsObject;
  86335. /**
  86336. * (Highstock) The line marks the last price from visible range of points.
  86337. */
  86338. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  86339. /**
  86340. * (Highcharts) Whether the strokes of the solid gauge should be `round` or
  86341. * `square`.
  86342. */
  86343. linecap?: OptionsLinecapValue;
  86344. /**
  86345. * (Highcharts, Highstock) Pixel width of the graph line.
  86346. */
  86347. lineWidth?: number;
  86348. /**
  86349. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  86350. * Additionally, the value can be ":previous" to link to the previous
  86351. * series. When two series are linked, only the first one appears in the
  86352. * legend. Toggling the visibility of this also toggles the linked series.
  86353. *
  86354. * If master series uses data sorting and linked series does not have its
  86355. * own sorting definition, the linked series will be sorted in the same
  86356. * order as the master one.
  86357. */
  86358. linkedTo?: string;
  86359. /**
  86360. * (Highstock) Options for the corresponding navigator series if
  86361. * `showInNavigator` is `true` for this series. Available options are the
  86362. * same as any series, documented at plotOptions and series.
  86363. *
  86364. * These options are merged with options in navigator.series, and will take
  86365. * precedence if the same option is defined both places.
  86366. */
  86367. navigatorOptions?: PlotSeriesOptions;
  86368. /**
  86369. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  86370. * dataLabels.
  86371. */
  86372. opacity?: number;
  86373. /**
  86374. * (Highcharts) Allow the gauge to overshoot the end of the perimeter axis
  86375. * by this many degrees. Say if the gauge axis goes from 0 to 60, a value of
  86376. * 100, or 1000, will show 5 degrees beyond the end of the axis when this
  86377. * option is set to 5.
  86378. */
  86379. overshoot?: number;
  86380. /**
  86381. * (Highcharts) Properties for each single point.
  86382. */
  86383. point?: PlotSeriesPointOptions;
  86384. /**
  86385. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  86386. * an individual series. Overrides the chart wide configuration.
  86387. */
  86388. pointDescriptionFormatter?: Function;
  86389. /**
  86390. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  86391. * a series, `pointInterval` defines the interval of the x values. For
  86392. * example, if a series contains one value every decade starting from year
  86393. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  86394. * `pointInterval` is set in milliseconds.
  86395. *
  86396. * It can be also be combined with `pointIntervalUnit` to draw irregular
  86397. * time intervals.
  86398. *
  86399. * Please note that this options applies to the _series data_, not the
  86400. * interval of the axis ticks, which is independent.
  86401. */
  86402. pointInterval?: number;
  86403. /**
  86404. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  86405. * setting the pointInterval to irregular time units, `day`, `month` and
  86406. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  86407. * also takes the DST crossover into consideration when dealing with local
  86408. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  86409. * months, 10 years etc.
  86410. *
  86411. * Please note that this options applies to the _series data_, not the
  86412. * interval of the axis ticks, which is independent.
  86413. */
  86414. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  86415. /**
  86416. * (Highstock) The width of each point on the x axis. For example in a
  86417. * column chart with one value each day, the pointRange would be 1 day (= 24
  86418. * * 3600
  86419. *
  86420. * * 1000 milliseconds). This is normally computed automatically, but this
  86421. * option can be used to override the automatic value.
  86422. */
  86423. pointRange?: number;
  86424. /**
  86425. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  86426. * a series, pointStart defines on what value to start. For example, if a
  86427. * series contains one yearly value starting from 1945, set pointStart to
  86428. * 1945.
  86429. */
  86430. pointStart?: number;
  86431. /**
  86432. * (Highcharts) The outer radius for points in a solid gauge. Can be given
  86433. * as a number (pixels) or percentage string.
  86434. */
  86435. radius?: (number|string);
  86436. /**
  86437. * (Highcharts) Wether to draw rounded edges on the gauge.
  86438. */
  86439. rounded?: boolean;
  86440. /**
  86441. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  86442. * true, the checkbox next to the series name in the legend will be checked
  86443. * for a selected series.
  86444. */
  86445. selected?: boolean;
  86446. /**
  86447. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  86448. * allow selecting the series. The state of the checkbox is determined by
  86449. * the `selected` option.
  86450. */
  86451. showCheckbox?: boolean;
  86452. /**
  86453. * (Highcharts) Whether to display this particular series or series type in
  86454. * the legend. Defaults to false for gauge series.
  86455. */
  86456. showInLegend?: boolean;
  86457. /**
  86458. * (Highstock) Whether or not to show the series in the navigator. Takes
  86459. * precedence over navigator.baseSeries if defined.
  86460. */
  86461. showInNavigator?: boolean;
  86462. /**
  86463. * (Highcharts) If set to `true`, the accessibility module will skip past
  86464. * the points in this series for keyboard navigation.
  86465. */
  86466. skipKeyboardNavigation?: boolean;
  86467. /**
  86468. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  86469. * event on a series isn't triggered until the mouse moves over another
  86470. * series, or out of the plot area. When false, the `mouseOut` event on a
  86471. * series is triggered when the mouse leaves the area around the series'
  86472. * graph or markers. This also implies the tooltip when not shared. When
  86473. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  86474. * be hidden when moving the mouse between series. Defaults to true for line
  86475. * and area type series, but to false for columns, pies etc.
  86476. *
  86477. * **Note:** The boost module will force this option because of technical
  86478. * limitations.
  86479. */
  86480. stickyTracking?: boolean;
  86481. /**
  86482. * (Highcharts) The threshold or base level for the gauge.
  86483. */
  86484. threshold?: (number|null);
  86485. /**
  86486. * (Highcharts) A configuration object for the tooltip rendering of each
  86487. * single series. Properties are inherited from tooltip, but only the
  86488. * following properties can be defined on a series level.
  86489. */
  86490. tooltip?: SeriesTooltipOptionsObject;
  86491. /**
  86492. * (Highstock) The parameter allows setting line series type and use OHLC
  86493. * indicators. Data in OHLC format is required.
  86494. */
  86495. useOhlcData?: boolean;
  86496. /**
  86497. * (Highcharts) Set the initial visibility of the series.
  86498. */
  86499. visible?: boolean;
  86500. /**
  86501. * (Highmaps) Define the z index of the series.
  86502. */
  86503. zIndex?: number;
  86504. }
  86505. /**
  86506. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  86507. * is displayed. The animation can also be set as a configuration object. Please
  86508. * note that this option only applies to the initial animation of the series
  86509. * itself. For other animations, see chart.animation and the animation parameter
  86510. * under the API methods. The following properties are supported:
  86511. *
  86512. * - `defer`: The animation delay time in milliseconds.
  86513. *
  86514. * - `duration`: The duration of the animation in milliseconds.
  86515. *
  86516. * - `easing`: Can be a string reference to an easing function set on the `Math`
  86517. * object or a function. See the _Custom easing function_ demo below.
  86518. *
  86519. * Due to poor performance, animation is disabled in old IE browsers for several
  86520. * chart types.
  86521. */
  86522. export interface PlotSplineAnimationOptions {
  86523. defer?: number;
  86524. }
  86525. /**
  86526. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86527. * animation when a series is displayed for the `dataLabels`. The animation can
  86528. * also be set as a configuration object. Please note that this option only
  86529. * applies to the initial animation. For other animations, see chart.animation
  86530. * and the animation parameter under the API methods. The following properties
  86531. * are supported:
  86532. *
  86533. * - `defer`: The animation delay time in milliseconds.
  86534. */
  86535. export interface PlotSplineDataLabelsAnimationOptions {
  86536. /**
  86537. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  86538. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  86539. * inherits defer time from the series.animation.defer.
  86540. */
  86541. defer?: number;
  86542. }
  86543. /**
  86544. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  86545. * appearing next to each data point.
  86546. *
  86547. * Since v6.2.0, multiple data labels can be applied to each single point by
  86548. * defining them as an array of configs.
  86549. *
  86550. * In styled mode, the data labels can be styled with the
  86551. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  86552. * example).
  86553. */
  86554. export interface PlotSplineDataLabelsOptions {
  86555. /**
  86556. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  86557. * compared to the point. If `right`, the right side of the label should be
  86558. * touching the point. For points with an extent, like columns, the
  86559. * alignments also dictates how to align it inside the box, as given with
  86560. * the inside option. Can be one of `left`, `center` or `right`.
  86561. */
  86562. align?: (AlignValue|null);
  86563. /**
  86564. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  86565. * overlap. To make the labels less sensitive for overlapping, the
  86566. * dataLabels.padding can be set to 0.
  86567. */
  86568. allowOverlap?: boolean;
  86569. /**
  86570. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  86571. * animation when a series is displayed for the `dataLabels`. The animation
  86572. * can also be set as a configuration object. Please note that this option
  86573. * only applies to the initial animation. For other animations, see
  86574. * chart.animation and the animation parameter under the API methods. The
  86575. * following properties are supported:
  86576. *
  86577. * - `defer`: The animation delay time in milliseconds.
  86578. */
  86579. animation?: (boolean|PlotSplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  86580. /**
  86581. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  86582. * for the data label.
  86583. */
  86584. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  86585. /**
  86586. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  86587. * label. Defaults to `undefined`.
  86588. */
  86589. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86590. /**
  86591. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  86592. * the data label.
  86593. */
  86594. borderRadius?: number;
  86595. /**
  86596. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  86597. * the data label.
  86598. */
  86599. borderWidth?: number;
  86600. /**
  86601. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  86602. * Particularly in styled mode, this can be used to give each series' or
  86603. * point's data label unique styling. In addition to this option, a default
  86604. * color class name is added so that we can give the labels a contrast text
  86605. * shadow.
  86606. */
  86607. className?: string;
  86608. /**
  86609. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  86610. * labels. Defaults to `undefined`. For certain series types, like column or
  86611. * map, the data labels can be drawn inside the points. In this case the
  86612. * data label will be drawn with maximum contrast by default. Additionally,
  86613. * it will be given a `text-outline` style with the opposite color, to
  86614. * further increase the contrast. This can be overridden by setting the
  86615. * `text-outline` style to `none` in the `dataLabels.style` option.
  86616. */
  86617. color?: (ColorString|GradientColorObject|PatternObject);
  86618. /**
  86619. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  86620. * are outside the plot area. By default, the data label is moved inside the
  86621. * plot area according to the overflow option.
  86622. */
  86623. crop?: boolean;
  86624. /**
  86625. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  86626. * labels until the initial series animation has finished. Setting to
  86627. * `false` renders the data label immediately. If set to `true` inherits the
  86628. * defer time set in plotOptions.series.animation. If set to a number, a
  86629. * defer time is specified in milliseconds.
  86630. */
  86631. defer?: (boolean|number);
  86632. /**
  86633. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  86634. * labels.
  86635. */
  86636. enabled?: boolean;
  86637. /**
  86638. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  86639. * of which data labels to display. The declarative filter is designed for
  86640. * use when callback functions are not available, like when the chart
  86641. * options require a pure JSON structure or for use with graphical editors.
  86642. * For programmatic control, use the `formatter` instead, and return
  86643. * `undefined` to disable a single data label.
  86644. */
  86645. filter?: DataLabelsFilterOptionsObject;
  86646. /**
  86647. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  86648. * label. Available variables are the same as for `formatter`.
  86649. */
  86650. format?: string;
  86651. /**
  86652. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  86653. * format the data label. Note that if a `format` is defined, the format
  86654. * takes precedence and the formatter is ignored.
  86655. */
  86656. formatter?: DataLabelsFormatterCallbackFunction;
  86657. /**
  86658. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  86659. * columns or map areas, whether to align the data label inside the box or
  86660. * to the actual value point. Defaults to `false` in most cases, `true` in
  86661. * stacked columns.
  86662. */
  86663. inside?: boolean;
  86664. /**
  86665. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  86666. * of null. Works analogously to format. `nullFormat` can be applied only to
  86667. * series which support displaying null points.
  86668. */
  86669. nullFormat?: (boolean|string);
  86670. /**
  86671. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  86672. * that defines formatting for points with the value of null. Works
  86673. * analogously to formatter. `nullPointFormatter` can be applied only to
  86674. * series which support displaying null points.
  86675. */
  86676. nullFormatter?: DataLabelsFormatterCallbackFunction;
  86677. /**
  86678. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  86679. * flow outside the plot area. The default is `"justify"`, which aligns them
  86680. * inside the plot area. For columns and bars, this means it will be moved
  86681. * inside the bar. To display data labels outside the plot area, set `crop`
  86682. * to `false` and `overflow` to `"allow"`.
  86683. */
  86684. overflow?: DataLabelsOverflowValue;
  86685. /**
  86686. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  86687. * the `backgroundColor` is set, this is the padding within the box.
  86688. */
  86689. padding?: number;
  86690. /**
  86691. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  86692. * points. If `center` alignment is not possible, it defaults to `right`.
  86693. */
  86694. position?: AlignValue;
  86695. /**
  86696. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  86697. * that due to a more complex structure, backgrounds, borders and padding
  86698. * will be lost on a rotated data label.
  86699. */
  86700. rotation?: number;
  86701. /**
  86702. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  86703. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  86704. * an object configuration containing `color`, `offsetX`, `offsetY`,
  86705. * `opacity` and `width`.
  86706. */
  86707. shadow?: (boolean|ShadowOptionsObject);
  86708. /**
  86709. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  86710. * the border around the label. Symbols are predefined functions on the
  86711. * Renderer object.
  86712. */
  86713. shape?: string;
  86714. /**
  86715. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  86716. * default `color` setting is `"contrast"`, which is a pseudo color that
  86717. * Highcharts picks up and applies the maximum contrast to the underlying
  86718. * point item, for example the bar in a bar chart.
  86719. *
  86720. * The `textOutline` is a pseudo property that applies an outline of the
  86721. * given width with the given color, which by default is the maximum
  86722. * contrast to the text. So a bright text color will result in a black text
  86723. * outline for maximum readability on a mixed background. In some cases,
  86724. * especially with grayscale text, the text outline doesn't work well, in
  86725. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  86726. * is true, the `textOutline` will not be picked up. In this, case, the same
  86727. * effect can be acheived through the `text-shadow` CSS property.
  86728. *
  86729. * For some series types, where each point has an extent, like for example
  86730. * tree maps, the data label may overflow the point. There are two
  86731. * strategies for handling overflow. By default, the text will wrap to
  86732. * multiple lines. The other strategy is to set `style.textOverflow` to
  86733. * `ellipsis`, which will keep the text on one line plus it will break
  86734. * inside long words.
  86735. */
  86736. style?: CSSObject;
  86737. /**
  86738. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  86739. * should follow marker's shape. Border and background are disabled for a
  86740. * label that follows a path.
  86741. *
  86742. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  86743. * to true will disable this option.
  86744. */
  86745. textPath?: DataLabelsTextPathOptionsObject;
  86746. /**
  86747. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  86748. * the labels.
  86749. */
  86750. useHTML?: boolean;
  86751. /**
  86752. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  86753. * label. Can be one of `top`, `middle` or `bottom`. The default value
  86754. * depends on the data, for instance in a column chart, the label is above
  86755. * positive values and below negative values.
  86756. */
  86757. verticalAlign?: (VerticalAlignValue|null);
  86758. /**
  86759. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  86760. * label relative to the point in pixels.
  86761. */
  86762. x?: number;
  86763. /**
  86764. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  86765. * label relative to the point in pixels.
  86766. */
  86767. y?: number;
  86768. /**
  86769. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  86770. * The default Z index puts it above the series. Use a Z index of 2 to
  86771. * display it behind the series.
  86772. */
  86773. z?: number;
  86774. }
  86775. /**
  86776. * (Highcharts, Highstock) Options for the series data sorting.
  86777. */
  86778. export interface PlotSplineDataSortingOptions {
  86779. /**
  86780. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  86781. * Use xAxis.reversed to change the sorting order.
  86782. */
  86783. enabled?: boolean;
  86784. /**
  86785. * (Highcharts, Highstock) Whether to allow matching points by name in an
  86786. * update. If this option is disabled, points will be matched by order.
  86787. */
  86788. matchByName?: boolean;
  86789. /**
  86790. * (Highcharts, Highstock) Determines what data value should be used to sort
  86791. * by.
  86792. */
  86793. sortKey?: string;
  86794. }
  86795. /**
  86796. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  86797. * one state by default, the `default` state.
  86798. */
  86799. export interface PlotSplineDragDropGuideBoxOptions {
  86800. /**
  86801. * (Highcharts, Highstock) Style options for the guide box default state.
  86802. */
  86803. default?: DragDropGuideBoxOptionsObject;
  86804. }
  86805. /**
  86806. * (Highcharts, Highstock) A spline series is a special type of line series,
  86807. * where the segments between the data points are smoothed.
  86808. *
  86809. * In TypeScript the type option must always be set.
  86810. *
  86811. * Configuration options for the series are given in three levels:
  86812. *
  86813. * 1. Options for all series in a chart are defined in the plotOptions.series
  86814. * object.
  86815. *
  86816. * 2. Options for all `spline` series are defined in plotOptions.spline.
  86817. *
  86818. * 3. Options for one single series are given in the series instance array. (see
  86819. * online documentation for example)
  86820. */
  86821. export interface PlotSplineOptions {
  86822. /**
  86823. * (Highcharts, Highstock) Accessibility options for a series.
  86824. */
  86825. accessibility?: SeriesAccessibilityOptionsObject;
  86826. /**
  86827. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  86828. * rendered. If `true`, areas which don't correspond to a data point, are
  86829. * rendered as `null` points. If `false`, those areas are skipped.
  86830. */
  86831. allAreas?: boolean;
  86832. /**
  86833. * (Highcharts, Highstock) Allow this series' points to be selected by
  86834. * clicking on the graphic (columns, point markers, pie slices, map areas
  86835. * etc).
  86836. *
  86837. * The selected points can be handled by point select and unselect events,
  86838. * or collectively by the getSelectedPoints function.
  86839. *
  86840. * And alternative way of selecting points is through dragging.
  86841. */
  86842. allowPointSelect?: boolean;
  86843. /**
  86844. * (Highcharts, Highstock) Enable or disable the initial animation when a
  86845. * series is displayed. The animation can also be set as a configuration
  86846. * object. Please note that this option only applies to the initial
  86847. * animation of the series itself. For other animations, see chart.animation
  86848. * and the animation parameter under the API methods. The following
  86849. * properties are supported:
  86850. *
  86851. * - `defer`: The animation delay time in milliseconds.
  86852. *
  86853. * - `duration`: The duration of the animation in milliseconds.
  86854. *
  86855. * - `easing`: Can be a string reference to an easing function set on the
  86856. * `Math` object or a function. See the _Custom easing function_ demo below.
  86857. *
  86858. * Due to poor performance, animation is disabled in old IE browsers for
  86859. * several chart types.
  86860. */
  86861. animation?: (boolean|PlotSplineAnimationOptions|Partial<AnimationOptionsObject>);
  86862. /**
  86863. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  86864. * initial animation by default when the total number of points in the chart
  86865. * is too high. For example, for a column chart and its derivatives,
  86866. * animation does not run if there is more than 250 points totally. To
  86867. * disable this cap, set `animationLimit` to `Infinity`.
  86868. */
  86869. animationLimit?: number;
  86870. /**
  86871. * (Highmaps) The border color of the map areas.
  86872. *
  86873. * In styled mode, the border stroke is given in the `.highcharts-point`
  86874. * class.
  86875. */
  86876. borderColor?: (ColorString|GradientColorObject|PatternObject);
  86877. /**
  86878. * (Highmaps) The border width of each map area.
  86879. *
  86880. * In styled mode, the border stroke width is given in the
  86881. * `.highcharts-point` class.
  86882. */
  86883. borderWidth?: number;
  86884. /**
  86885. * (Highcharts, Highstock) An additional class name to apply to the series'
  86886. * graphical elements. This option does not replace default class names of
  86887. * the graphical element.
  86888. */
  86889. className?: string;
  86890. /**
  86891. * (Highcharts, Highstock) Disable this option to allow series rendering in
  86892. * the whole plotting area.
  86893. *
  86894. * **Note:** Clipping should be always enabled when chart.zoomType is set
  86895. */
  86896. clip?: boolean;
  86897. /**
  86898. * (Highcharts, Highstock) The main color of the series. In line type series
  86899. * it applies to the line and the point markers unless otherwise specified.
  86900. * In bar type series it applies to the bars unless a color is specified per
  86901. * point. The default value is pulled from the `options.colors` array.
  86902. *
  86903. * In styled mode, the color can be defined by the colorIndex option. Also,
  86904. * the series color can be set with the `.highcharts-series`,
  86905. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  86906. * `.highcharts-series-{n}` class, or individual classes given by the
  86907. * `className` option.
  86908. */
  86909. color?: (ColorString|GradientColorObject|PatternObject);
  86910. /**
  86911. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  86912. * this number defines which colorAxis the particular series is connected
  86913. * to. It refers to either the axis id or the index of the axis in the
  86914. * colorAxis array, with 0 being the first. Set this option to false to
  86915. * prevent a series from connecting to the default color axis.
  86916. *
  86917. * Since v7.2.0 the option can also be an axis id or an axis index instead
  86918. * of a boolean flag.
  86919. */
  86920. colorAxis?: (boolean|number|string);
  86921. /**
  86922. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  86923. * for the series, so its graphic representations are given the class name
  86924. * `highcharts-color-{n}`.
  86925. */
  86926. colorIndex?: number;
  86927. /**
  86928. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  86929. * used to calculate point color if `colorAxis` is used. Requires to set
  86930. * `min` and `max` if some custom point property is used or if approximation
  86931. * for data grouping is set to `'sum'`.
  86932. */
  86933. colorKey?: string;
  86934. /**
  86935. * (Highstock) Compare the values of the series against the first non-null,
  86936. * non- zero value in the visible range. The y axis will show percentage or
  86937. * absolute change depending on whether `compare` is set to `"percent"` or
  86938. * `"value"`. When this is applied to multiple series, it allows comparing
  86939. * the development of the series against each other. Adds a `change` field
  86940. * to every point object.
  86941. */
  86942. compare?: string;
  86943. /**
  86944. * (Highstock) When compare is `percent`, this option dictates whether to
  86945. * use 0 or 100 as the base of comparison.
  86946. */
  86947. compareBase?: (0|100);
  86948. /**
  86949. * (Highstock) Defines if comparison should start from the first point
  86950. * within the visible range or should start from the first point **before**
  86951. * the range.
  86952. *
  86953. * In other words, this flag determines if first point within the visible
  86954. * range will have 0% (`compareStart=true`) or should have been already
  86955. * calculated according to the previous point (`compareStart=false`).
  86956. */
  86957. compareStart?: boolean;
  86958. /**
  86959. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  86960. * series plot across the extremes.
  86961. */
  86962. connectEnds?: boolean;
  86963. /**
  86964. * (Highcharts, Highstock) Whether to connect a graph line across null
  86965. * points, or render a gap between the two points on either side of the
  86966. * null.
  86967. */
  86968. connectNulls?: boolean;
  86969. /**
  86970. * (Gantt) Override Pathfinder connector options for a series. Requires
  86971. * Highcharts Gantt to be loaded.
  86972. */
  86973. connectors?: SeriesConnectorsOptionsObject;
  86974. /**
  86975. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  86976. * rounded to its nearest pixel in order to render sharp on screen. In some
  86977. * cases, when there are a lot of densely packed columns, this leads to
  86978. * visible difference in column widths or distance between columns. In these
  86979. * cases, setting `crisp` to `false` may look better, even though each
  86980. * column is rendered blurry.
  86981. */
  86982. crisp?: boolean;
  86983. /**
  86984. * (Highcharts, Highstock) When the series contains less points than the
  86985. * crop threshold, all points are drawn, even if the points fall outside the
  86986. * visible plot area at the current zoom. The advantage of drawing all
  86987. * points (including markers and columns), is that animation is performed on
  86988. * updates. On the other hand, when the series contains more points than the
  86989. * crop threshold, the series data is cropped to only contain points that
  86990. * fall within the plot area. The advantage of cropping away invisible
  86991. * points is to increase performance on large series.
  86992. */
  86993. cropThreshold?: number;
  86994. /**
  86995. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  86996. * click events attached to the series, to signal to the user that the
  86997. * points and lines can be clicked.
  86998. *
  86999. * In styled mode, the series cursor can be set with the same classes as
  87000. * listed under series.color.
  87001. */
  87002. cursor?: (string|CursorValue);
  87003. /**
  87004. * (Highcharts, Highstock) A reserved subspace to store options and values
  87005. * for customized functionality. Here you can add additional data for your
  87006. * own event callbacks and formatter callbacks.
  87007. */
  87008. custom?: Dictionary<any>;
  87009. /**
  87010. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  87011. * for some series types the outline of each shape.
  87012. *
  87013. * In styled mode, the stroke dash-array can be set with the same classes as
  87014. * listed under series.color.
  87015. */
  87016. dashStyle?: DashStyleValue;
  87017. /**
  87018. * (Highstock) Data grouping is the concept of sampling the data values into
  87019. * larger blocks in order to ease readability and increase performance of
  87020. * the JavaScript charts. Highcharts Stock by default applies data grouping
  87021. * when the points become closer than a certain pixel value, determined by
  87022. * the `groupPixelWidth` option.
  87023. *
  87024. * If data grouping is applied, the grouping information of grouped points
  87025. * can be read from the Point.dataGroup. If point options other than the
  87026. * data itself are set, for example `name` or `color` or custom properties,
  87027. * the grouping logic doesn't know how to group it. In this case the options
  87028. * of the first point instance are copied over to the group point. This can
  87029. * be altered through a custom `approximation` callback function.
  87030. */
  87031. dataGrouping?: DataGroupingOptionsObject;
  87032. /**
  87033. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  87034. * labels, appearing next to each data point.
  87035. *
  87036. * Since v6.2.0, multiple data labels can be applied to each single point by
  87037. * defining them as an array of configs.
  87038. *
  87039. * In styled mode, the data labels can be styled with the
  87040. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  87041. * (see example).
  87042. */
  87043. dataLabels?: (PlotSplineDataLabelsOptions|Array<PlotSplineDataLabelsOptions>);
  87044. /**
  87045. * (Highcharts, Highstock) Options for the series data sorting.
  87046. */
  87047. dataSorting?: (DataSortingOptionsObject|PlotSplineDataSortingOptions);
  87048. /**
  87049. * (Highcharts, Highstock) A description of the series to add to the screen
  87050. * reader information about the series.
  87051. */
  87052. description?: string;
  87053. /**
  87054. * (Highcharts, Highstock) The draggable-points module allows points to be
  87055. * moved around or modified in the chart. In addition to the options
  87056. * mentioned under the `dragDrop` API structure, the module fires three
  87057. * events, point.dragStart, point.drag and point.drop.
  87058. */
  87059. dragDrop?: SeriesDragDropOptionsObject;
  87060. /**
  87061. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  87062. * specific series. This includes point tooltips and click events on graphs
  87063. * and points. For large datasets it improves performance.
  87064. */
  87065. enableMouseTracking?: boolean;
  87066. /**
  87067. * (Highcharts, Highstock) General event handlers for the series items.
  87068. * These event hooks can also be attached to the series at run time using
  87069. * the `Highcharts.addEvent` function.
  87070. */
  87071. events?: SeriesEventsOptionsObject;
  87072. /**
  87073. * (Highcharts, Highstock) Determines whether the series should look for the
  87074. * nearest point in both dimensions or just the x-dimension when hovering
  87075. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  87076. * other series. If the data has duplicate x-values, it is recommended to
  87077. * set this to `'xy'` to allow hovering over all points.
  87078. *
  87079. * Applies only to series types using nearest neighbor search (not direct
  87080. * hover) for tooltip.
  87081. */
  87082. findNearestPointBy?: OptionsFindNearestPointByValue;
  87083. /**
  87084. * (Highstock) Defines when to display a gap in the graph, together with the
  87085. * gapUnit option.
  87086. *
  87087. * In case when `dataGrouping` is enabled, points can be grouped into a
  87088. * larger time span. This can make the grouped points to have a greater
  87089. * distance than the absolute value of `gapSize` property, which will result
  87090. * in disappearing graph completely. To prevent this situation the mentioned
  87091. * distance between grouped points is used instead of previously defined
  87092. * `gapSize`.
  87093. *
  87094. * In practice, this option is most often used to visualize gaps in time
  87095. * series. In a stock chart, intraday data is available for daytime hours,
  87096. * while gaps will appear in nights and weekends.
  87097. */
  87098. gapSize?: number;
  87099. /**
  87100. * (Highstock) Together with gapSize, this option defines where to draw gaps
  87101. * in the graph.
  87102. *
  87103. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  87104. * if the distance between two points is greater than 5 times that of the
  87105. * two closest points, the graph will be broken.
  87106. *
  87107. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  87108. * values, which on a datetime axis is milliseconds. This also applies to
  87109. * the navigator series that inherits gap options from the base series.
  87110. */
  87111. gapUnit?: OptionsGapUnitValue;
  87112. /**
  87113. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  87114. * chart width or only the zoomed area when zooming in on parts of the X
  87115. * axis. By default, the Y axis adjusts to the min and max of the visible
  87116. * data. Cartesian series only.
  87117. */
  87118. getExtremesFromAll?: boolean;
  87119. /**
  87120. * (Highcharts, Highstock) When set to `false` will prevent the series data
  87121. * from being included in any form of data export.
  87122. *
  87123. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  87124. * `includeInCSVExport`.
  87125. */
  87126. includeInDataExport?: boolean;
  87127. /**
  87128. * (Highmaps) What property to join the `mapData` to the value data. For
  87129. * example, if joinBy is "code", the mapData items with a specific code is
  87130. * merged into the data with the same code. For maps loaded from GeoJSON,
  87131. * the keys may be held in each point's `properties` object.
  87132. *
  87133. * The joinBy option can also be an array of two values, where the first
  87134. * points to a key in the `mapData`, and the second points to another key in
  87135. * the `data`.
  87136. *
  87137. * When joinBy is `null`, the map items are joined by their position in the
  87138. * array, which performs much better in maps with many data points. This is
  87139. * the recommended option if you are printing more than a thousand data
  87140. * points and have a backend that can preprocess the data into a parallel
  87141. * array of the mapData.
  87142. */
  87143. joinBy?: (string|Array<string>);
  87144. /**
  87145. * (Highcharts, Highstock) An array specifying which option maps to which
  87146. * key in the data point array. This makes it convenient to work with
  87147. * unstructured data arrays from different sources.
  87148. */
  87149. keys?: Array<string>;
  87150. /**
  87151. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  87152. * series as possible in a natural way, seeking to avoid other series. The
  87153. * goal of this feature is to make the chart more easily readable, like if a
  87154. * human designer placed the labels in the optimal position.
  87155. *
  87156. * The series labels currently work with series types having a `graph` or an
  87157. * `area`.
  87158. */
  87159. label?: SeriesLabelOptionsObject;
  87160. /**
  87161. * (Highstock) The line marks the last price from all points.
  87162. */
  87163. lastPrice?: SeriesLastPriceOptionsObject;
  87164. /**
  87165. * (Highstock) The line marks the last price from visible range of points.
  87166. */
  87167. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  87168. /**
  87169. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  87170. * the graph.
  87171. */
  87172. linecap?: SeriesLinecapValue;
  87173. /**
  87174. * (Highcharts, Highstock) Pixel width of the graph line.
  87175. */
  87176. lineWidth?: number;
  87177. /**
  87178. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  87179. * Additionally, the value can be ":previous" to link to the previous
  87180. * series. When two series are linked, only the first one appears in the
  87181. * legend. Toggling the visibility of this also toggles the linked series.
  87182. *
  87183. * If master series uses data sorting and linked series does not have its
  87184. * own sorting definition, the linked series will be sorted in the same
  87185. * order as the master one.
  87186. */
  87187. linkedTo?: string;
  87188. /**
  87189. * (Highcharts, Highstock) Options for the point markers of line-like
  87190. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  87191. * the visual appearance of the markers. Other series types, like column
  87192. * series, don't have markers, but have visual options on the series level
  87193. * instead.
  87194. *
  87195. * In styled mode, the markers can be styled with the `.highcharts-point`,
  87196. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  87197. */
  87198. marker?: PointMarkerOptionsObject;
  87199. /**
  87200. * (Highstock) Options for the corresponding navigator series if
  87201. * `showInNavigator` is `true` for this series. Available options are the
  87202. * same as any series, documented at plotOptions and series.
  87203. *
  87204. * These options are merged with options in navigator.series, and will take
  87205. * precedence if the same option is defined both places.
  87206. */
  87207. navigatorOptions?: PlotSeriesOptions;
  87208. /**
  87209. * (Highcharts, Highstock) The color for the parts of the graph or points
  87210. * that are below the threshold. Note that `zones` takes precedence over the
  87211. * negative color. Using `negativeColor` is equivalent to applying a zone
  87212. * with value of 0.
  87213. */
  87214. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  87215. /**
  87216. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  87217. * and dataLabels.
  87218. */
  87219. opacity?: number;
  87220. /**
  87221. * (Highcharts, Highstock) Properties for each single point.
  87222. */
  87223. point?: PlotSeriesPointOptions;
  87224. /**
  87225. * (Highcharts, Highstock) Same as
  87226. * accessibility.series.descriptionFormatter, but for an individual series.
  87227. * Overrides the chart wide configuration.
  87228. */
  87229. pointDescriptionFormatter?: Function;
  87230. /**
  87231. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  87232. * a series, `pointInterval` defines the interval of the x values. For
  87233. * example, if a series contains one value every decade starting from year
  87234. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  87235. * `pointInterval` is set in milliseconds.
  87236. *
  87237. * It can be also be combined with `pointIntervalUnit` to draw irregular
  87238. * time intervals.
  87239. *
  87240. * Please note that this options applies to the _series data_, not the
  87241. * interval of the axis ticks, which is independent.
  87242. */
  87243. pointInterval?: number;
  87244. /**
  87245. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  87246. * setting the pointInterval to irregular time units, `day`, `month` and
  87247. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  87248. * also takes the DST crossover into consideration when dealing with local
  87249. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  87250. * months, 10 years etc.
  87251. *
  87252. * Please note that this options applies to the _series data_, not the
  87253. * interval of the axis ticks, which is independent.
  87254. */
  87255. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  87256. /**
  87257. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  87258. * `number`.
  87259. *
  87260. * In a column chart, when pointPlacement is `"on"`, the point will not
  87261. * create any padding of the X axis. In a polar column chart this means that
  87262. * the first column points directly north. If the pointPlacement is
  87263. * `"between"`, the columns will be laid out between ticks. This is useful
  87264. * for example for visualising an amount between two points in time or in a
  87265. * certain sector of a polar chart.
  87266. *
  87267. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  87268. * is on the axis value, -0.5 is between this value and the previous, and
  87269. * 0.5 is between this value and the next. Unlike the textual options,
  87270. * numeric point placement options won't affect axis padding.
  87271. *
  87272. * Note that pointPlacement needs a pointRange to work. For column series
  87273. * this is computed, but for line-type series it needs to be set.
  87274. *
  87275. * For the `xrange` series type and gantt charts, if the Y axis is a
  87276. * category axis, the `pointPlacement` applies to the Y axis rather than the
  87277. * (typically datetime) X axis.
  87278. *
  87279. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  87280. */
  87281. pointPlacement?: (number|string);
  87282. /**
  87283. * (Highstock) The width of each point on the x axis. For example in a
  87284. * column chart with one value each day, the pointRange would be 1 day (= 24
  87285. * * 3600
  87286. *
  87287. * * 1000 milliseconds). This is normally computed automatically, but this
  87288. * option can be used to override the automatic value.
  87289. */
  87290. pointRange?: number;
  87291. /**
  87292. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  87293. * a series, pointStart defines on what value to start. For example, if a
  87294. * series contains one yearly value starting from 1945, set pointStart to
  87295. * 1945.
  87296. */
  87297. pointStart?: number;
  87298. /**
  87299. * (Highcharts, Highstock) Whether to select the series initially. If
  87300. * `showCheckbox` is true, the checkbox next to the series name in the
  87301. * legend will be checked for a selected series.
  87302. */
  87303. selected?: boolean;
  87304. /**
  87305. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  87306. * Since 2.3 the shadow can be an object configuration containing `color`,
  87307. * `offsetX`, `offsetY`, `opacity` and `width`.
  87308. */
  87309. shadow?: (boolean|ShadowOptionsObject);
  87310. /**
  87311. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  87312. * legend item to allow selecting the series. The state of the checkbox is
  87313. * determined by the `selected` option.
  87314. */
  87315. showCheckbox?: boolean;
  87316. /**
  87317. * (Highcharts, Highstock) Whether to display this particular series or
  87318. * series type in the legend. Standalone series are shown in legend by
  87319. * default, and linked series are not. Since v7.2.0 it is possible to show
  87320. * series that use colorAxis by setting this option to `true`.
  87321. */
  87322. showInLegend?: boolean;
  87323. /**
  87324. * (Highstock) Whether or not to show the series in the navigator. Takes
  87325. * precedence over navigator.baseSeries if defined.
  87326. */
  87327. showInNavigator?: boolean;
  87328. /**
  87329. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  87330. * skip past the points in this series for keyboard navigation.
  87331. */
  87332. skipKeyboardNavigation?: boolean;
  87333. /**
  87334. * (Highcharts, Highstock) When this is true, the series will not cause the
  87335. * Y axis to cross the zero plane (or threshold option) unless the data
  87336. * actually crosses the plane.
  87337. *
  87338. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  87339. * make the Y axis show negative values according to the `minPadding`
  87340. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  87341. */
  87342. softThreshold?: boolean;
  87343. /**
  87344. * (Highcharts, Highstock) Whether to stack the values of each series on top
  87345. * of each other. Possible values are `undefined` to disable, `"normal"` to
  87346. * stack by value or `"percent"`.
  87347. *
  87348. * When stacking is enabled, data must be sorted in ascending X order.
  87349. *
  87350. * Some stacking options are related to specific series types. In the
  87351. * streamgraph series type, the stacking option is set to `"stream"`. The
  87352. * second one is `"overlap"`, which only applies to waterfall series.
  87353. */
  87354. stacking?: OptionsStackingValue;
  87355. states?: SeriesStatesOptionsObject;
  87356. /**
  87357. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  87358. * `mouseOut` event on a series isn't triggered until the mouse moves over
  87359. * another series, or out of the plot area. When false, the `mouseOut` event
  87360. * on a series is triggered when the mouse leaves the area around the
  87361. * series' graph or markers. This also implies the tooltip when not shared.
  87362. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  87363. * will be hidden when moving the mouse between series. Defaults to true for
  87364. * line and area type series, but to false for columns, pies etc.
  87365. *
  87366. * **Note:** The boost module will force this option because of technical
  87367. * limitations.
  87368. */
  87369. stickyTracking?: boolean;
  87370. /**
  87371. * (Highcharts, Highstock) The threshold, also called zero level or base
  87372. * level. For line type series this is only used in conjunction with
  87373. * negativeColor.
  87374. */
  87375. threshold?: (number|null);
  87376. /**
  87377. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  87378. * of each single series. Properties are inherited from tooltip, but only
  87379. * the following properties can be defined on a series level.
  87380. */
  87381. tooltip?: SeriesTooltipOptionsObject;
  87382. /**
  87383. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  87384. * is longer than this, only one dimensional arrays of numbers, or two
  87385. * dimensional arrays with x and y values are allowed. Also, only the first
  87386. * point is tested, and the rest are assumed to be the same format. This
  87387. * saves expensive data checking and indexing in long series. Set it to `0`
  87388. * disable.
  87389. *
  87390. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  87391. * two dimensional arrays are allowed.
  87392. */
  87393. turboThreshold?: number;
  87394. /**
  87395. * (Highcharts, Highstock) Set the initial visibility of the series.
  87396. */
  87397. visible?: boolean;
  87398. /**
  87399. * (Highmaps) Define the z index of the series.
  87400. */
  87401. zIndex?: number;
  87402. /**
  87403. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  87404. */
  87405. zoneAxis?: string;
  87406. /**
  87407. * (Highcharts, Highstock) An array defining zones within a series. Zones
  87408. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  87409. * the `zoneAxis` option. The zone definitions have to be in ascending order
  87410. * regarding to the value.
  87411. *
  87412. * In styled mode, the color zones are styled with the
  87413. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  87414. * option (view live demo).
  87415. */
  87416. zones?: Array<SeriesZonesOptionsObject>;
  87417. }
  87418. /**
  87419. * (Highstock) Enable or disable the initial animation when a series is
  87420. * displayed. The animation can also be set as a configuration object. Please
  87421. * note that this option only applies to the initial animation of the series
  87422. * itself. For other animations, see chart.animation and the animation parameter
  87423. * under the API methods. The following properties are supported:
  87424. *
  87425. * - `defer`: The animation delay time in milliseconds.
  87426. *
  87427. * - `duration`: The duration of the animation in milliseconds.
  87428. *
  87429. * - `easing`: Can be a string reference to an easing function set on the `Math`
  87430. * object or a function. See the _Custom easing function_ demo below.
  87431. *
  87432. * Due to poor performance, animation is disabled in old IE browsers for several
  87433. * chart types.
  87434. */
  87435. export interface PlotStochasticAnimationOptions {
  87436. defer?: number;
  87437. }
  87438. /**
  87439. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  87440. * animation when a series is displayed for the `dataLabels`. The animation can
  87441. * also be set as a configuration object. Please note that this option only
  87442. * applies to the initial animation. For other animations, see chart.animation
  87443. * and the animation parameter under the API methods. The following properties
  87444. * are supported:
  87445. *
  87446. * - `defer`: The animation delay time in milliseconds.
  87447. */
  87448. export interface PlotStochasticDataLabelsAnimationOptions {
  87449. /**
  87450. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  87451. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  87452. * inherits defer time from the series.animation.defer.
  87453. */
  87454. defer?: number;
  87455. }
  87456. /**
  87457. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  87458. * appearing next to each data point.
  87459. *
  87460. * Since v6.2.0, multiple data labels can be applied to each single point by
  87461. * defining them as an array of configs.
  87462. *
  87463. * In styled mode, the data labels can be styled with the
  87464. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  87465. * example).
  87466. */
  87467. export interface PlotStochasticDataLabelsOptions {
  87468. /**
  87469. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  87470. * compared to the point. If `right`, the right side of the label should be
  87471. * touching the point. For points with an extent, like columns, the
  87472. * alignments also dictates how to align it inside the box, as given with
  87473. * the inside option. Can be one of `left`, `center` or `right`.
  87474. */
  87475. align?: (AlignValue|null);
  87476. /**
  87477. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  87478. * overlap. To make the labels less sensitive for overlapping, the
  87479. * dataLabels.padding can be set to 0.
  87480. */
  87481. allowOverlap?: boolean;
  87482. /**
  87483. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  87484. * animation when a series is displayed for the `dataLabels`. The animation
  87485. * can also be set as a configuration object. Please note that this option
  87486. * only applies to the initial animation. For other animations, see
  87487. * chart.animation and the animation parameter under the API methods. The
  87488. * following properties are supported:
  87489. *
  87490. * - `defer`: The animation delay time in milliseconds.
  87491. */
  87492. animation?: (boolean|PlotStochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  87493. /**
  87494. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  87495. * for the data label.
  87496. */
  87497. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  87498. /**
  87499. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  87500. * label. Defaults to `undefined`.
  87501. */
  87502. borderColor?: (ColorString|GradientColorObject|PatternObject);
  87503. /**
  87504. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  87505. * the data label.
  87506. */
  87507. borderRadius?: number;
  87508. /**
  87509. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  87510. * the data label.
  87511. */
  87512. borderWidth?: number;
  87513. /**
  87514. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  87515. * Particularly in styled mode, this can be used to give each series' or
  87516. * point's data label unique styling. In addition to this option, a default
  87517. * color class name is added so that we can give the labels a contrast text
  87518. * shadow.
  87519. */
  87520. className?: string;
  87521. /**
  87522. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  87523. * labels. Defaults to `undefined`. For certain series types, like column or
  87524. * map, the data labels can be drawn inside the points. In this case the
  87525. * data label will be drawn with maximum contrast by default. Additionally,
  87526. * it will be given a `text-outline` style with the opposite color, to
  87527. * further increase the contrast. This can be overridden by setting the
  87528. * `text-outline` style to `none` in the `dataLabels.style` option.
  87529. */
  87530. color?: (ColorString|GradientColorObject|PatternObject);
  87531. /**
  87532. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  87533. * are outside the plot area. By default, the data label is moved inside the
  87534. * plot area according to the overflow option.
  87535. */
  87536. crop?: boolean;
  87537. /**
  87538. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  87539. * labels until the initial series animation has finished. Setting to
  87540. * `false` renders the data label immediately. If set to `true` inherits the
  87541. * defer time set in plotOptions.series.animation. If set to a number, a
  87542. * defer time is specified in milliseconds.
  87543. */
  87544. defer?: (boolean|number);
  87545. /**
  87546. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  87547. * labels.
  87548. */
  87549. enabled?: boolean;
  87550. /**
  87551. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  87552. * of which data labels to display. The declarative filter is designed for
  87553. * use when callback functions are not available, like when the chart
  87554. * options require a pure JSON structure or for use with graphical editors.
  87555. * For programmatic control, use the `formatter` instead, and return
  87556. * `undefined` to disable a single data label.
  87557. */
  87558. filter?: DataLabelsFilterOptionsObject;
  87559. /**
  87560. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  87561. * label. Available variables are the same as for `formatter`.
  87562. */
  87563. format?: string;
  87564. /**
  87565. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  87566. * format the data label. Note that if a `format` is defined, the format
  87567. * takes precedence and the formatter is ignored.
  87568. */
  87569. formatter?: DataLabelsFormatterCallbackFunction;
  87570. /**
  87571. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  87572. * columns or map areas, whether to align the data label inside the box or
  87573. * to the actual value point. Defaults to `false` in most cases, `true` in
  87574. * stacked columns.
  87575. */
  87576. inside?: boolean;
  87577. /**
  87578. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  87579. * of null. Works analogously to format. `nullFormat` can be applied only to
  87580. * series which support displaying null points.
  87581. */
  87582. nullFormat?: (boolean|string);
  87583. /**
  87584. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  87585. * that defines formatting for points with the value of null. Works
  87586. * analogously to formatter. `nullPointFormatter` can be applied only to
  87587. * series which support displaying null points.
  87588. */
  87589. nullFormatter?: DataLabelsFormatterCallbackFunction;
  87590. /**
  87591. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  87592. * flow outside the plot area. The default is `"justify"`, which aligns them
  87593. * inside the plot area. For columns and bars, this means it will be moved
  87594. * inside the bar. To display data labels outside the plot area, set `crop`
  87595. * to `false` and `overflow` to `"allow"`.
  87596. */
  87597. overflow?: DataLabelsOverflowValue;
  87598. /**
  87599. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  87600. * the `backgroundColor` is set, this is the padding within the box.
  87601. */
  87602. padding?: number;
  87603. /**
  87604. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  87605. * points. If `center` alignment is not possible, it defaults to `right`.
  87606. */
  87607. position?: AlignValue;
  87608. /**
  87609. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  87610. * that due to a more complex structure, backgrounds, borders and padding
  87611. * will be lost on a rotated data label.
  87612. */
  87613. rotation?: number;
  87614. /**
  87615. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  87616. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  87617. * an object configuration containing `color`, `offsetX`, `offsetY`,
  87618. * `opacity` and `width`.
  87619. */
  87620. shadow?: (boolean|ShadowOptionsObject);
  87621. /**
  87622. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  87623. * the border around the label. Symbols are predefined functions on the
  87624. * Renderer object.
  87625. */
  87626. shape?: string;
  87627. /**
  87628. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  87629. * default `color` setting is `"contrast"`, which is a pseudo color that
  87630. * Highcharts picks up and applies the maximum contrast to the underlying
  87631. * point item, for example the bar in a bar chart.
  87632. *
  87633. * The `textOutline` is a pseudo property that applies an outline of the
  87634. * given width with the given color, which by default is the maximum
  87635. * contrast to the text. So a bright text color will result in a black text
  87636. * outline for maximum readability on a mixed background. In some cases,
  87637. * especially with grayscale text, the text outline doesn't work well, in
  87638. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  87639. * is true, the `textOutline` will not be picked up. In this, case, the same
  87640. * effect can be acheived through the `text-shadow` CSS property.
  87641. *
  87642. * For some series types, where each point has an extent, like for example
  87643. * tree maps, the data label may overflow the point. There are two
  87644. * strategies for handling overflow. By default, the text will wrap to
  87645. * multiple lines. The other strategy is to set `style.textOverflow` to
  87646. * `ellipsis`, which will keep the text on one line plus it will break
  87647. * inside long words.
  87648. */
  87649. style?: CSSObject;
  87650. /**
  87651. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  87652. * should follow marker's shape. Border and background are disabled for a
  87653. * label that follows a path.
  87654. *
  87655. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  87656. * to true will disable this option.
  87657. */
  87658. textPath?: DataLabelsTextPathOptionsObject;
  87659. /**
  87660. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  87661. * the labels.
  87662. */
  87663. useHTML?: boolean;
  87664. /**
  87665. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  87666. * label. Can be one of `top`, `middle` or `bottom`. The default value
  87667. * depends on the data, for instance in a column chart, the label is above
  87668. * positive values and below negative values.
  87669. */
  87670. verticalAlign?: (VerticalAlignValue|null);
  87671. /**
  87672. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  87673. * label relative to the point in pixels.
  87674. */
  87675. x?: number;
  87676. /**
  87677. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  87678. * label relative to the point in pixels.
  87679. */
  87680. y?: number;
  87681. /**
  87682. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  87683. * The default Z index puts it above the series. Use a Z index of 2 to
  87684. * display it behind the series.
  87685. */
  87686. z?: number;
  87687. }
  87688. /**
  87689. * (Highcharts, Highstock) Options for the series data sorting.
  87690. */
  87691. export interface PlotStochasticDataSortingOptions {
  87692. /**
  87693. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  87694. * Use xAxis.reversed to change the sorting order.
  87695. */
  87696. enabled?: boolean;
  87697. /**
  87698. * (Highcharts, Highstock) Whether to allow matching points by name in an
  87699. * update. If this option is disabled, points will be matched by order.
  87700. */
  87701. matchByName?: boolean;
  87702. /**
  87703. * (Highcharts, Highstock) Determines what data value should be used to sort
  87704. * by.
  87705. */
  87706. sortKey?: string;
  87707. }
  87708. /**
  87709. * (Highstock) Stochastic oscillator. This series requires the `linkedTo` option
  87710. * to be set and should be loaded after the `stock/indicators/indicators.js`
  87711. * file.
  87712. *
  87713. * In TypeScript the type option must always be set.
  87714. *
  87715. * Configuration options for the series are given in three levels:
  87716. *
  87717. * 1. Options for all series in a chart are defined in the plotOptions.series
  87718. * object.
  87719. *
  87720. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  87721. *
  87722. * 3. Options for one single series are given in the series instance array. (see
  87723. * online documentation for example)
  87724. */
  87725. export interface PlotStochasticOptions {
  87726. /**
  87727. * (Highstock) Accessibility options for a series.
  87728. */
  87729. accessibility?: SeriesAccessibilityOptionsObject;
  87730. /**
  87731. * (Highstock) Allow this series' points to be selected by clicking on the
  87732. * graphic (columns, point markers, pie slices, map areas etc).
  87733. *
  87734. * The selected points can be handled by point select and unselect events,
  87735. * or collectively by the getSelectedPoints function.
  87736. *
  87737. * And alternative way of selecting points is through dragging.
  87738. */
  87739. allowPointSelect?: boolean;
  87740. /**
  87741. * (Highstock) Enable or disable the initial animation when a series is
  87742. * displayed. The animation can also be set as a configuration object.
  87743. * Please note that this option only applies to the initial animation of the
  87744. * series itself. For other animations, see chart.animation and the
  87745. * animation parameter under the API methods. The following properties are
  87746. * supported:
  87747. *
  87748. * - `defer`: The animation delay time in milliseconds.
  87749. *
  87750. * - `duration`: The duration of the animation in milliseconds.
  87751. *
  87752. * - `easing`: Can be a string reference to an easing function set on the
  87753. * `Math` object or a function. See the _Custom easing function_ demo below.
  87754. *
  87755. * Due to poor performance, animation is disabled in old IE browsers for
  87756. * several chart types.
  87757. */
  87758. animation?: (boolean|PlotStochasticAnimationOptions|Partial<AnimationOptionsObject>);
  87759. /**
  87760. * (Highstock) For some series, there is a limit that shuts down initial
  87761. * animation by default when the total number of points in the chart is too
  87762. * high. For example, for a column chart and its derivatives, animation does
  87763. * not run if there is more than 250 points totally. To disable this cap,
  87764. * set `animationLimit` to `Infinity`.
  87765. */
  87766. animationLimit?: number;
  87767. /**
  87768. * (Highstock) Sets the color blending in the boost module.
  87769. */
  87770. boostBlending?: OptionsBoostBlendingValue;
  87771. /**
  87772. * (Highstock) Set the point threshold for when a series should enter boost
  87773. * mode.
  87774. *
  87775. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  87776. * there are 2000 or more points in the series.
  87777. *
  87778. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  87779. * it to 1 will force boosting.
  87780. *
  87781. * Note that the cropThreshold also affects this setting. When zooming in on
  87782. * a series that has fewer points than the `cropThreshold`, all points are
  87783. * rendered although outside the visible plot area, and the `boostThreshold`
  87784. * won't take effect.
  87785. */
  87786. boostThreshold?: number;
  87787. /**
  87788. * (Highmaps) The border color of the map areas.
  87789. *
  87790. * In styled mode, the border stroke is given in the `.highcharts-point`
  87791. * class.
  87792. */
  87793. borderColor?: (ColorString|GradientColorObject|PatternObject);
  87794. /**
  87795. * (Highmaps) The border width of each map area.
  87796. *
  87797. * In styled mode, the border stroke width is given in the
  87798. * `.highcharts-point` class.
  87799. */
  87800. borderWidth?: number;
  87801. /**
  87802. * (Highstock) An additional class name to apply to the series' graphical
  87803. * elements. This option does not replace default class names of the
  87804. * graphical element.
  87805. */
  87806. className?: string;
  87807. /**
  87808. * (Highstock) Disable this option to allow series rendering in the whole
  87809. * plotting area.
  87810. *
  87811. * **Note:** Clipping should be always enabled when chart.zoomType is set
  87812. */
  87813. clip?: boolean;
  87814. /**
  87815. * (Highstock) The main color of the series. In line type series it applies
  87816. * to the line and the point markers unless otherwise specified. In bar type
  87817. * series it applies to the bars unless a color is specified per point. The
  87818. * default value is pulled from the `options.colors` array.
  87819. *
  87820. * In styled mode, the color can be defined by the colorIndex option. Also,
  87821. * the series color can be set with the `.highcharts-series`,
  87822. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  87823. * `.highcharts-series-{n}` class, or individual classes given by the
  87824. * `className` option.
  87825. */
  87826. color?: (ColorString|GradientColorObject|PatternObject);
  87827. /**
  87828. * (Highstock) Styled mode only. A specific color index to use for the
  87829. * series, so its graphic representations are given the class name
  87830. * `highcharts-color-{n}`.
  87831. */
  87832. colorIndex?: number;
  87833. /**
  87834. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  87835. * used to calculate point color if `colorAxis` is used. Requires to set
  87836. * `min` and `max` if some custom point property is used or if approximation
  87837. * for data grouping is set to `'sum'`.
  87838. */
  87839. colorKey?: string;
  87840. /**
  87841. * (Highstock) Compare the values of the series against the first non-null,
  87842. * non- zero value in the visible range. The y axis will show percentage or
  87843. * absolute change depending on whether `compare` is set to `"percent"` or
  87844. * `"value"`. When this is applied to multiple series, it allows comparing
  87845. * the development of the series against each other. Adds a `change` field
  87846. * to every point object.
  87847. */
  87848. compare?: string;
  87849. /**
  87850. * (Highstock) When compare is `percent`, this option dictates whether to
  87851. * use 0 or 100 as the base of comparison.
  87852. */
  87853. compareBase?: (0|100);
  87854. /**
  87855. * (Highstock) Defines if comparison should start from the first point
  87856. * within the visible range or should start from the first point **before**
  87857. * the range.
  87858. *
  87859. * In other words, this flag determines if first point within the visible
  87860. * range will have 0% (`compareStart=true`) or should have been already
  87861. * calculated according to the previous point (`compareStart=false`).
  87862. */
  87863. compareStart?: boolean;
  87864. /**
  87865. * (Highstock) Whether to compare indicator to the main series values or
  87866. * indicator values.
  87867. */
  87868. compareToMain?: boolean;
  87869. /**
  87870. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  87871. * series plot across the extremes.
  87872. */
  87873. connectEnds?: boolean;
  87874. /**
  87875. * (Highcharts, Highstock) Whether to connect a graph line across null
  87876. * points, or render a gap between the two points on either side of the
  87877. * null.
  87878. */
  87879. connectNulls?: boolean;
  87880. /**
  87881. * (Gantt) Override Pathfinder connector options for a series. Requires
  87882. * Highcharts Gantt to be loaded.
  87883. */
  87884. connectors?: SeriesConnectorsOptionsObject;
  87885. /**
  87886. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  87887. * rounded to its nearest pixel in order to render sharp on screen. In some
  87888. * cases, when there are a lot of densely packed columns, this leads to
  87889. * visible difference in column widths or distance between columns. In these
  87890. * cases, setting `crisp` to `false` may look better, even though each
  87891. * column is rendered blurry.
  87892. */
  87893. crisp?: boolean;
  87894. /**
  87895. * (Highcharts, Highstock) When the series contains less points than the
  87896. * crop threshold, all points are drawn, even if the points fall outside the
  87897. * visible plot area at the current zoom. The advantage of drawing all
  87898. * points (including markers and columns), is that animation is performed on
  87899. * updates. On the other hand, when the series contains more points than the
  87900. * crop threshold, the series data is cropped to only contain points that
  87901. * fall within the plot area. The advantage of cropping away invisible
  87902. * points is to increase performance on large series.
  87903. */
  87904. cropThreshold?: number;
  87905. /**
  87906. * (Highstock) You can set the cursor to "pointer" if you have click events
  87907. * attached to the series, to signal to the user that the points and lines
  87908. * can be clicked.
  87909. *
  87910. * In styled mode, the series cursor can be set with the same classes as
  87911. * listed under series.color.
  87912. */
  87913. cursor?: (string|CursorValue);
  87914. /**
  87915. * (Highstock) A reserved subspace to store options and values for
  87916. * customized functionality. Here you can add additional data for your own
  87917. * event callbacks and formatter callbacks.
  87918. */
  87919. custom?: Dictionary<any>;
  87920. /**
  87921. * (Highstock) Name of the dash style to use for the graph, or for some
  87922. * series types the outline of each shape.
  87923. *
  87924. * In styled mode, the stroke dash-array can be set with the same classes as
  87925. * listed under series.color.
  87926. */
  87927. dashStyle?: DashStyleValue;
  87928. /**
  87929. * (Highstock) Data grouping is the concept of sampling the data values into
  87930. * larger blocks in order to ease readability and increase performance of
  87931. * the JavaScript charts. Highcharts Stock by default applies data grouping
  87932. * when the points become closer than a certain pixel value, determined by
  87933. * the `groupPixelWidth` option.
  87934. *
  87935. * If data grouping is applied, the grouping information of grouped points
  87936. * can be read from the Point.dataGroup. If point options other than the
  87937. * data itself are set, for example `name` or `color` or custom properties,
  87938. * the grouping logic doesn't know how to group it. In this case the options
  87939. * of the first point instance are copied over to the group point. This can
  87940. * be altered through a custom `approximation` callback function.
  87941. */
  87942. dataGrouping?: DataGroupingOptionsObject;
  87943. /**
  87944. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  87945. * labels, appearing next to each data point.
  87946. *
  87947. * Since v6.2.0, multiple data labels can be applied to each single point by
  87948. * defining them as an array of configs.
  87949. *
  87950. * In styled mode, the data labels can be styled with the
  87951. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  87952. * (see example).
  87953. */
  87954. dataLabels?: (PlotStochasticDataLabelsOptions|Array<PlotStochasticDataLabelsOptions>);
  87955. /**
  87956. * (Highcharts, Highstock) Options for the series data sorting.
  87957. */
  87958. dataSorting?: (DataSortingOptionsObject|PlotStochasticDataSortingOptions);
  87959. /**
  87960. * (Highstock) A description of the series to add to the screen reader
  87961. * information about the series.
  87962. */
  87963. description?: string;
  87964. /**
  87965. * (Highstock) Enable or disable the mouse tracking for a specific series.
  87966. * This includes point tooltips and click events on graphs and points. For
  87967. * large datasets it improves performance.
  87968. */
  87969. enableMouseTracking?: boolean;
  87970. /**
  87971. * (Highstock) General event handlers for the series items. These event
  87972. * hooks can also be attached to the series at run time using the
  87973. * `Highcharts.addEvent` function.
  87974. */
  87975. events?: SeriesEventsOptionsObject;
  87976. /**
  87977. * (Highstock) Determines whether the series should look for the nearest
  87978. * point in both dimensions or just the x-dimension when hovering the
  87979. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  87980. * series. If the data has duplicate x-values, it is recommended to set this
  87981. * to `'xy'` to allow hovering over all points.
  87982. *
  87983. * Applies only to series types using nearest neighbor search (not direct
  87984. * hover) for tooltip.
  87985. */
  87986. findNearestPointBy?: OptionsFindNearestPointByValue;
  87987. /**
  87988. * (Highstock) Defines when to display a gap in the graph, together with the
  87989. * gapUnit option.
  87990. *
  87991. * In case when `dataGrouping` is enabled, points can be grouped into a
  87992. * larger time span. This can make the grouped points to have a greater
  87993. * distance than the absolute value of `gapSize` property, which will result
  87994. * in disappearing graph completely. To prevent this situation the mentioned
  87995. * distance between grouped points is used instead of previously defined
  87996. * `gapSize`.
  87997. *
  87998. * In practice, this option is most often used to visualize gaps in time
  87999. * series. In a stock chart, intraday data is available for daytime hours,
  88000. * while gaps will appear in nights and weekends.
  88001. */
  88002. gapSize?: number;
  88003. /**
  88004. * (Highstock) Together with gapSize, this option defines where to draw gaps
  88005. * in the graph.
  88006. *
  88007. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  88008. * if the distance between two points is greater than 5 times that of the
  88009. * two closest points, the graph will be broken.
  88010. *
  88011. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  88012. * values, which on a datetime axis is milliseconds. This also applies to
  88013. * the navigator series that inherits gap options from the base series.
  88014. */
  88015. gapUnit?: OptionsGapUnitValue;
  88016. /**
  88017. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  88018. * chart width or only the zoomed area when zooming in on parts of the X
  88019. * axis. By default, the Y axis adjusts to the min and max of the visible
  88020. * data. Cartesian series only.
  88021. */
  88022. getExtremesFromAll?: boolean;
  88023. /**
  88024. * (Highstock) When set to `false` will prevent the series data from being
  88025. * included in any form of data export.
  88026. *
  88027. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  88028. * `includeInCSVExport`.
  88029. */
  88030. includeInDataExport?: boolean;
  88031. /**
  88032. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  88033. * series as possible in a natural way, seeking to avoid other series. The
  88034. * goal of this feature is to make the chart more easily readable, like if a
  88035. * human designer placed the labels in the optimal position.
  88036. *
  88037. * The series labels currently work with series types having a `graph` or an
  88038. * `area`.
  88039. */
  88040. label?: SeriesLabelOptionsObject;
  88041. /**
  88042. * (Highstock) The line marks the last price from all points.
  88043. */
  88044. lastPrice?: SeriesLastPriceOptionsObject;
  88045. /**
  88046. * (Highstock) The line marks the last price from visible range of points.
  88047. */
  88048. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  88049. /**
  88050. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  88051. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  88052. * the ends and bends.
  88053. */
  88054. linecap?: SeriesLinecapValue;
  88055. /**
  88056. * (Highcharts, Highstock) Pixel width of the graph line.
  88057. */
  88058. lineWidth?: number;
  88059. /**
  88060. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  88061. * based on. Required for this indicator.
  88062. */
  88063. linkedTo?: string;
  88064. /**
  88065. * (Highstock) Options for the point markers of line-like series. Properties
  88066. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  88067. * appearance of the markers. Other series types, like column series, don't
  88068. * have markers, but have visual options on the series level instead.
  88069. *
  88070. * In styled mode, the markers can be styled with the `.highcharts-point`,
  88071. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  88072. */
  88073. marker?: PointMarkerOptionsObject;
  88074. /**
  88075. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  88076. * If not set, it will be based on a technical indicator type and default
  88077. * params.
  88078. */
  88079. name?: string;
  88080. /**
  88081. * (Highstock) The color for the parts of the graph or points that are below
  88082. * the threshold. Note that `zones` takes precedence over the negative
  88083. * color. Using `negativeColor` is equivalent to applying a zone with value
  88084. * of 0.
  88085. */
  88086. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  88087. /**
  88088. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  88089. * dataLabels.
  88090. */
  88091. opacity?: number;
  88092. /**
  88093. * (Highstock) Paramters used in calculation of regression series' points.
  88094. */
  88095. params?: PlotStochasticParamsOptions;
  88096. /**
  88097. * (Highstock) Properties for each single point.
  88098. */
  88099. point?: PlotSeriesPointOptions;
  88100. /**
  88101. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  88102. * individual series. Overrides the chart wide configuration.
  88103. */
  88104. pointDescriptionFormatter?: Function;
  88105. /**
  88106. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  88107. * true, the checkbox next to the series name in the legend will be checked
  88108. * for a selected series.
  88109. */
  88110. selected?: boolean;
  88111. /**
  88112. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  88113. * the shadow can be an object configuration containing `color`, `offsetX`,
  88114. * `offsetY`, `opacity` and `width`.
  88115. */
  88116. shadow?: (boolean|ShadowOptionsObject);
  88117. /**
  88118. * (Highstock) If true, a checkbox is displayed next to the legend item to
  88119. * allow selecting the series. The state of the checkbox is determined by
  88120. * the `selected` option.
  88121. */
  88122. showCheckbox?: boolean;
  88123. /**
  88124. * (Highstock) Whether to display this particular series or series type in
  88125. * the legend. Standalone series are shown in legend by default, and linked
  88126. * series are not. Since v7.2.0 it is possible to show series that use
  88127. * colorAxis by setting this option to `true`.
  88128. */
  88129. showInLegend?: boolean;
  88130. /**
  88131. * (Highstock) If set to `true`, the accessibility module will skip past the
  88132. * points in this series for keyboard navigation.
  88133. */
  88134. skipKeyboardNavigation?: boolean;
  88135. /**
  88136. * (Highstock) Smoothed line options.
  88137. */
  88138. smoothedLine?: PlotStochasticSmoothedLineOptions;
  88139. /**
  88140. * (Highcharts, Highstock) When this is true, the series will not cause the
  88141. * Y axis to cross the zero plane (or threshold option) unless the data
  88142. * actually crosses the plane.
  88143. *
  88144. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  88145. * make the Y axis show negative values according to the `minPadding`
  88146. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  88147. */
  88148. softThreshold?: boolean;
  88149. states?: SeriesStatesOptionsObject;
  88150. /**
  88151. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  88152. * values are `left`, `center` and `right`.
  88153. */
  88154. step?: OptionsStepValue;
  88155. /**
  88156. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  88157. * event on a series isn't triggered until the mouse moves over another
  88158. * series, or out of the plot area. When false, the `mouseOut` event on a
  88159. * series is triggered when the mouse leaves the area around the series'
  88160. * graph or markers. This also implies the tooltip when not shared. When
  88161. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  88162. * be hidden when moving the mouse between series. Defaults to true for line
  88163. * and area type series, but to false for columns, pies etc.
  88164. *
  88165. * **Note:** The boost module will force this option because of technical
  88166. * limitations.
  88167. */
  88168. stickyTracking?: boolean;
  88169. /**
  88170. * (Highcharts, Highstock) The threshold, also called zero level or base
  88171. * level. For line type series this is only used in conjunction with
  88172. * negativeColor.
  88173. */
  88174. threshold?: (number|null);
  88175. /**
  88176. * (Highstock) A configuration object for the tooltip rendering of each
  88177. * single series. Properties are inherited from tooltip, but only the
  88178. * following properties can be defined on a series level.
  88179. */
  88180. tooltip?: SeriesTooltipOptionsObject;
  88181. /**
  88182. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  88183. * is longer than this, only one dimensional arrays of numbers, or two
  88184. * dimensional arrays with x and y values are allowed. Also, only the first
  88185. * point is tested, and the rest are assumed to be the same format. This
  88186. * saves expensive data checking and indexing in long series. Set it to `0`
  88187. * disable.
  88188. *
  88189. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  88190. * two dimensional arrays are allowed.
  88191. */
  88192. turboThreshold?: number;
  88193. /**
  88194. * (Highstock) Set the initial visibility of the series.
  88195. */
  88196. visible?: boolean;
  88197. /**
  88198. * (Highmaps) Define the z index of the series.
  88199. */
  88200. zIndex?: number;
  88201. /**
  88202. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  88203. */
  88204. zoneAxis?: string;
  88205. /**
  88206. * (Highcharts, Highstock) An array defining zones within a series. Zones
  88207. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  88208. * the `zoneAxis` option. The zone definitions have to be in ascending order
  88209. * regarding to the value.
  88210. *
  88211. * In styled mode, the color zones are styled with the
  88212. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  88213. * option (view live demo).
  88214. */
  88215. zones?: Array<SeriesZonesOptionsObject>;
  88216. }
  88217. /**
  88218. * (Highstock) Paramters used in calculation of regression series' points.
  88219. */
  88220. export interface PlotStochasticParamsOptions {
  88221. index?: string;
  88222. period?: string;
  88223. /**
  88224. * (Highstock) Periods for Stochastic oscillator: [%K, %D].
  88225. */
  88226. periods?: [number, number];
  88227. }
  88228. /**
  88229. * (Highstock) Smoothed line options.
  88230. */
  88231. export interface PlotStochasticSmoothedLineOptions {
  88232. /**
  88233. * (Highstock) Styles for a smoothed line.
  88234. */
  88235. styles?: PlotStochasticSmoothedLineStylesOptions;
  88236. }
  88237. /**
  88238. * (Highstock) Styles for a smoothed line.
  88239. */
  88240. export interface PlotStochasticSmoothedLineStylesOptions {
  88241. /**
  88242. * (Highstock) Color of the line. If not set, it's inherited from
  88243. * plotOptions.stochastic.color.
  88244. */
  88245. lineColor?: ColorString;
  88246. /**
  88247. * (Highstock) Pixel width of the line.
  88248. */
  88249. lineWidth?: number;
  88250. }
  88251. /**
  88252. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  88253. * is displayed. The animation can also be set as a configuration object. Please
  88254. * note that this option only applies to the initial animation of the series
  88255. * itself. For other animations, see chart.animation and the animation parameter
  88256. * under the API methods. The following properties are supported:
  88257. *
  88258. * - `defer`: The animation delay time in milliseconds.
  88259. *
  88260. * - `duration`: The duration of the animation in milliseconds.
  88261. *
  88262. * - `easing`: Can be a string reference to an easing function set on the `Math`
  88263. * object or a function. See the _Custom easing function_ demo below.
  88264. *
  88265. * Due to poor performance, animation is disabled in old IE browsers for several
  88266. * chart types.
  88267. */
  88268. export interface PlotStreamgraphAnimationOptions {
  88269. defer?: number;
  88270. }
  88271. /**
  88272. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88273. * animation when a series is displayed for the `dataLabels`. The animation can
  88274. * also be set as a configuration object. Please note that this option only
  88275. * applies to the initial animation. For other animations, see chart.animation
  88276. * and the animation parameter under the API methods. The following properties
  88277. * are supported:
  88278. *
  88279. * - `defer`: The animation delay time in milliseconds.
  88280. */
  88281. export interface PlotStreamgraphDataLabelsAnimationOptions {
  88282. /**
  88283. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  88284. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  88285. * inherits defer time from the series.animation.defer.
  88286. */
  88287. defer?: number;
  88288. }
  88289. /**
  88290. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  88291. * appearing next to each data point.
  88292. *
  88293. * Since v6.2.0, multiple data labels can be applied to each single point by
  88294. * defining them as an array of configs.
  88295. *
  88296. * In styled mode, the data labels can be styled with the
  88297. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  88298. * example).
  88299. */
  88300. export interface PlotStreamgraphDataLabelsOptions {
  88301. /**
  88302. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  88303. * compared to the point. If `right`, the right side of the label should be
  88304. * touching the point. For points with an extent, like columns, the
  88305. * alignments also dictates how to align it inside the box, as given with
  88306. * the inside option. Can be one of `left`, `center` or `right`.
  88307. */
  88308. align?: (AlignValue|null);
  88309. /**
  88310. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  88311. * overlap. To make the labels less sensitive for overlapping, the
  88312. * dataLabels.padding can be set to 0.
  88313. */
  88314. allowOverlap?: boolean;
  88315. /**
  88316. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  88317. * animation when a series is displayed for the `dataLabels`. The animation
  88318. * can also be set as a configuration object. Please note that this option
  88319. * only applies to the initial animation. For other animations, see
  88320. * chart.animation and the animation parameter under the API methods. The
  88321. * following properties are supported:
  88322. *
  88323. * - `defer`: The animation delay time in milliseconds.
  88324. */
  88325. animation?: (boolean|PlotStreamgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  88326. /**
  88327. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  88328. * for the data label.
  88329. */
  88330. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  88331. /**
  88332. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  88333. * label. Defaults to `undefined`.
  88334. */
  88335. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88336. /**
  88337. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  88338. * the data label.
  88339. */
  88340. borderRadius?: number;
  88341. /**
  88342. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  88343. * the data label.
  88344. */
  88345. borderWidth?: number;
  88346. /**
  88347. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  88348. * Particularly in styled mode, this can be used to give each series' or
  88349. * point's data label unique styling. In addition to this option, a default
  88350. * color class name is added so that we can give the labels a contrast text
  88351. * shadow.
  88352. */
  88353. className?: string;
  88354. /**
  88355. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  88356. * labels. Defaults to `undefined`. For certain series types, like column or
  88357. * map, the data labels can be drawn inside the points. In this case the
  88358. * data label will be drawn with maximum contrast by default. Additionally,
  88359. * it will be given a `text-outline` style with the opposite color, to
  88360. * further increase the contrast. This can be overridden by setting the
  88361. * `text-outline` style to `none` in the `dataLabels.style` option.
  88362. */
  88363. color?: (ColorString|GradientColorObject|PatternObject);
  88364. /**
  88365. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  88366. * are outside the plot area. By default, the data label is moved inside the
  88367. * plot area according to the overflow option.
  88368. */
  88369. crop?: boolean;
  88370. /**
  88371. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  88372. * labels until the initial series animation has finished. Setting to
  88373. * `false` renders the data label immediately. If set to `true` inherits the
  88374. * defer time set in plotOptions.series.animation. If set to a number, a
  88375. * defer time is specified in milliseconds.
  88376. */
  88377. defer?: (boolean|number);
  88378. /**
  88379. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  88380. * labels.
  88381. */
  88382. enabled?: boolean;
  88383. /**
  88384. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  88385. * of which data labels to display. The declarative filter is designed for
  88386. * use when callback functions are not available, like when the chart
  88387. * options require a pure JSON structure or for use with graphical editors.
  88388. * For programmatic control, use the `formatter` instead, and return
  88389. * `undefined` to disable a single data label.
  88390. */
  88391. filter?: DataLabelsFilterOptionsObject;
  88392. /**
  88393. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  88394. * label. Available variables are the same as for `formatter`.
  88395. */
  88396. format?: string;
  88397. /**
  88398. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  88399. * format the data label. Note that if a `format` is defined, the format
  88400. * takes precedence and the formatter is ignored.
  88401. */
  88402. formatter?: DataLabelsFormatterCallbackFunction;
  88403. /**
  88404. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  88405. * columns or map areas, whether to align the data label inside the box or
  88406. * to the actual value point. Defaults to `false` in most cases, `true` in
  88407. * stacked columns.
  88408. */
  88409. inside?: boolean;
  88410. /**
  88411. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  88412. * of null. Works analogously to format. `nullFormat` can be applied only to
  88413. * series which support displaying null points.
  88414. */
  88415. nullFormat?: (boolean|string);
  88416. /**
  88417. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  88418. * that defines formatting for points with the value of null. Works
  88419. * analogously to formatter. `nullPointFormatter` can be applied only to
  88420. * series which support displaying null points.
  88421. */
  88422. nullFormatter?: DataLabelsFormatterCallbackFunction;
  88423. /**
  88424. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  88425. * flow outside the plot area. The default is `"justify"`, which aligns them
  88426. * inside the plot area. For columns and bars, this means it will be moved
  88427. * inside the bar. To display data labels outside the plot area, set `crop`
  88428. * to `false` and `overflow` to `"allow"`.
  88429. */
  88430. overflow?: DataLabelsOverflowValue;
  88431. /**
  88432. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  88433. * the `backgroundColor` is set, this is the padding within the box.
  88434. */
  88435. padding?: number;
  88436. /**
  88437. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  88438. * points. If `center` alignment is not possible, it defaults to `right`.
  88439. */
  88440. position?: AlignValue;
  88441. /**
  88442. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  88443. * that due to a more complex structure, backgrounds, borders and padding
  88444. * will be lost on a rotated data label.
  88445. */
  88446. rotation?: number;
  88447. /**
  88448. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  88449. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  88450. * an object configuration containing `color`, `offsetX`, `offsetY`,
  88451. * `opacity` and `width`.
  88452. */
  88453. shadow?: (boolean|ShadowOptionsObject);
  88454. /**
  88455. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  88456. * the border around the label. Symbols are predefined functions on the
  88457. * Renderer object.
  88458. */
  88459. shape?: string;
  88460. /**
  88461. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  88462. * default `color` setting is `"contrast"`, which is a pseudo color that
  88463. * Highcharts picks up and applies the maximum contrast to the underlying
  88464. * point item, for example the bar in a bar chart.
  88465. *
  88466. * The `textOutline` is a pseudo property that applies an outline of the
  88467. * given width with the given color, which by default is the maximum
  88468. * contrast to the text. So a bright text color will result in a black text
  88469. * outline for maximum readability on a mixed background. In some cases,
  88470. * especially with grayscale text, the text outline doesn't work well, in
  88471. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  88472. * is true, the `textOutline` will not be picked up. In this, case, the same
  88473. * effect can be acheived through the `text-shadow` CSS property.
  88474. *
  88475. * For some series types, where each point has an extent, like for example
  88476. * tree maps, the data label may overflow the point. There are two
  88477. * strategies for handling overflow. By default, the text will wrap to
  88478. * multiple lines. The other strategy is to set `style.textOverflow` to
  88479. * `ellipsis`, which will keep the text on one line plus it will break
  88480. * inside long words.
  88481. */
  88482. style?: CSSObject;
  88483. /**
  88484. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  88485. * should follow marker's shape. Border and background are disabled for a
  88486. * label that follows a path.
  88487. *
  88488. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  88489. * to true will disable this option.
  88490. */
  88491. textPath?: DataLabelsTextPathOptionsObject;
  88492. /**
  88493. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  88494. * the labels.
  88495. */
  88496. useHTML?: boolean;
  88497. /**
  88498. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  88499. * label. Can be one of `top`, `middle` or `bottom`. The default value
  88500. * depends on the data, for instance in a column chart, the label is above
  88501. * positive values and below negative values.
  88502. */
  88503. verticalAlign?: (VerticalAlignValue|null);
  88504. /**
  88505. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  88506. * label relative to the point in pixels.
  88507. */
  88508. x?: number;
  88509. /**
  88510. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  88511. * label relative to the point in pixels.
  88512. */
  88513. y?: number;
  88514. /**
  88515. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  88516. * The default Z index puts it above the series. Use a Z index of 2 to
  88517. * display it behind the series.
  88518. */
  88519. z?: number;
  88520. }
  88521. /**
  88522. * (Highcharts, Highstock) Options for the series data sorting.
  88523. */
  88524. export interface PlotStreamgraphDataSortingOptions {
  88525. /**
  88526. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  88527. * Use xAxis.reversed to change the sorting order.
  88528. */
  88529. enabled?: boolean;
  88530. /**
  88531. * (Highcharts, Highstock) Whether to allow matching points by name in an
  88532. * update. If this option is disabled, points will be matched by order.
  88533. */
  88534. matchByName?: boolean;
  88535. /**
  88536. * (Highcharts, Highstock) Determines what data value should be used to sort
  88537. * by.
  88538. */
  88539. sortKey?: string;
  88540. }
  88541. /**
  88542. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  88543. * one state by default, the `default` state.
  88544. */
  88545. export interface PlotStreamgraphDragDropGuideBoxOptions {
  88546. /**
  88547. * (Highcharts, Highstock) Style options for the guide box default state.
  88548. */
  88549. default?: DragDropGuideBoxOptionsObject;
  88550. }
  88551. /**
  88552. * (Highcharts, Highstock) A streamgraph is a type of stacked area graph which
  88553. * is displaced around a central axis, resulting in a flowing, organic shape.
  88554. *
  88555. * In TypeScript the type option must always be set.
  88556. *
  88557. * Configuration options for the series are given in three levels:
  88558. *
  88559. * 1. Options for all series in a chart are defined in the plotOptions.series
  88560. * object.
  88561. *
  88562. * 2. Options for all `streamgraph` series are defined in
  88563. * plotOptions.streamgraph.
  88564. *
  88565. * 3. Options for one single series are given in the series instance array. (see
  88566. * online documentation for example)
  88567. */
  88568. export interface PlotStreamgraphOptions {
  88569. /**
  88570. * (Highcharts, Highstock) Accessibility options for a series.
  88571. */
  88572. accessibility?: SeriesAccessibilityOptionsObject;
  88573. /**
  88574. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  88575. * rendered. If `true`, areas which don't correspond to a data point, are
  88576. * rendered as `null` points. If `false`, those areas are skipped.
  88577. */
  88578. allAreas?: boolean;
  88579. /**
  88580. * (Highcharts, Highstock) Allow this series' points to be selected by
  88581. * clicking on the graphic (columns, point markers, pie slices, map areas
  88582. * etc).
  88583. *
  88584. * The selected points can be handled by point select and unselect events,
  88585. * or collectively by the getSelectedPoints function.
  88586. *
  88587. * And alternative way of selecting points is through dragging.
  88588. */
  88589. allowPointSelect?: boolean;
  88590. /**
  88591. * (Highcharts, Highstock) Enable or disable the initial animation when a
  88592. * series is displayed. The animation can also be set as a configuration
  88593. * object. Please note that this option only applies to the initial
  88594. * animation of the series itself. For other animations, see chart.animation
  88595. * and the animation parameter under the API methods. The following
  88596. * properties are supported:
  88597. *
  88598. * - `defer`: The animation delay time in milliseconds.
  88599. *
  88600. * - `duration`: The duration of the animation in milliseconds.
  88601. *
  88602. * - `easing`: Can be a string reference to an easing function set on the
  88603. * `Math` object or a function. See the _Custom easing function_ demo below.
  88604. *
  88605. * Due to poor performance, animation is disabled in old IE browsers for
  88606. * several chart types.
  88607. */
  88608. animation?: (boolean|PlotStreamgraphAnimationOptions|Partial<AnimationOptionsObject>);
  88609. /**
  88610. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  88611. * initial animation by default when the total number of points in the chart
  88612. * is too high. For example, for a column chart and its derivatives,
  88613. * animation does not run if there is more than 250 points totally. To
  88614. * disable this cap, set `animationLimit` to `Infinity`.
  88615. */
  88616. animationLimit?: number;
  88617. /**
  88618. * (Highmaps) The border color of the map areas.
  88619. *
  88620. * In styled mode, the border stroke is given in the `.highcharts-point`
  88621. * class.
  88622. */
  88623. borderColor?: (ColorString|GradientColorObject|PatternObject);
  88624. /**
  88625. * (Highmaps) The border width of each map area.
  88626. *
  88627. * In styled mode, the border stroke width is given in the
  88628. * `.highcharts-point` class.
  88629. */
  88630. borderWidth?: number;
  88631. /**
  88632. * (Highcharts, Highstock) An additional class name to apply to the series'
  88633. * graphical elements. This option does not replace default class names of
  88634. * the graphical element.
  88635. */
  88636. className?: string;
  88637. /**
  88638. * (Highcharts, Highstock) Disable this option to allow series rendering in
  88639. * the whole plotting area.
  88640. *
  88641. * **Note:** Clipping should be always enabled when chart.zoomType is set
  88642. */
  88643. clip?: boolean;
  88644. /**
  88645. * (Highcharts, Highstock) The main color of the series. In line type series
  88646. * it applies to the line and the point markers unless otherwise specified.
  88647. * In bar type series it applies to the bars unless a color is specified per
  88648. * point. The default value is pulled from the `options.colors` array.
  88649. *
  88650. * In styled mode, the color can be defined by the colorIndex option. Also,
  88651. * the series color can be set with the `.highcharts-series`,
  88652. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  88653. * `.highcharts-series-{n}` class, or individual classes given by the
  88654. * `className` option.
  88655. */
  88656. color?: (ColorString|GradientColorObject|PatternObject);
  88657. /**
  88658. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  88659. * this number defines which colorAxis the particular series is connected
  88660. * to. It refers to either the axis id or the index of the axis in the
  88661. * colorAxis array, with 0 being the first. Set this option to false to
  88662. * prevent a series from connecting to the default color axis.
  88663. *
  88664. * Since v7.2.0 the option can also be an axis id or an axis index instead
  88665. * of a boolean flag.
  88666. */
  88667. colorAxis?: (boolean|number|string);
  88668. /**
  88669. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  88670. * for the series, so its graphic representations are given the class name
  88671. * `highcharts-color-{n}`.
  88672. */
  88673. colorIndex?: number;
  88674. /**
  88675. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  88676. * used to calculate point color if `colorAxis` is used. Requires to set
  88677. * `min` and `max` if some custom point property is used or if approximation
  88678. * for data grouping is set to `'sum'`.
  88679. */
  88680. colorKey?: string;
  88681. /**
  88682. * (Highstock) Compare the values of the series against the first non-null,
  88683. * non- zero value in the visible range. The y axis will show percentage or
  88684. * absolute change depending on whether `compare` is set to `"percent"` or
  88685. * `"value"`. When this is applied to multiple series, it allows comparing
  88686. * the development of the series against each other. Adds a `change` field
  88687. * to every point object.
  88688. */
  88689. compare?: string;
  88690. /**
  88691. * (Highstock) When compare is `percent`, this option dictates whether to
  88692. * use 0 or 100 as the base of comparison.
  88693. */
  88694. compareBase?: (0|100);
  88695. /**
  88696. * (Highstock) Defines if comparison should start from the first point
  88697. * within the visible range or should start from the first point **before**
  88698. * the range.
  88699. *
  88700. * In other words, this flag determines if first point within the visible
  88701. * range will have 0% (`compareStart=true`) or should have been already
  88702. * calculated according to the previous point (`compareStart=false`).
  88703. */
  88704. compareStart?: boolean;
  88705. /**
  88706. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  88707. * series plot across the extremes.
  88708. */
  88709. connectEnds?: boolean;
  88710. /**
  88711. * (Highcharts, Highstock) Whether to connect a graph line across null
  88712. * points, or render a gap between the two points on either side of the
  88713. * null.
  88714. */
  88715. connectNulls?: boolean;
  88716. /**
  88717. * (Gantt) Override Pathfinder connector options for a series. Requires
  88718. * Highcharts Gantt to be loaded.
  88719. */
  88720. connectors?: SeriesConnectorsOptionsObject;
  88721. /**
  88722. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  88723. * rounded to its nearest pixel in order to render sharp on screen. In some
  88724. * cases, when there are a lot of densely packed columns, this leads to
  88725. * visible difference in column widths or distance between columns. In these
  88726. * cases, setting `crisp` to `false` may look better, even though each
  88727. * column is rendered blurry.
  88728. */
  88729. crisp?: boolean;
  88730. /**
  88731. * (Highcharts, Highstock) When the series contains less points than the
  88732. * crop threshold, all points are drawn, even if the points fall outside the
  88733. * visible plot area at the current zoom. The advantage of drawing all
  88734. * points (including markers and columns), is that animation is performed on
  88735. * updates. On the other hand, when the series contains more points than the
  88736. * crop threshold, the series data is cropped to only contain points that
  88737. * fall within the plot area. The advantage of cropping away invisible
  88738. * points is to increase performance on large series.
  88739. */
  88740. cropThreshold?: number;
  88741. /**
  88742. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  88743. * click events attached to the series, to signal to the user that the
  88744. * points and lines can be clicked.
  88745. *
  88746. * In styled mode, the series cursor can be set with the same classes as
  88747. * listed under series.color.
  88748. */
  88749. cursor?: (string|CursorValue);
  88750. /**
  88751. * (Highcharts, Highstock) A reserved subspace to store options and values
  88752. * for customized functionality. Here you can add additional data for your
  88753. * own event callbacks and formatter callbacks.
  88754. */
  88755. custom?: Dictionary<any>;
  88756. /**
  88757. * (Highcharts, Highstock) Name of the dash style to use for the graph, or
  88758. * for some series types the outline of each shape.
  88759. *
  88760. * In styled mode, the stroke dash-array can be set with the same classes as
  88761. * listed under series.color.
  88762. */
  88763. dashStyle?: DashStyleValue;
  88764. /**
  88765. * (Highstock) Data grouping is the concept of sampling the data values into
  88766. * larger blocks in order to ease readability and increase performance of
  88767. * the JavaScript charts. Highcharts Stock by default applies data grouping
  88768. * when the points become closer than a certain pixel value, determined by
  88769. * the `groupPixelWidth` option.
  88770. *
  88771. * If data grouping is applied, the grouping information of grouped points
  88772. * can be read from the Point.dataGroup. If point options other than the
  88773. * data itself are set, for example `name` or `color` or custom properties,
  88774. * the grouping logic doesn't know how to group it. In this case the options
  88775. * of the first point instance are copied over to the group point. This can
  88776. * be altered through a custom `approximation` callback function.
  88777. */
  88778. dataGrouping?: DataGroupingOptionsObject;
  88779. /**
  88780. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  88781. * labels, appearing next to each data point.
  88782. *
  88783. * Since v6.2.0, multiple data labels can be applied to each single point by
  88784. * defining them as an array of configs.
  88785. *
  88786. * In styled mode, the data labels can be styled with the
  88787. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  88788. * (see example).
  88789. */
  88790. dataLabels?: (PlotStreamgraphDataLabelsOptions|Array<PlotStreamgraphDataLabelsOptions>);
  88791. /**
  88792. * (Highcharts, Highstock) Options for the series data sorting.
  88793. */
  88794. dataSorting?: (DataSortingOptionsObject|PlotStreamgraphDataSortingOptions);
  88795. /**
  88796. * (Highcharts, Highstock) A description of the series to add to the screen
  88797. * reader information about the series.
  88798. */
  88799. description?: string;
  88800. /**
  88801. * (Highcharts, Highstock) The draggable-points module allows points to be
  88802. * moved around or modified in the chart. In addition to the options
  88803. * mentioned under the `dragDrop` API structure, the module fires three
  88804. * events, point.dragStart, point.drag and point.drop.
  88805. */
  88806. dragDrop?: SeriesDragDropOptionsObject;
  88807. /**
  88808. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  88809. * specific series. This includes point tooltips and click events on graphs
  88810. * and points. For large datasets it improves performance.
  88811. */
  88812. enableMouseTracking?: boolean;
  88813. /**
  88814. * (Highcharts, Highstock) General event handlers for the series items.
  88815. * These event hooks can also be attached to the series at run time using
  88816. * the `Highcharts.addEvent` function.
  88817. */
  88818. events?: SeriesEventsOptionsObject;
  88819. /**
  88820. * (Highcharts, Highstock) Fill color or gradient for the area. When `null`,
  88821. * the series' `color` is used with the series' `fillOpacity`.
  88822. *
  88823. * In styled mode, the fill color can be set with the `.highcharts-area`
  88824. * class name.
  88825. */
  88826. fillColor?: (ColorString|GradientColorObject|PatternObject);
  88827. /**
  88828. * (Highcharts, Highstock) Fill opacity for the area. When you set an
  88829. * explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
  88830. * should define the opacity in the `fillColor` with an rgba color
  88831. * definition. The `fillOpacity` setting, also the default setting,
  88832. * overrides the alpha component of the `color` setting.
  88833. *
  88834. * In styled mode, the fill opacity can be set with the `.highcharts-area`
  88835. * class name.
  88836. */
  88837. fillOpacity?: number;
  88838. /**
  88839. * (Highcharts, Highstock) Determines whether the series should look for the
  88840. * nearest point in both dimensions or just the x-dimension when hovering
  88841. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  88842. * other series. If the data has duplicate x-values, it is recommended to
  88843. * set this to `'xy'` to allow hovering over all points.
  88844. *
  88845. * Applies only to series types using nearest neighbor search (not direct
  88846. * hover) for tooltip.
  88847. */
  88848. findNearestPointBy?: OptionsFindNearestPointByValue;
  88849. /**
  88850. * (Highstock) Defines when to display a gap in the graph, together with the
  88851. * gapUnit option.
  88852. *
  88853. * In case when `dataGrouping` is enabled, points can be grouped into a
  88854. * larger time span. This can make the grouped points to have a greater
  88855. * distance than the absolute value of `gapSize` property, which will result
  88856. * in disappearing graph completely. To prevent this situation the mentioned
  88857. * distance between grouped points is used instead of previously defined
  88858. * `gapSize`.
  88859. *
  88860. * In practice, this option is most often used to visualize gaps in time
  88861. * series. In a stock chart, intraday data is available for daytime hours,
  88862. * while gaps will appear in nights and weekends.
  88863. */
  88864. gapSize?: number;
  88865. /**
  88866. * (Highstock) Together with gapSize, this option defines where to draw gaps
  88867. * in the graph.
  88868. *
  88869. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  88870. * if the distance between two points is greater than 5 times that of the
  88871. * two closest points, the graph will be broken.
  88872. *
  88873. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  88874. * values, which on a datetime axis is milliseconds. This also applies to
  88875. * the navigator series that inherits gap options from the base series.
  88876. */
  88877. gapUnit?: OptionsGapUnitValue;
  88878. /**
  88879. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  88880. * chart width or only the zoomed area when zooming in on parts of the X
  88881. * axis. By default, the Y axis adjusts to the min and max of the visible
  88882. * data. Cartesian series only.
  88883. */
  88884. getExtremesFromAll?: boolean;
  88885. /**
  88886. * (Highcharts, Highstock) When set to `false` will prevent the series data
  88887. * from being included in any form of data export.
  88888. *
  88889. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  88890. * `includeInCSVExport`.
  88891. */
  88892. includeInDataExport?: boolean;
  88893. /**
  88894. * (Highmaps) What property to join the `mapData` to the value data. For
  88895. * example, if joinBy is "code", the mapData items with a specific code is
  88896. * merged into the data with the same code. For maps loaded from GeoJSON,
  88897. * the keys may be held in each point's `properties` object.
  88898. *
  88899. * The joinBy option can also be an array of two values, where the first
  88900. * points to a key in the `mapData`, and the second points to another key in
  88901. * the `data`.
  88902. *
  88903. * When joinBy is `null`, the map items are joined by their position in the
  88904. * array, which performs much better in maps with many data points. This is
  88905. * the recommended option if you are printing more than a thousand data
  88906. * points and have a backend that can preprocess the data into a parallel
  88907. * array of the mapData.
  88908. */
  88909. joinBy?: (string|Array<string>);
  88910. /**
  88911. * (Highcharts, Highstock) An array specifying which option maps to which
  88912. * key in the data point array. This makes it convenient to work with
  88913. * unstructured data arrays from different sources.
  88914. */
  88915. keys?: Array<string>;
  88916. /**
  88917. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  88918. * series as possible in a natural way, seeking to avoid other series. The
  88919. * goal of this feature is to make the chart more easily readable, like if a
  88920. * human designer placed the labels in the optimal position.
  88921. *
  88922. * The series labels currently work with series types having a `graph` or an
  88923. * `area`.
  88924. */
  88925. label?: SeriesLabelOptionsObject;
  88926. /**
  88927. * (Highstock) The line marks the last price from all points.
  88928. */
  88929. lastPrice?: SeriesLastPriceOptionsObject;
  88930. /**
  88931. * (Highstock) The line marks the last price from visible range of points.
  88932. */
  88933. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  88934. /**
  88935. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  88936. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  88937. * the ends and bends.
  88938. */
  88939. linecap?: SeriesLinecapValue;
  88940. /**
  88941. * (Highcharts, Highstock) A separate color for the graph line. By default
  88942. * the line takes the `color` of the series, but the lineColor setting
  88943. * allows setting a separate color for the line without altering the
  88944. * `fillColor`.
  88945. *
  88946. * In styled mode, the line stroke can be set with the `.highcharts-graph`
  88947. * class name.
  88948. */
  88949. lineColor?: (ColorString|GradientColorObject|PatternObject);
  88950. /**
  88951. * (Highcharts, Highstock) Pixel width of the graph line.
  88952. */
  88953. lineWidth?: number;
  88954. /**
  88955. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  88956. * Additionally, the value can be ":previous" to link to the previous
  88957. * series. When two series are linked, only the first one appears in the
  88958. * legend. Toggling the visibility of this also toggles the linked series.
  88959. *
  88960. * If master series uses data sorting and linked series does not have its
  88961. * own sorting definition, the linked series will be sorted in the same
  88962. * order as the master one.
  88963. */
  88964. linkedTo?: string;
  88965. /**
  88966. * (Highcharts, Highstock) Options for the point markers of line-like
  88967. * series. Properties like `fillColor`, `lineColor` and `lineWidth` define
  88968. * the visual appearance of the markers. Other series types, like column
  88969. * series, don't have markers, but have visual options on the series level
  88970. * instead.
  88971. *
  88972. * In styled mode, the markers can be styled with the `.highcharts-point`,
  88973. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  88974. */
  88975. marker?: PointMarkerOptionsObject;
  88976. /**
  88977. * (Highstock) Options for the corresponding navigator series if
  88978. * `showInNavigator` is `true` for this series. Available options are the
  88979. * same as any series, documented at plotOptions and series.
  88980. *
  88981. * These options are merged with options in navigator.series, and will take
  88982. * precedence if the same option is defined both places.
  88983. */
  88984. navigatorOptions?: PlotSeriesOptions;
  88985. /**
  88986. * (Highcharts, Highstock) The color for the parts of the graph or points
  88987. * that are below the threshold. Note that `zones` takes precedence over the
  88988. * negative color. Using `negativeColor` is equivalent to applying a zone
  88989. * with value of 0.
  88990. */
  88991. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  88992. /**
  88993. * (Highcharts) A separate color for the negative part of the area.
  88994. *
  88995. * In styled mode, a negative color is set with the `.highcharts-negative`
  88996. * class name.
  88997. */
  88998. negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
  88999. /**
  89000. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  89001. * and dataLabels.
  89002. */
  89003. opacity?: number;
  89004. /**
  89005. * (Highcharts, Highstock) Properties for each single point.
  89006. */
  89007. point?: PlotSeriesPointOptions;
  89008. /**
  89009. * (Highcharts, Highstock) Same as
  89010. * accessibility.series.descriptionFormatter, but for an individual series.
  89011. * Overrides the chart wide configuration.
  89012. */
  89013. pointDescriptionFormatter?: Function;
  89014. /**
  89015. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  89016. * a series, `pointInterval` defines the interval of the x values. For
  89017. * example, if a series contains one value every decade starting from year
  89018. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  89019. * `pointInterval` is set in milliseconds.
  89020. *
  89021. * It can be also be combined with `pointIntervalUnit` to draw irregular
  89022. * time intervals.
  89023. *
  89024. * Please note that this options applies to the _series data_, not the
  89025. * interval of the axis ticks, which is independent.
  89026. */
  89027. pointInterval?: number;
  89028. /**
  89029. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  89030. * setting the pointInterval to irregular time units, `day`, `month` and
  89031. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  89032. * also takes the DST crossover into consideration when dealing with local
  89033. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  89034. * months, 10 years etc.
  89035. *
  89036. * Please note that this options applies to the _series data_, not the
  89037. * interval of the axis ticks, which is independent.
  89038. */
  89039. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  89040. /**
  89041. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  89042. * `number`.
  89043. *
  89044. * In a column chart, when pointPlacement is `"on"`, the point will not
  89045. * create any padding of the X axis. In a polar column chart this means that
  89046. * the first column points directly north. If the pointPlacement is
  89047. * `"between"`, the columns will be laid out between ticks. This is useful
  89048. * for example for visualising an amount between two points in time or in a
  89049. * certain sector of a polar chart.
  89050. *
  89051. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  89052. * is on the axis value, -0.5 is between this value and the previous, and
  89053. * 0.5 is between this value and the next. Unlike the textual options,
  89054. * numeric point placement options won't affect axis padding.
  89055. *
  89056. * Note that pointPlacement needs a pointRange to work. For column series
  89057. * this is computed, but for line-type series it needs to be set.
  89058. *
  89059. * For the `xrange` series type and gantt charts, if the Y axis is a
  89060. * category axis, the `pointPlacement` applies to the Y axis rather than the
  89061. * (typically datetime) X axis.
  89062. *
  89063. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  89064. */
  89065. pointPlacement?: (number|string);
  89066. /**
  89067. * (Highstock) The width of each point on the x axis. For example in a
  89068. * column chart with one value each day, the pointRange would be 1 day (= 24
  89069. * * 3600
  89070. *
  89071. * * 1000 milliseconds). This is normally computed automatically, but this
  89072. * option can be used to override the automatic value.
  89073. */
  89074. pointRange?: number;
  89075. /**
  89076. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  89077. * a series, pointStart defines on what value to start. For example, if a
  89078. * series contains one yearly value starting from 1945, set pointStart to
  89079. * 1945.
  89080. */
  89081. pointStart?: number;
  89082. /**
  89083. * (Highcharts, Highstock) Whether to select the series initially. If
  89084. * `showCheckbox` is true, the checkbox next to the series name in the
  89085. * legend will be checked for a selected series.
  89086. */
  89087. selected?: boolean;
  89088. /**
  89089. * (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
  89090. * Since 2.3 the shadow can be an object configuration containing `color`,
  89091. * `offsetX`, `offsetY`, `opacity` and `width`.
  89092. */
  89093. shadow?: (boolean|ShadowOptionsObject);
  89094. /**
  89095. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  89096. * legend item to allow selecting the series. The state of the checkbox is
  89097. * determined by the `selected` option.
  89098. */
  89099. showCheckbox?: boolean;
  89100. /**
  89101. * (Highcharts, Highstock) Whether to display this particular series or
  89102. * series type in the legend. Standalone series are shown in legend by
  89103. * default, and linked series are not. Since v7.2.0 it is possible to show
  89104. * series that use colorAxis by setting this option to `true`.
  89105. */
  89106. showInLegend?: boolean;
  89107. /**
  89108. * (Highstock) Whether or not to show the series in the navigator. Takes
  89109. * precedence over navigator.baseSeries if defined.
  89110. */
  89111. showInNavigator?: boolean;
  89112. /**
  89113. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  89114. * skip past the points in this series for keyboard navigation.
  89115. */
  89116. skipKeyboardNavigation?: boolean;
  89117. /**
  89118. * (Highcharts, Highstock) When this is true, the series will not cause the
  89119. * Y axis to cross the zero plane (or threshold option) unless the data
  89120. * actually crosses the plane.
  89121. *
  89122. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  89123. * make the Y axis show negative values according to the `minPadding`
  89124. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  89125. */
  89126. softThreshold?: boolean;
  89127. /**
  89128. * (Highcharts, Highstock) Whether to stack the values of each series on top
  89129. * of each other. Possible values are `undefined` to disable, `"normal"` to
  89130. * stack by value or `"percent"`.
  89131. *
  89132. * When stacking is enabled, data must be sorted in ascending X order.
  89133. *
  89134. * Some stacking options are related to specific series types. In the
  89135. * streamgraph series type, the stacking option is set to `"stream"`. The
  89136. * second one is `"overlap"`, which only applies to waterfall series.
  89137. */
  89138. stacking?: OptionsStackingValue;
  89139. states?: SeriesStatesOptionsObject;
  89140. /**
  89141. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  89142. * `mouseOut` event on a series isn't triggered until the mouse moves over
  89143. * another series, or out of the plot area. When false, the `mouseOut` event
  89144. * on a series is triggered when the mouse leaves the area around the
  89145. * series' graph or markers. This also implies the tooltip when not shared.
  89146. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  89147. * will be hidden when moving the mouse between series. Defaults to true for
  89148. * line and area type series, but to false for columns, pies etc.
  89149. *
  89150. * **Note:** The boost module will force this option because of technical
  89151. * limitations.
  89152. */
  89153. stickyTracking?: boolean;
  89154. /**
  89155. * (Highcharts, Highstock) The Y axis value to serve as the base for the
  89156. * area, for distinguishing between values above and below a threshold. The
  89157. * area between the graph and the threshold is filled.
  89158. *
  89159. * * If a number is given, the Y axis will scale to the threshold.
  89160. *
  89161. * * If `null`, the scaling behaves like a line series with fill between the
  89162. * graph and the Y axis minimum.
  89163. *
  89164. * * If `Infinity` or `-Infinity`, the area between the graph and the
  89165. * corresponding Y axis extreme is filled (since v6.1.0).
  89166. */
  89167. threshold?: (number|null);
  89168. /**
  89169. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  89170. * of each single series. Properties are inherited from tooltip, but only
  89171. * the following properties can be defined on a series level.
  89172. */
  89173. tooltip?: SeriesTooltipOptionsObject;
  89174. /**
  89175. * (Highcharts, Highstock) Whether the whole area or just the line should
  89176. * respond to mouseover tooltips and other mouse or touch events.
  89177. */
  89178. trackByArea?: boolean;
  89179. /**
  89180. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  89181. * is longer than this, only one dimensional arrays of numbers, or two
  89182. * dimensional arrays with x and y values are allowed. Also, only the first
  89183. * point is tested, and the rest are assumed to be the same format. This
  89184. * saves expensive data checking and indexing in long series. Set it to `0`
  89185. * disable.
  89186. *
  89187. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  89188. * two dimensional arrays are allowed.
  89189. */
  89190. turboThreshold?: number;
  89191. /**
  89192. * (Highcharts, Highstock) Set the initial visibility of the series.
  89193. */
  89194. visible?: boolean;
  89195. /**
  89196. * (Highmaps) Define the z index of the series.
  89197. */
  89198. zIndex?: number;
  89199. /**
  89200. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  89201. */
  89202. zoneAxis?: string;
  89203. /**
  89204. * (Highcharts, Highstock) An array defining zones within a series. Zones
  89205. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  89206. * the `zoneAxis` option. The zone definitions have to be in ascending order
  89207. * regarding to the value.
  89208. *
  89209. * In styled mode, the color zones are styled with the
  89210. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  89211. * option (view live demo).
  89212. */
  89213. zones?: Array<SeriesZonesOptionsObject>;
  89214. }
  89215. /**
  89216. * (Highcharts) Enable or disable the initial animation when a series is
  89217. * displayed. The animation can also be set as a configuration object. Please
  89218. * note that this option only applies to the initial animation of the series
  89219. * itself. For other animations, see chart.animation and the animation parameter
  89220. * under the API methods. The following properties are supported:
  89221. *
  89222. * - `defer`: The animation delay time in milliseconds.
  89223. *
  89224. * - `duration`: The duration of the animation in milliseconds.
  89225. *
  89226. * - `easing`: Can be a string reference to an easing function set on the `Math`
  89227. * object or a function. See the _Custom easing function_ demo below.
  89228. *
  89229. * Due to poor performance, animation is disabled in old IE browsers for several
  89230. * chart types.
  89231. */
  89232. export interface PlotSunburstAnimationOptions {
  89233. defer?: number;
  89234. }
  89235. /**
  89236. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89237. * animation when a series is displayed for the `dataLabels`. The animation can
  89238. * also be set as a configuration object. Please note that this option only
  89239. * applies to the initial animation. For other animations, see chart.animation
  89240. * and the animation parameter under the API methods. The following properties
  89241. * are supported:
  89242. *
  89243. * - `defer`: The animation delay time in milliseconds.
  89244. */
  89245. export interface PlotSunburstDataLabelsAnimationOptions {
  89246. /**
  89247. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89248. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89249. * inherits defer time from the series.animation.defer.
  89250. */
  89251. defer?: number;
  89252. }
  89253. /**
  89254. * (Highcharts) Can set a `colorVariation` on all points which lies on the same
  89255. * level.
  89256. */
  89257. export interface PlotSunburstLevelsColorVariationOptions {
  89258. /**
  89259. * (Highcharts) The key of a color variation. Currently supports
  89260. * `brightness` only.
  89261. */
  89262. key?: string;
  89263. /**
  89264. * (Highcharts) The ending value of a color variation. The last sibling will
  89265. * receive this value.
  89266. */
  89267. to?: number;
  89268. }
  89269. /**
  89270. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89271. * animation when a series is displayed for the `dataLabels`. The animation can
  89272. * also be set as a configuration object. Please note that this option only
  89273. * applies to the initial animation. For other animations, see chart.animation
  89274. * and the animation parameter under the API methods. The following properties
  89275. * are supported:
  89276. *
  89277. * - `defer`: The animation delay time in milliseconds.
  89278. */
  89279. export interface PlotSunburstLevelsDataLabelsAnimationOptions {
  89280. /**
  89281. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89282. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89283. * inherits defer time from the series.animation.defer.
  89284. */
  89285. defer?: number;
  89286. }
  89287. /**
  89288. * (Highcharts) Determines the width of the ring per level.
  89289. */
  89290. export interface PlotSunburstLevelSizeOptions {
  89291. /**
  89292. * (Highcharts) How to interpret `levelSize.value`.
  89293. *
  89294. * - `percentage` gives a width relative to result of outer radius minus
  89295. * inner radius.
  89296. *
  89297. * - `pixels` gives the ring a fixed width in pixels.
  89298. *
  89299. * - `weight` takes the remaining width after percentage and pixels, and
  89300. * distributes it accross all "weighted" levels. The value relative to the
  89301. * sum of all weights determines the width.
  89302. */
  89303. unit?: OptionsUnitValue;
  89304. /**
  89305. * (Highcharts) The value used for calculating the width of the ring. Its'
  89306. * affect is determined by `levelSize.unit`.
  89307. */
  89308. value?: number;
  89309. }
  89310. /**
  89311. * (Highcharts) Set options on specific levels. Takes precedence over series
  89312. * options, but not point options.
  89313. */
  89314. export interface PlotSunburstLevelsOptions {
  89315. /**
  89316. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  89317. * level.
  89318. */
  89319. borderColor?: ColorString;
  89320. /**
  89321. * (Highcharts) Can set a `borderDashStyle` on all points which lies on the
  89322. * same level.
  89323. */
  89324. borderDashStyle?: DashStyleValue;
  89325. /**
  89326. * (Highcharts) Can set a `borderWidth` on all points which lies on the same
  89327. * level.
  89328. */
  89329. borderWidth?: number;
  89330. /**
  89331. * (Highcharts) Can set a `color` on all points which lies on the same
  89332. * level.
  89333. */
  89334. color?: (ColorString|GradientColorObject|PatternObject);
  89335. /**
  89336. * (Highcharts) Can set a `colorVariation` on all points which lies on the
  89337. * same level.
  89338. */
  89339. colorVariation?: PlotSunburstLevelsColorVariationOptions;
  89340. /**
  89341. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
  89342. * points which lies on the same level.
  89343. */
  89344. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  89345. /**
  89346. * (Highcharts) Decides which level takes effect from the options set in the
  89347. * levels object.
  89348. */
  89349. level?: number;
  89350. /**
  89351. * (Highcharts) Can set a `levelSize` on all points which lies on the same
  89352. * level.
  89353. */
  89354. levelSize?: object;
  89355. /**
  89356. * (Highcharts) Can set a `rotation` on all points which lies on the same
  89357. * level.
  89358. */
  89359. rotation?: number;
  89360. /**
  89361. * (Highcharts) Can set a `rotationMode` on all points which lies on the
  89362. * same level.
  89363. */
  89364. rotationMode?: string;
  89365. }
  89366. /**
  89367. * (Highcharts) A Sunburst displays hierarchical data, where a level in the
  89368. * hierarchy is represented by a circle. The center represents the root node of
  89369. * the tree. The visualization bears a resemblance to both treemap and pie
  89370. * charts.
  89371. *
  89372. * In TypeScript the type option must always be set.
  89373. *
  89374. * Configuration options for the series are given in three levels:
  89375. *
  89376. * 1. Options for all series in a chart are defined in the plotOptions.series
  89377. * object.
  89378. *
  89379. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  89380. *
  89381. * 3. Options for one single series are given in the series instance array. (see
  89382. * online documentation for example)
  89383. */
  89384. export interface PlotSunburstOptions {
  89385. /**
  89386. * (Highcharts) Accessibility options for a series.
  89387. */
  89388. accessibility?: SeriesAccessibilityOptionsObject;
  89389. /**
  89390. * (Highcharts) Allow this series' points to be selected by clicking on the
  89391. * graphic (columns, point markers, pie slices, map areas etc).
  89392. *
  89393. * The selected points can be handled by point select and unselect events,
  89394. * or collectively by the getSelectedPoints function.
  89395. *
  89396. * And alternative way of selecting points is through dragging.
  89397. */
  89398. allowPointSelect?: boolean;
  89399. /**
  89400. * (Highcharts) When enabled the user can click on a point which is a parent
  89401. * and zoom in on its children.
  89402. */
  89403. allowTraversingTree?: boolean;
  89404. /**
  89405. * (Highcharts) Enable or disable the initial animation when a series is
  89406. * displayed. The animation can also be set as a configuration object.
  89407. * Please note that this option only applies to the initial animation of the
  89408. * series itself. For other animations, see chart.animation and the
  89409. * animation parameter under the API methods. The following properties are
  89410. * supported:
  89411. *
  89412. * - `defer`: The animation delay time in milliseconds.
  89413. *
  89414. * - `duration`: The duration of the animation in milliseconds.
  89415. *
  89416. * - `easing`: Can be a string reference to an easing function set on the
  89417. * `Math` object or a function. See the _Custom easing function_ demo below.
  89418. *
  89419. * Due to poor performance, animation is disabled in old IE browsers for
  89420. * several chart types.
  89421. */
  89422. animation?: (boolean|PlotSunburstAnimationOptions|Partial<AnimationOptionsObject>);
  89423. /**
  89424. * (Highcharts) The color of the border surrounding each slice. When `null`,
  89425. * the border takes the same color as the slice fill. This can be used
  89426. * together with a `borderWidth` to fill drawing gaps created by
  89427. * antialiazing artefacts in borderless pies.
  89428. *
  89429. * In styled mode, the border stroke is given in the `.highcharts-point`
  89430. * class.
  89431. */
  89432. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89433. /**
  89434. * (Highcharts) The width of the border surrounding each slice.
  89435. *
  89436. * When setting the border width to 0, there may be small gaps between the
  89437. * slices due to SVG antialiasing artefacts. To work around this, keep the
  89438. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  89439. *
  89440. * In styled mode, the border stroke width is given in the
  89441. * `.highcharts-point` class.
  89442. */
  89443. borderWidth?: number;
  89444. /**
  89445. * (Highcharts) The center of the sunburst chart relative to the plot area.
  89446. * Can be percentages or pixel values.
  89447. */
  89448. center?: Array<(number|string)>;
  89449. /**
  89450. * (Highcharts) An additional class name to apply to the series' graphical
  89451. * elements. This option does not replace default class names of the
  89452. * graphical element.
  89453. */
  89454. className?: string;
  89455. /**
  89456. * (Highcharts) The color of the pie series. A pie series is represented as
  89457. * an empty circle if the total sum of its values is 0. Use this property to
  89458. * define the color of its border.
  89459. *
  89460. * In styled mode, the color can be defined by the colorIndex option. Also,
  89461. * the series color can be set with the `.highcharts-series`,
  89462. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  89463. * `.highcharts-series-{n}` class, or individual classes given by the
  89464. * `className` option.
  89465. */
  89466. color?: (ColorString|GradientColorObject|PatternObject);
  89467. colorByPoint?: boolean;
  89468. /**
  89469. * (Highcharts) Styled mode only. A specific color index to use for the
  89470. * series, so its graphic representations are given the class name
  89471. * `highcharts-color-{n}`.
  89472. */
  89473. colorIndex?: number;
  89474. /**
  89475. * (Highcharts) A series specific or series type specific color set to use
  89476. * instead of the global colors.
  89477. */
  89478. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  89479. /**
  89480. * (Highstock) Defines if comparison should start from the first point
  89481. * within the visible range or should start from the first point **before**
  89482. * the range.
  89483. *
  89484. * In other words, this flag determines if first point within the visible
  89485. * range will have 0% (`compareStart=true`) or should have been already
  89486. * calculated according to the previous point (`compareStart=false`).
  89487. */
  89488. compareStart?: boolean;
  89489. /**
  89490. * (Gantt) Override Pathfinder connector options for a series. Requires
  89491. * Highcharts Gantt to be loaded.
  89492. */
  89493. connectors?: SeriesConnectorsOptionsObject;
  89494. /**
  89495. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  89496. * rounded to its nearest pixel in order to render sharp on screen. In some
  89497. * cases, when there are a lot of densely packed columns, this leads to
  89498. * visible difference in column widths or distance between columns. In these
  89499. * cases, setting `crisp` to `false` may look better, even though each
  89500. * column is rendered blurry.
  89501. */
  89502. crisp?: boolean;
  89503. /**
  89504. * (Highcharts) You can set the cursor to "pointer" if you have click events
  89505. * attached to the series, to signal to the user that the points and lines
  89506. * can be clicked.
  89507. *
  89508. * In styled mode, the series cursor can be set with the same classes as
  89509. * listed under series.color.
  89510. */
  89511. cursor?: (string|CursorValue);
  89512. /**
  89513. * (Highcharts) A reserved subspace to store options and values for
  89514. * customized functionality. Here you can add additional data for your own
  89515. * event callbacks and formatter callbacks.
  89516. */
  89517. custom?: Dictionary<any>;
  89518. /**
  89519. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  89520. * labels, appearing next to each data point.
  89521. *
  89522. * Since v6.2.0, multiple data labels can be applied to each single point by
  89523. * defining them as an array of configs.
  89524. *
  89525. * In styled mode, the data labels can be styled with the
  89526. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  89527. * (see example).
  89528. */
  89529. dataLabels?: (SeriesSunburstDataLabelsOptionsObject|Array<SeriesSunburstDataLabelsOptionsObject>);
  89530. /**
  89531. * (Highcharts) A description of the series to add to the screen reader
  89532. * information about the series.
  89533. */
  89534. description?: string;
  89535. /**
  89536. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  89537. * This includes point tooltips and click events on graphs and points. For
  89538. * large datasets it improves performance.
  89539. */
  89540. enableMouseTracking?: boolean;
  89541. /**
  89542. * (Highcharts) General event handlers for the series items. These event
  89543. * hooks can also be attached to the series at run time using the
  89544. * `Highcharts.addEvent` function.
  89545. */
  89546. events?: SeriesEventsOptionsObject;
  89547. /**
  89548. * (Highcharts) If the total sum of the pie's values is 0, the series is
  89549. * represented as an empty circle . The `fillColor` option defines the color
  89550. * of that circle. Use pie.borderWidth to set the border thickness.
  89551. */
  89552. fillColor?: (ColorString|GradientColorObject|PatternObject);
  89553. /**
  89554. * (Highcharts) When set to `false` will prevent the series data from being
  89555. * included in any form of data export.
  89556. *
  89557. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  89558. * `includeInCSVExport`.
  89559. */
  89560. includeInDataExport?: boolean;
  89561. /**
  89562. * (Highcharts) An array specifying which option maps to which key in the
  89563. * data point array. This makes it convenient to work with unstructured data
  89564. * arrays from different sources.
  89565. */
  89566. keys?: Array<string>;
  89567. /**
  89568. * (Highstock) The line marks the last price from all points.
  89569. */
  89570. lastPrice?: SeriesLastPriceOptionsObject;
  89571. /**
  89572. * (Highstock) The line marks the last price from visible range of points.
  89573. */
  89574. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  89575. /**
  89576. * (Highcharts) Used together with the levels and `allowDrillToNode`
  89577. * options. When set to false the first level visible when drilling is
  89578. * considered to be level one. Otherwise the level will be the same as the
  89579. * tree structure.
  89580. */
  89581. levelIsConstant?: boolean;
  89582. /**
  89583. * (Highcharts) Set options on specific levels. Takes precedence over series
  89584. * options, but not point options.
  89585. */
  89586. levels?: Array<PlotSunburstLevelsOptions>;
  89587. /**
  89588. * (Highcharts) Determines the width of the ring per level.
  89589. */
  89590. levelSize?: PlotSunburstLevelSizeOptions;
  89591. /**
  89592. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  89593. * Additionally, the value can be ":previous" to link to the previous
  89594. * series. When two series are linked, only the first one appears in the
  89595. * legend. Toggling the visibility of this also toggles the linked series.
  89596. *
  89597. * If master series uses data sorting and linked series does not have its
  89598. * own sorting definition, the linked series will be sorted in the same
  89599. * order as the master one.
  89600. */
  89601. linkedTo?: string;
  89602. /**
  89603. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  89604. * dataLabels.
  89605. */
  89606. opacity?: number;
  89607. /**
  89608. * (Highcharts) Properties for each single point.
  89609. */
  89610. point?: PlotSeriesPointOptions;
  89611. /**
  89612. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  89613. * an individual series. Overrides the chart wide configuration.
  89614. */
  89615. pointDescriptionFormatter?: Function;
  89616. /**
  89617. * (Highcharts) Which point to use as a root in the visualization.
  89618. */
  89619. rootId?: string;
  89620. /**
  89621. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  89622. * true, the checkbox next to the series name in the legend will be checked
  89623. * for a selected series.
  89624. */
  89625. selected?: boolean;
  89626. /**
  89627. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  89628. * the shadow can be an object configuration containing `color`, `offsetX`,
  89629. * `offsetY`, `opacity` and `width`.
  89630. */
  89631. shadow?: (boolean|ShadowOptionsObject);
  89632. /**
  89633. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  89634. * allow selecting the series. The state of the checkbox is determined by
  89635. * the `selected` option.
  89636. */
  89637. showCheckbox?: boolean;
  89638. /**
  89639. * (Highcharts) Whether to display this particular series or series type in
  89640. * the legend. Since 2.1, pies are not shown in the legend by default.
  89641. */
  89642. showInLegend?: boolean;
  89643. /**
  89644. * (Highstock) Whether or not to show the series in the navigator. Takes
  89645. * precedence over navigator.baseSeries if defined.
  89646. */
  89647. showInNavigator?: boolean;
  89648. /**
  89649. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  89650. * percentage or pixel value. Pixel values are given as integers. The
  89651. * default behaviour (as of 3.0) is to scale to the plot area and give room
  89652. * for data labels within the plot area. slicedOffset is also included in
  89653. * the default size calculation. As a consequence, the size of the pie may
  89654. * vary when points are updated and data labels more around. In that case it
  89655. * is best to set a fixed value, for example `"75%"`.
  89656. */
  89657. size?: (number|string|null);
  89658. /**
  89659. * (Highcharts) If set to `true`, the accessibility module will skip past
  89660. * the points in this series for keyboard navigation.
  89661. */
  89662. skipKeyboardNavigation?: boolean;
  89663. /**
  89664. * (Highcharts) If a point is sliced, moved out from the center, how many
  89665. * pixels should it be moved?.
  89666. */
  89667. slicedOffset?: number;
  89668. /**
  89669. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  89670. * and 90 right.
  89671. */
  89672. startAngle?: number;
  89673. states?: SeriesStatesOptionsObject;
  89674. /**
  89675. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  89676. * event on a series isn't triggered until the mouse moves over another
  89677. * series, or out of the plot area. When false, the `mouseOut` event on a
  89678. * series is triggered when the mouse leaves the area around the series'
  89679. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  89680. * false and `tooltip.shared` is false, the tooltip will be hidden when
  89681. * moving the mouse between series.
  89682. */
  89683. stickyTracking?: boolean;
  89684. /**
  89685. * (Highcharts) A configuration object for the tooltip rendering of each
  89686. * single series. Properties are inherited from tooltip, but only the
  89687. * following properties can be defined on a series level.
  89688. */
  89689. tooltip?: SeriesTooltipOptionsObject;
  89690. /**
  89691. * (Highcharts) Options for the button appearing when traversing down in a
  89692. * treemap.
  89693. */
  89694. traverseUpButton?: PlotSunburstTraverseUpButtonOptions;
  89695. /**
  89696. * (Highstock) The parameter allows setting line series type and use OHLC
  89697. * indicators. Data in OHLC format is required.
  89698. */
  89699. useOhlcData?: boolean;
  89700. /**
  89701. * (Highcharts) Set the initial visibility of the series.
  89702. */
  89703. visible?: boolean;
  89704. /**
  89705. * (Highmaps) Define the z index of the series.
  89706. */
  89707. zIndex?: number;
  89708. }
  89709. /**
  89710. * (Highcharts) Options for the button appearing when traversing down in a
  89711. * treemap.
  89712. */
  89713. export interface PlotSunburstTraverseUpButtonOptions {
  89714. /**
  89715. * (Highcharts) The position of the button.
  89716. */
  89717. position?: PlotSunburstTraverseUpButtonPositionOptions;
  89718. }
  89719. /**
  89720. * (Highcharts) The position of the button.
  89721. */
  89722. export interface PlotSunburstTraverseUpButtonPositionOptions {
  89723. /**
  89724. * (Highcharts) Horizontal alignment of the button.
  89725. */
  89726. align?: AlignValue;
  89727. /**
  89728. * (Highcharts) Vertical alignment of the button.
  89729. */
  89730. verticalAlign?: VerticalAlignValue;
  89731. /**
  89732. * (Highcharts) Horizontal offset of the button.
  89733. */
  89734. x?: number;
  89735. /**
  89736. * (Highcharts) Vertical offset of the button.
  89737. */
  89738. y?: number;
  89739. }
  89740. /**
  89741. * (Highstock) Enable or disable the initial animation when a series is
  89742. * displayed. The animation can also be set as a configuration object. Please
  89743. * note that this option only applies to the initial animation of the series
  89744. * itself. For other animations, see chart.animation and the animation parameter
  89745. * under the API methods. The following properties are supported:
  89746. *
  89747. * - `defer`: The animation delay time in milliseconds.
  89748. *
  89749. * - `duration`: The duration of the animation in milliseconds.
  89750. *
  89751. * - `easing`: Can be a string reference to an easing function set on the `Math`
  89752. * object or a function. See the _Custom easing function_ demo below.
  89753. *
  89754. * Due to poor performance, animation is disabled in old IE browsers for several
  89755. * chart types.
  89756. */
  89757. export interface PlotSupertrendAnimationOptions {
  89758. defer?: number;
  89759. }
  89760. /**
  89761. * (Highstock) The styles for the Supertrend line that intersect main series.
  89762. */
  89763. export interface PlotSupertrendChangeTrendLineOptions {
  89764. styles?: PlotSupertrendChangeTrendLineStylesOptions;
  89765. }
  89766. export interface PlotSupertrendChangeTrendLineStylesOptions {
  89767. /**
  89768. * (Highstock) The dash or dot style of the grid lines. For possible values,
  89769. * see this demonstration.
  89770. */
  89771. dashStyle?: DashStyleValue;
  89772. /**
  89773. * (Highstock) Color of the line.
  89774. */
  89775. lineColor?: ColorString;
  89776. /**
  89777. * (Highstock) Pixel width of the line.
  89778. */
  89779. lineWidth?: number;
  89780. }
  89781. /**
  89782. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89783. * animation when a series is displayed for the `dataLabels`. The animation can
  89784. * also be set as a configuration object. Please note that this option only
  89785. * applies to the initial animation. For other animations, see chart.animation
  89786. * and the animation parameter under the API methods. The following properties
  89787. * are supported:
  89788. *
  89789. * - `defer`: The animation delay time in milliseconds.
  89790. */
  89791. export interface PlotSupertrendDataLabelsAnimationOptions {
  89792. /**
  89793. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  89794. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  89795. * inherits defer time from the series.animation.defer.
  89796. */
  89797. defer?: number;
  89798. }
  89799. /**
  89800. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  89801. * appearing next to each data point.
  89802. *
  89803. * Since v6.2.0, multiple data labels can be applied to each single point by
  89804. * defining them as an array of configs.
  89805. *
  89806. * In styled mode, the data labels can be styled with the
  89807. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  89808. * example).
  89809. */
  89810. export interface PlotSupertrendDataLabelsOptions {
  89811. /**
  89812. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  89813. * compared to the point. If `right`, the right side of the label should be
  89814. * touching the point. For points with an extent, like columns, the
  89815. * alignments also dictates how to align it inside the box, as given with
  89816. * the inside option. Can be one of `left`, `center` or `right`.
  89817. */
  89818. align?: (AlignValue|null);
  89819. /**
  89820. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  89821. * overlap. To make the labels less sensitive for overlapping, the
  89822. * dataLabels.padding can be set to 0.
  89823. */
  89824. allowOverlap?: boolean;
  89825. /**
  89826. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  89827. * animation when a series is displayed for the `dataLabels`. The animation
  89828. * can also be set as a configuration object. Please note that this option
  89829. * only applies to the initial animation. For other animations, see
  89830. * chart.animation and the animation parameter under the API methods. The
  89831. * following properties are supported:
  89832. *
  89833. * - `defer`: The animation delay time in milliseconds.
  89834. */
  89835. animation?: (boolean|PlotSupertrendDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  89836. /**
  89837. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  89838. * for the data label.
  89839. */
  89840. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  89841. /**
  89842. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  89843. * label. Defaults to `undefined`.
  89844. */
  89845. borderColor?: (ColorString|GradientColorObject|PatternObject);
  89846. /**
  89847. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  89848. * the data label.
  89849. */
  89850. borderRadius?: number;
  89851. /**
  89852. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  89853. * the data label.
  89854. */
  89855. borderWidth?: number;
  89856. /**
  89857. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  89858. * Particularly in styled mode, this can be used to give each series' or
  89859. * point's data label unique styling. In addition to this option, a default
  89860. * color class name is added so that we can give the labels a contrast text
  89861. * shadow.
  89862. */
  89863. className?: string;
  89864. /**
  89865. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  89866. * labels. Defaults to `undefined`. For certain series types, like column or
  89867. * map, the data labels can be drawn inside the points. In this case the
  89868. * data label will be drawn with maximum contrast by default. Additionally,
  89869. * it will be given a `text-outline` style with the opposite color, to
  89870. * further increase the contrast. This can be overridden by setting the
  89871. * `text-outline` style to `none` in the `dataLabels.style` option.
  89872. */
  89873. color?: (ColorString|GradientColorObject|PatternObject);
  89874. /**
  89875. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  89876. * are outside the plot area. By default, the data label is moved inside the
  89877. * plot area according to the overflow option.
  89878. */
  89879. crop?: boolean;
  89880. /**
  89881. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  89882. * labels until the initial series animation has finished. Setting to
  89883. * `false` renders the data label immediately. If set to `true` inherits the
  89884. * defer time set in plotOptions.series.animation. If set to a number, a
  89885. * defer time is specified in milliseconds.
  89886. */
  89887. defer?: (boolean|number);
  89888. /**
  89889. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  89890. * labels.
  89891. */
  89892. enabled?: boolean;
  89893. /**
  89894. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  89895. * of which data labels to display. The declarative filter is designed for
  89896. * use when callback functions are not available, like when the chart
  89897. * options require a pure JSON structure or for use with graphical editors.
  89898. * For programmatic control, use the `formatter` instead, and return
  89899. * `undefined` to disable a single data label.
  89900. */
  89901. filter?: DataLabelsFilterOptionsObject;
  89902. /**
  89903. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  89904. * label. Available variables are the same as for `formatter`.
  89905. */
  89906. format?: string;
  89907. /**
  89908. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  89909. * format the data label. Note that if a `format` is defined, the format
  89910. * takes precedence and the formatter is ignored.
  89911. */
  89912. formatter?: DataLabelsFormatterCallbackFunction;
  89913. /**
  89914. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  89915. * columns or map areas, whether to align the data label inside the box or
  89916. * to the actual value point. Defaults to `false` in most cases, `true` in
  89917. * stacked columns.
  89918. */
  89919. inside?: boolean;
  89920. /**
  89921. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  89922. * of null. Works analogously to format. `nullFormat` can be applied only to
  89923. * series which support displaying null points.
  89924. */
  89925. nullFormat?: (boolean|string);
  89926. /**
  89927. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  89928. * that defines formatting for points with the value of null. Works
  89929. * analogously to formatter. `nullPointFormatter` can be applied only to
  89930. * series which support displaying null points.
  89931. */
  89932. nullFormatter?: DataLabelsFormatterCallbackFunction;
  89933. /**
  89934. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  89935. * flow outside the plot area. The default is `"justify"`, which aligns them
  89936. * inside the plot area. For columns and bars, this means it will be moved
  89937. * inside the bar. To display data labels outside the plot area, set `crop`
  89938. * to `false` and `overflow` to `"allow"`.
  89939. */
  89940. overflow?: DataLabelsOverflowValue;
  89941. /**
  89942. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  89943. * the `backgroundColor` is set, this is the padding within the box.
  89944. */
  89945. padding?: number;
  89946. /**
  89947. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  89948. * points. If `center` alignment is not possible, it defaults to `right`.
  89949. */
  89950. position?: AlignValue;
  89951. /**
  89952. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  89953. * that due to a more complex structure, backgrounds, borders and padding
  89954. * will be lost on a rotated data label.
  89955. */
  89956. rotation?: number;
  89957. /**
  89958. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  89959. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  89960. * an object configuration containing `color`, `offsetX`, `offsetY`,
  89961. * `opacity` and `width`.
  89962. */
  89963. shadow?: (boolean|ShadowOptionsObject);
  89964. /**
  89965. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  89966. * the border around the label. Symbols are predefined functions on the
  89967. * Renderer object.
  89968. */
  89969. shape?: string;
  89970. /**
  89971. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  89972. * default `color` setting is `"contrast"`, which is a pseudo color that
  89973. * Highcharts picks up and applies the maximum contrast to the underlying
  89974. * point item, for example the bar in a bar chart.
  89975. *
  89976. * The `textOutline` is a pseudo property that applies an outline of the
  89977. * given width with the given color, which by default is the maximum
  89978. * contrast to the text. So a bright text color will result in a black text
  89979. * outline for maximum readability on a mixed background. In some cases,
  89980. * especially with grayscale text, the text outline doesn't work well, in
  89981. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  89982. * is true, the `textOutline` will not be picked up. In this, case, the same
  89983. * effect can be acheived through the `text-shadow` CSS property.
  89984. *
  89985. * For some series types, where each point has an extent, like for example
  89986. * tree maps, the data label may overflow the point. There are two
  89987. * strategies for handling overflow. By default, the text will wrap to
  89988. * multiple lines. The other strategy is to set `style.textOverflow` to
  89989. * `ellipsis`, which will keep the text on one line plus it will break
  89990. * inside long words.
  89991. */
  89992. style?: CSSObject;
  89993. /**
  89994. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  89995. * should follow marker's shape. Border and background are disabled for a
  89996. * label that follows a path.
  89997. *
  89998. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  89999. * to true will disable this option.
  90000. */
  90001. textPath?: DataLabelsTextPathOptionsObject;
  90002. /**
  90003. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  90004. * the labels.
  90005. */
  90006. useHTML?: boolean;
  90007. /**
  90008. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  90009. * label. Can be one of `top`, `middle` or `bottom`. The default value
  90010. * depends on the data, for instance in a column chart, the label is above
  90011. * positive values and below negative values.
  90012. */
  90013. verticalAlign?: (VerticalAlignValue|null);
  90014. /**
  90015. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  90016. * label relative to the point in pixels.
  90017. */
  90018. x?: number;
  90019. /**
  90020. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  90021. * label relative to the point in pixels.
  90022. */
  90023. y?: number;
  90024. /**
  90025. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  90026. * The default Z index puts it above the series. Use a Z index of 2 to
  90027. * display it behind the series.
  90028. */
  90029. z?: number;
  90030. }
  90031. /**
  90032. * (Highcharts, Highstock) Options for the series data sorting.
  90033. */
  90034. export interface PlotSupertrendDataSortingOptions {
  90035. /**
  90036. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  90037. * Use xAxis.reversed to change the sorting order.
  90038. */
  90039. enabled?: boolean;
  90040. /**
  90041. * (Highcharts, Highstock) Whether to allow matching points by name in an
  90042. * update. If this option is disabled, points will be matched by order.
  90043. */
  90044. matchByName?: boolean;
  90045. /**
  90046. * (Highcharts, Highstock) Determines what data value should be used to sort
  90047. * by.
  90048. */
  90049. sortKey?: string;
  90050. }
  90051. /**
  90052. * (Highstock) Supertrend indicator. This series requires the `linkedTo` option
  90053. * to be set and should be loaded after the `stock/indicators/indicators.js` and
  90054. * `stock/indicators/sma.js`.
  90055. *
  90056. * In TypeScript the type option must always be set.
  90057. *
  90058. * Configuration options for the series are given in three levels:
  90059. *
  90060. * 1. Options for all series in a chart are defined in the plotOptions.series
  90061. * object.
  90062. *
  90063. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  90064. *
  90065. * 3. Options for one single series are given in the series instance array. (see
  90066. * online documentation for example)
  90067. */
  90068. export interface PlotSupertrendOptions {
  90069. /**
  90070. * (Highstock) Accessibility options for a series.
  90071. */
  90072. accessibility?: SeriesAccessibilityOptionsObject;
  90073. /**
  90074. * (Highstock) Allow this series' points to be selected by clicking on the
  90075. * graphic (columns, point markers, pie slices, map areas etc).
  90076. *
  90077. * The selected points can be handled by point select and unselect events,
  90078. * or collectively by the getSelectedPoints function.
  90079. *
  90080. * And alternative way of selecting points is through dragging.
  90081. */
  90082. allowPointSelect?: boolean;
  90083. /**
  90084. * (Highstock) Enable or disable the initial animation when a series is
  90085. * displayed. The animation can also be set as a configuration object.
  90086. * Please note that this option only applies to the initial animation of the
  90087. * series itself. For other animations, see chart.animation and the
  90088. * animation parameter under the API methods. The following properties are
  90089. * supported:
  90090. *
  90091. * - `defer`: The animation delay time in milliseconds.
  90092. *
  90093. * - `duration`: The duration of the animation in milliseconds.
  90094. *
  90095. * - `easing`: Can be a string reference to an easing function set on the
  90096. * `Math` object or a function. See the _Custom easing function_ demo below.
  90097. *
  90098. * Due to poor performance, animation is disabled in old IE browsers for
  90099. * several chart types.
  90100. */
  90101. animation?: (boolean|PlotSupertrendAnimationOptions|Partial<AnimationOptionsObject>);
  90102. /**
  90103. * (Highstock) For some series, there is a limit that shuts down initial
  90104. * animation by default when the total number of points in the chart is too
  90105. * high. For example, for a column chart and its derivatives, animation does
  90106. * not run if there is more than 250 points totally. To disable this cap,
  90107. * set `animationLimit` to `Infinity`.
  90108. */
  90109. animationLimit?: number;
  90110. /**
  90111. * (Highstock) Sets the color blending in the boost module.
  90112. */
  90113. boostBlending?: OptionsBoostBlendingValue;
  90114. /**
  90115. * (Highstock) Set the point threshold for when a series should enter boost
  90116. * mode.
  90117. *
  90118. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  90119. * there are 2000 or more points in the series.
  90120. *
  90121. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  90122. * it to 1 will force boosting.
  90123. *
  90124. * Note that the cropThreshold also affects this setting. When zooming in on
  90125. * a series that has fewer points than the `cropThreshold`, all points are
  90126. * rendered although outside the visible plot area, and the `boostThreshold`
  90127. * won't take effect.
  90128. */
  90129. boostThreshold?: number;
  90130. /**
  90131. * (Highmaps) The border color of the map areas.
  90132. *
  90133. * In styled mode, the border stroke is given in the `.highcharts-point`
  90134. * class.
  90135. */
  90136. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90137. /**
  90138. * (Highmaps) The border width of each map area.
  90139. *
  90140. * In styled mode, the border stroke width is given in the
  90141. * `.highcharts-point` class.
  90142. */
  90143. borderWidth?: number;
  90144. /**
  90145. * (Highstock) The styles for the Supertrend line that intersect main
  90146. * series.
  90147. */
  90148. changeTrendLine?: PlotSupertrendChangeTrendLineOptions;
  90149. /**
  90150. * (Highstock) An additional class name to apply to the series' graphical
  90151. * elements. This option does not replace default class names of the
  90152. * graphical element.
  90153. */
  90154. className?: string;
  90155. /**
  90156. * (Highstock) Disable this option to allow series rendering in the whole
  90157. * plotting area.
  90158. *
  90159. * **Note:** Clipping should be always enabled when chart.zoomType is set
  90160. */
  90161. clip?: boolean;
  90162. /**
  90163. * (Highstock) The main color of the series. In line type series it applies
  90164. * to the line and the point markers unless otherwise specified. In bar type
  90165. * series it applies to the bars unless a color is specified per point. The
  90166. * default value is pulled from the `options.colors` array.
  90167. *
  90168. * In styled mode, the color can be defined by the colorIndex option. Also,
  90169. * the series color can be set with the `.highcharts-series`,
  90170. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  90171. * `.highcharts-series-{n}` class, or individual classes given by the
  90172. * `className` option.
  90173. */
  90174. color?: (ColorString|GradientColorObject|PatternObject);
  90175. /**
  90176. * (Highstock) Styled mode only. A specific color index to use for the
  90177. * series, so its graphic representations are given the class name
  90178. * `highcharts-color-{n}`.
  90179. */
  90180. colorIndex?: number;
  90181. /**
  90182. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  90183. * used to calculate point color if `colorAxis` is used. Requires to set
  90184. * `min` and `max` if some custom point property is used or if approximation
  90185. * for data grouping is set to `'sum'`.
  90186. */
  90187. colorKey?: string;
  90188. /**
  90189. * (Highstock) Compare the values of the series against the first non-null,
  90190. * non- zero value in the visible range. The y axis will show percentage or
  90191. * absolute change depending on whether `compare` is set to `"percent"` or
  90192. * `"value"`. When this is applied to multiple series, it allows comparing
  90193. * the development of the series against each other. Adds a `change` field
  90194. * to every point object.
  90195. */
  90196. compare?: string;
  90197. /**
  90198. * (Highstock) When compare is `percent`, this option dictates whether to
  90199. * use 0 or 100 as the base of comparison.
  90200. */
  90201. compareBase?: (0|100);
  90202. /**
  90203. * (Highstock) Defines if comparison should start from the first point
  90204. * within the visible range or should start from the first point **before**
  90205. * the range.
  90206. *
  90207. * In other words, this flag determines if first point within the visible
  90208. * range will have 0% (`compareStart=true`) or should have been already
  90209. * calculated according to the previous point (`compareStart=false`).
  90210. */
  90211. compareStart?: boolean;
  90212. /**
  90213. * (Highstock) Whether to compare indicator to the main series values or
  90214. * indicator values.
  90215. */
  90216. compareToMain?: boolean;
  90217. /**
  90218. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  90219. * series plot across the extremes.
  90220. */
  90221. connectEnds?: boolean;
  90222. /**
  90223. * (Highcharts, Highstock) Whether to connect a graph line across null
  90224. * points, or render a gap between the two points on either side of the
  90225. * null.
  90226. */
  90227. connectNulls?: boolean;
  90228. /**
  90229. * (Gantt) Override Pathfinder connector options for a series. Requires
  90230. * Highcharts Gantt to be loaded.
  90231. */
  90232. connectors?: SeriesConnectorsOptionsObject;
  90233. /**
  90234. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  90235. * rounded to its nearest pixel in order to render sharp on screen. In some
  90236. * cases, when there are a lot of densely packed columns, this leads to
  90237. * visible difference in column widths or distance between columns. In these
  90238. * cases, setting `crisp` to `false` may look better, even though each
  90239. * column is rendered blurry.
  90240. */
  90241. crisp?: boolean;
  90242. /**
  90243. * (Highstock) You can set the cursor to "pointer" if you have click events
  90244. * attached to the series, to signal to the user that the points and lines
  90245. * can be clicked.
  90246. *
  90247. * In styled mode, the series cursor can be set with the same classes as
  90248. * listed under series.color.
  90249. */
  90250. cursor?: (string|CursorValue);
  90251. /**
  90252. * (Highstock) A reserved subspace to store options and values for
  90253. * customized functionality. Here you can add additional data for your own
  90254. * event callbacks and formatter callbacks.
  90255. */
  90256. custom?: Dictionary<any>;
  90257. /**
  90258. * (Highstock) Name of the dash style to use for the graph, or for some
  90259. * series types the outline of each shape.
  90260. *
  90261. * In styled mode, the stroke dash-array can be set with the same classes as
  90262. * listed under series.color.
  90263. */
  90264. dashStyle?: DashStyleValue;
  90265. /**
  90266. * (Highstock) Data grouping is the concept of sampling the data values into
  90267. * larger blocks in order to ease readability and increase performance of
  90268. * the JavaScript charts. Highcharts Stock by default applies data grouping
  90269. * when the points become closer than a certain pixel value, determined by
  90270. * the `groupPixelWidth` option.
  90271. *
  90272. * If data grouping is applied, the grouping information of grouped points
  90273. * can be read from the Point.dataGroup. If point options other than the
  90274. * data itself are set, for example `name` or `color` or custom properties,
  90275. * the grouping logic doesn't know how to group it. In this case the options
  90276. * of the first point instance are copied over to the group point. This can
  90277. * be altered through a custom `approximation` callback function.
  90278. */
  90279. dataGrouping?: DataGroupingOptionsObject;
  90280. /**
  90281. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  90282. * labels, appearing next to each data point.
  90283. *
  90284. * Since v6.2.0, multiple data labels can be applied to each single point by
  90285. * defining them as an array of configs.
  90286. *
  90287. * In styled mode, the data labels can be styled with the
  90288. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  90289. * (see example).
  90290. */
  90291. dataLabels?: (PlotSupertrendDataLabelsOptions|Array<PlotSupertrendDataLabelsOptions>);
  90292. /**
  90293. * (Highcharts, Highstock) Options for the series data sorting.
  90294. */
  90295. dataSorting?: (DataSortingOptionsObject|PlotSupertrendDataSortingOptions);
  90296. /**
  90297. * (Highstock) A description of the series to add to the screen reader
  90298. * information about the series.
  90299. */
  90300. description?: string;
  90301. /**
  90302. * (Highstock) Enable or disable the mouse tracking for a specific series.
  90303. * This includes point tooltips and click events on graphs and points. For
  90304. * large datasets it improves performance.
  90305. */
  90306. enableMouseTracking?: boolean;
  90307. /**
  90308. * (Highstock) General event handlers for the series items. These event
  90309. * hooks can also be attached to the series at run time using the
  90310. * `Highcharts.addEvent` function.
  90311. */
  90312. events?: SeriesEventsOptionsObject;
  90313. /**
  90314. * (Highstock) Color of the Supertrend series line that is above the main
  90315. * series.
  90316. */
  90317. fallingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  90318. /**
  90319. * (Highstock) Determines whether the series should look for the nearest
  90320. * point in both dimensions or just the x-dimension when hovering the
  90321. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  90322. * series. If the data has duplicate x-values, it is recommended to set this
  90323. * to `'xy'` to allow hovering over all points.
  90324. *
  90325. * Applies only to series types using nearest neighbor search (not direct
  90326. * hover) for tooltip.
  90327. */
  90328. findNearestPointBy?: OptionsFindNearestPointByValue;
  90329. /**
  90330. * (Highstock) Defines when to display a gap in the graph, together with the
  90331. * gapUnit option.
  90332. *
  90333. * In case when `dataGrouping` is enabled, points can be grouped into a
  90334. * larger time span. This can make the grouped points to have a greater
  90335. * distance than the absolute value of `gapSize` property, which will result
  90336. * in disappearing graph completely. To prevent this situation the mentioned
  90337. * distance between grouped points is used instead of previously defined
  90338. * `gapSize`.
  90339. *
  90340. * In practice, this option is most often used to visualize gaps in time
  90341. * series. In a stock chart, intraday data is available for daytime hours,
  90342. * while gaps will appear in nights and weekends.
  90343. */
  90344. gapSize?: number;
  90345. /**
  90346. * (Highstock) Together with gapSize, this option defines where to draw gaps
  90347. * in the graph.
  90348. *
  90349. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  90350. * if the distance between two points is greater than 5 times that of the
  90351. * two closest points, the graph will be broken.
  90352. *
  90353. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  90354. * values, which on a datetime axis is milliseconds. This also applies to
  90355. * the navigator series that inherits gap options from the base series.
  90356. */
  90357. gapUnit?: OptionsGapUnitValue;
  90358. /**
  90359. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  90360. * chart width or only the zoomed area when zooming in on parts of the X
  90361. * axis. By default, the Y axis adjusts to the min and max of the visible
  90362. * data. Cartesian series only.
  90363. */
  90364. getExtremesFromAll?: boolean;
  90365. /**
  90366. * (Highstock) When set to `false` will prevent the series data from being
  90367. * included in any form of data export.
  90368. *
  90369. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  90370. * `includeInCSVExport`.
  90371. */
  90372. includeInDataExport?: boolean;
  90373. /**
  90374. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  90375. * series as possible in a natural way, seeking to avoid other series. The
  90376. * goal of this feature is to make the chart more easily readable, like if a
  90377. * human designer placed the labels in the optimal position.
  90378. *
  90379. * The series labels currently work with series types having a `graph` or an
  90380. * `area`.
  90381. */
  90382. label?: SeriesLabelOptionsObject;
  90383. /**
  90384. * (Highstock) The line marks the last price from all points.
  90385. */
  90386. lastPrice?: SeriesLastPriceOptionsObject;
  90387. /**
  90388. * (Highstock) The line marks the last price from visible range of points.
  90389. */
  90390. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  90391. /**
  90392. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  90393. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  90394. * the ends and bends.
  90395. */
  90396. linecap?: SeriesLinecapValue;
  90397. /**
  90398. * (Highcharts, Highstock) Pixel width of the graph line.
  90399. */
  90400. lineWidth?: number;
  90401. /**
  90402. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  90403. * based on. Required for this indicator.
  90404. */
  90405. linkedTo?: string;
  90406. /**
  90407. * (Highstock) Options for the point markers of line-like series. Properties
  90408. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  90409. * appearance of the markers. Other series types, like column series, don't
  90410. * have markers, but have visual options on the series level instead.
  90411. *
  90412. * In styled mode, the markers can be styled with the `.highcharts-point`,
  90413. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  90414. */
  90415. marker?: PointMarkerOptionsObject;
  90416. /**
  90417. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  90418. * If not set, it will be based on a technical indicator type and default
  90419. * params.
  90420. */
  90421. name?: string;
  90422. /**
  90423. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  90424. * dataLabels.
  90425. */
  90426. opacity?: number;
  90427. /**
  90428. * (Highstock) Paramters used in calculation of Supertrend indicator series
  90429. * points.
  90430. */
  90431. params?: PlotSupertrendParamsOptions;
  90432. /**
  90433. * (Highstock) Properties for each single point.
  90434. */
  90435. point?: PlotSeriesPointOptions;
  90436. /**
  90437. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  90438. * individual series. Overrides the chart wide configuration.
  90439. */
  90440. pointDescriptionFormatter?: Function;
  90441. /**
  90442. * (Highstock) Color of the Supertrend series line that is beneath the main
  90443. * series.
  90444. */
  90445. risingTrendColor?: (ColorString|GradientColorObject|PatternObject);
  90446. /**
  90447. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  90448. * true, the checkbox next to the series name in the legend will be checked
  90449. * for a selected series.
  90450. */
  90451. selected?: boolean;
  90452. /**
  90453. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  90454. * the shadow can be an object configuration containing `color`, `offsetX`,
  90455. * `offsetY`, `opacity` and `width`.
  90456. */
  90457. shadow?: (boolean|ShadowOptionsObject);
  90458. /**
  90459. * (Highstock) If true, a checkbox is displayed next to the legend item to
  90460. * allow selecting the series. The state of the checkbox is determined by
  90461. * the `selected` option.
  90462. */
  90463. showCheckbox?: boolean;
  90464. /**
  90465. * (Highstock) Whether to display this particular series or series type in
  90466. * the legend. Standalone series are shown in legend by default, and linked
  90467. * series are not. Since v7.2.0 it is possible to show series that use
  90468. * colorAxis by setting this option to `true`.
  90469. */
  90470. showInLegend?: boolean;
  90471. /**
  90472. * (Highstock) If set to `true`, the accessibility module will skip past the
  90473. * points in this series for keyboard navigation.
  90474. */
  90475. skipKeyboardNavigation?: boolean;
  90476. /**
  90477. * (Highcharts, Highstock) When this is true, the series will not cause the
  90478. * Y axis to cross the zero plane (or threshold option) unless the data
  90479. * actually crosses the plane.
  90480. *
  90481. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  90482. * make the Y axis show negative values according to the `minPadding`
  90483. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  90484. */
  90485. softThreshold?: boolean;
  90486. states?: SeriesStatesOptionsObject;
  90487. /**
  90488. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  90489. * values are `left`, `center` and `right`.
  90490. */
  90491. step?: OptionsStepValue;
  90492. /**
  90493. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  90494. * event on a series isn't triggered until the mouse moves over another
  90495. * series, or out of the plot area. When false, the `mouseOut` event on a
  90496. * series is triggered when the mouse leaves the area around the series'
  90497. * graph or markers. This also implies the tooltip when not shared. When
  90498. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  90499. * be hidden when moving the mouse between series. Defaults to true for line
  90500. * and area type series, but to false for columns, pies etc.
  90501. *
  90502. * **Note:** The boost module will force this option because of technical
  90503. * limitations.
  90504. */
  90505. stickyTracking?: boolean;
  90506. /**
  90507. * (Highstock) A configuration object for the tooltip rendering of each
  90508. * single series. Properties are inherited from tooltip, but only the
  90509. * following properties can be defined on a series level.
  90510. */
  90511. tooltip?: SeriesTooltipOptionsObject;
  90512. /**
  90513. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  90514. * is longer than this, only one dimensional arrays of numbers, or two
  90515. * dimensional arrays with x and y values are allowed. Also, only the first
  90516. * point is tested, and the rest are assumed to be the same format. This
  90517. * saves expensive data checking and indexing in long series. Set it to `0`
  90518. * disable.
  90519. *
  90520. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  90521. * two dimensional arrays are allowed.
  90522. */
  90523. turboThreshold?: number;
  90524. /**
  90525. * (Highstock) Set the initial visibility of the series.
  90526. */
  90527. visible?: boolean;
  90528. /**
  90529. * (Highmaps) Define the z index of the series.
  90530. */
  90531. zIndex?: number;
  90532. /**
  90533. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  90534. */
  90535. zoneAxis?: string;
  90536. /**
  90537. * (Highcharts, Highstock) An array defining zones within a series. Zones
  90538. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  90539. * the `zoneAxis` option. The zone definitions have to be in ascending order
  90540. * regarding to the value.
  90541. *
  90542. * In styled mode, the color zones are styled with the
  90543. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  90544. * option (view live demo).
  90545. */
  90546. zones?: Array<SeriesZonesOptionsObject>;
  90547. }
  90548. /**
  90549. * (Highstock) Paramters used in calculation of Supertrend indicator series
  90550. * points.
  90551. */
  90552. export interface PlotSupertrendParamsOptions {
  90553. index?: string;
  90554. /**
  90555. * (Highstock) Multiplier for Supertrend Indicator.
  90556. */
  90557. multiplier?: number;
  90558. /**
  90559. * (Highstock) The base period for indicator Supertrend Indicator
  90560. * calculations. This is the number of data points which are taken into
  90561. * account for the indicator calculations.
  90562. */
  90563. period?: number;
  90564. }
  90565. /**
  90566. * (Highstock) Enable or disable the initial animation when a series is
  90567. * displayed. The animation can also be set as a configuration object. Please
  90568. * note that this option only applies to the initial animation of the series
  90569. * itself. For other animations, see chart.animation and the animation parameter
  90570. * under the API methods. The following properties are supported:
  90571. *
  90572. * - `defer`: The animation delay time in milliseconds.
  90573. *
  90574. * - `duration`: The duration of the animation in milliseconds.
  90575. *
  90576. * - `easing`: Can be a string reference to an easing function set on the `Math`
  90577. * object or a function. See the _Custom easing function_ demo below.
  90578. *
  90579. * Due to poor performance, animation is disabled in old IE browsers for several
  90580. * chart types.
  90581. */
  90582. export interface PlotTemaAnimationOptions {
  90583. defer?: number;
  90584. }
  90585. /**
  90586. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90587. * animation when a series is displayed for the `dataLabels`. The animation can
  90588. * also be set as a configuration object. Please note that this option only
  90589. * applies to the initial animation. For other animations, see chart.animation
  90590. * and the animation parameter under the API methods. The following properties
  90591. * are supported:
  90592. *
  90593. * - `defer`: The animation delay time in milliseconds.
  90594. */
  90595. export interface PlotTemaDataLabelsAnimationOptions {
  90596. /**
  90597. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  90598. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  90599. * inherits defer time from the series.animation.defer.
  90600. */
  90601. defer?: number;
  90602. }
  90603. /**
  90604. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  90605. * appearing next to each data point.
  90606. *
  90607. * Since v6.2.0, multiple data labels can be applied to each single point by
  90608. * defining them as an array of configs.
  90609. *
  90610. * In styled mode, the data labels can be styled with the
  90611. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  90612. * example).
  90613. */
  90614. export interface PlotTemaDataLabelsOptions {
  90615. /**
  90616. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  90617. * compared to the point. If `right`, the right side of the label should be
  90618. * touching the point. For points with an extent, like columns, the
  90619. * alignments also dictates how to align it inside the box, as given with
  90620. * the inside option. Can be one of `left`, `center` or `right`.
  90621. */
  90622. align?: (AlignValue|null);
  90623. /**
  90624. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  90625. * overlap. To make the labels less sensitive for overlapping, the
  90626. * dataLabels.padding can be set to 0.
  90627. */
  90628. allowOverlap?: boolean;
  90629. /**
  90630. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  90631. * animation when a series is displayed for the `dataLabels`. The animation
  90632. * can also be set as a configuration object. Please note that this option
  90633. * only applies to the initial animation. For other animations, see
  90634. * chart.animation and the animation parameter under the API methods. The
  90635. * following properties are supported:
  90636. *
  90637. * - `defer`: The animation delay time in milliseconds.
  90638. */
  90639. animation?: (boolean|PlotTemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  90640. /**
  90641. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  90642. * for the data label.
  90643. */
  90644. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  90645. /**
  90646. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  90647. * label. Defaults to `undefined`.
  90648. */
  90649. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90650. /**
  90651. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  90652. * the data label.
  90653. */
  90654. borderRadius?: number;
  90655. /**
  90656. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  90657. * the data label.
  90658. */
  90659. borderWidth?: number;
  90660. /**
  90661. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  90662. * Particularly in styled mode, this can be used to give each series' or
  90663. * point's data label unique styling. In addition to this option, a default
  90664. * color class name is added so that we can give the labels a contrast text
  90665. * shadow.
  90666. */
  90667. className?: string;
  90668. /**
  90669. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  90670. * labels. Defaults to `undefined`. For certain series types, like column or
  90671. * map, the data labels can be drawn inside the points. In this case the
  90672. * data label will be drawn with maximum contrast by default. Additionally,
  90673. * it will be given a `text-outline` style with the opposite color, to
  90674. * further increase the contrast. This can be overridden by setting the
  90675. * `text-outline` style to `none` in the `dataLabels.style` option.
  90676. */
  90677. color?: (ColorString|GradientColorObject|PatternObject);
  90678. /**
  90679. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  90680. * are outside the plot area. By default, the data label is moved inside the
  90681. * plot area according to the overflow option.
  90682. */
  90683. crop?: boolean;
  90684. /**
  90685. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  90686. * labels until the initial series animation has finished. Setting to
  90687. * `false` renders the data label immediately. If set to `true` inherits the
  90688. * defer time set in plotOptions.series.animation. If set to a number, a
  90689. * defer time is specified in milliseconds.
  90690. */
  90691. defer?: (boolean|number);
  90692. /**
  90693. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  90694. * labels.
  90695. */
  90696. enabled?: boolean;
  90697. /**
  90698. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  90699. * of which data labels to display. The declarative filter is designed for
  90700. * use when callback functions are not available, like when the chart
  90701. * options require a pure JSON structure or for use with graphical editors.
  90702. * For programmatic control, use the `formatter` instead, and return
  90703. * `undefined` to disable a single data label.
  90704. */
  90705. filter?: DataLabelsFilterOptionsObject;
  90706. /**
  90707. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  90708. * label. Available variables are the same as for `formatter`.
  90709. */
  90710. format?: string;
  90711. /**
  90712. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  90713. * format the data label. Note that if a `format` is defined, the format
  90714. * takes precedence and the formatter is ignored.
  90715. */
  90716. formatter?: DataLabelsFormatterCallbackFunction;
  90717. /**
  90718. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  90719. * columns or map areas, whether to align the data label inside the box or
  90720. * to the actual value point. Defaults to `false` in most cases, `true` in
  90721. * stacked columns.
  90722. */
  90723. inside?: boolean;
  90724. /**
  90725. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  90726. * of null. Works analogously to format. `nullFormat` can be applied only to
  90727. * series which support displaying null points.
  90728. */
  90729. nullFormat?: (boolean|string);
  90730. /**
  90731. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  90732. * that defines formatting for points with the value of null. Works
  90733. * analogously to formatter. `nullPointFormatter` can be applied only to
  90734. * series which support displaying null points.
  90735. */
  90736. nullFormatter?: DataLabelsFormatterCallbackFunction;
  90737. /**
  90738. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  90739. * flow outside the plot area. The default is `"justify"`, which aligns them
  90740. * inside the plot area. For columns and bars, this means it will be moved
  90741. * inside the bar. To display data labels outside the plot area, set `crop`
  90742. * to `false` and `overflow` to `"allow"`.
  90743. */
  90744. overflow?: DataLabelsOverflowValue;
  90745. /**
  90746. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  90747. * the `backgroundColor` is set, this is the padding within the box.
  90748. */
  90749. padding?: number;
  90750. /**
  90751. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  90752. * points. If `center` alignment is not possible, it defaults to `right`.
  90753. */
  90754. position?: AlignValue;
  90755. /**
  90756. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  90757. * that due to a more complex structure, backgrounds, borders and padding
  90758. * will be lost on a rotated data label.
  90759. */
  90760. rotation?: number;
  90761. /**
  90762. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  90763. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  90764. * an object configuration containing `color`, `offsetX`, `offsetY`,
  90765. * `opacity` and `width`.
  90766. */
  90767. shadow?: (boolean|ShadowOptionsObject);
  90768. /**
  90769. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  90770. * the border around the label. Symbols are predefined functions on the
  90771. * Renderer object.
  90772. */
  90773. shape?: string;
  90774. /**
  90775. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  90776. * default `color` setting is `"contrast"`, which is a pseudo color that
  90777. * Highcharts picks up and applies the maximum contrast to the underlying
  90778. * point item, for example the bar in a bar chart.
  90779. *
  90780. * The `textOutline` is a pseudo property that applies an outline of the
  90781. * given width with the given color, which by default is the maximum
  90782. * contrast to the text. So a bright text color will result in a black text
  90783. * outline for maximum readability on a mixed background. In some cases,
  90784. * especially with grayscale text, the text outline doesn't work well, in
  90785. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  90786. * is true, the `textOutline` will not be picked up. In this, case, the same
  90787. * effect can be acheived through the `text-shadow` CSS property.
  90788. *
  90789. * For some series types, where each point has an extent, like for example
  90790. * tree maps, the data label may overflow the point. There are two
  90791. * strategies for handling overflow. By default, the text will wrap to
  90792. * multiple lines. The other strategy is to set `style.textOverflow` to
  90793. * `ellipsis`, which will keep the text on one line plus it will break
  90794. * inside long words.
  90795. */
  90796. style?: CSSObject;
  90797. /**
  90798. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  90799. * should follow marker's shape. Border and background are disabled for a
  90800. * label that follows a path.
  90801. *
  90802. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  90803. * to true will disable this option.
  90804. */
  90805. textPath?: DataLabelsTextPathOptionsObject;
  90806. /**
  90807. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  90808. * the labels.
  90809. */
  90810. useHTML?: boolean;
  90811. /**
  90812. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  90813. * label. Can be one of `top`, `middle` or `bottom`. The default value
  90814. * depends on the data, for instance in a column chart, the label is above
  90815. * positive values and below negative values.
  90816. */
  90817. verticalAlign?: (VerticalAlignValue|null);
  90818. /**
  90819. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  90820. * label relative to the point in pixels.
  90821. */
  90822. x?: number;
  90823. /**
  90824. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  90825. * label relative to the point in pixels.
  90826. */
  90827. y?: number;
  90828. /**
  90829. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  90830. * The default Z index puts it above the series. Use a Z index of 2 to
  90831. * display it behind the series.
  90832. */
  90833. z?: number;
  90834. }
  90835. /**
  90836. * (Highcharts, Highstock) Options for the series data sorting.
  90837. */
  90838. export interface PlotTemaDataSortingOptions {
  90839. /**
  90840. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  90841. * Use xAxis.reversed to change the sorting order.
  90842. */
  90843. enabled?: boolean;
  90844. /**
  90845. * (Highcharts, Highstock) Whether to allow matching points by name in an
  90846. * update. If this option is disabled, points will be matched by order.
  90847. */
  90848. matchByName?: boolean;
  90849. /**
  90850. * (Highcharts, Highstock) Determines what data value should be used to sort
  90851. * by.
  90852. */
  90853. sortKey?: string;
  90854. }
  90855. /**
  90856. * (Highstock) Triple exponential moving average (TEMA) indicator. This series
  90857. * requires `linkedTo` option to be set and should be loaded after the
  90858. * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
  90859. *
  90860. * In TypeScript the type option must always be set.
  90861. *
  90862. * Configuration options for the series are given in three levels:
  90863. *
  90864. * 1. Options for all series in a chart are defined in the plotOptions.series
  90865. * object.
  90866. *
  90867. * 2. Options for all `tema` series are defined in plotOptions.tema.
  90868. *
  90869. * 3. Options for one single series are given in the series instance array. (see
  90870. * online documentation for example)
  90871. */
  90872. export interface PlotTemaOptions {
  90873. /**
  90874. * (Highstock) Accessibility options for a series.
  90875. */
  90876. accessibility?: SeriesAccessibilityOptionsObject;
  90877. /**
  90878. * (Highstock) Allow this series' points to be selected by clicking on the
  90879. * graphic (columns, point markers, pie slices, map areas etc).
  90880. *
  90881. * The selected points can be handled by point select and unselect events,
  90882. * or collectively by the getSelectedPoints function.
  90883. *
  90884. * And alternative way of selecting points is through dragging.
  90885. */
  90886. allowPointSelect?: boolean;
  90887. /**
  90888. * (Highstock) Enable or disable the initial animation when a series is
  90889. * displayed. The animation can also be set as a configuration object.
  90890. * Please note that this option only applies to the initial animation of the
  90891. * series itself. For other animations, see chart.animation and the
  90892. * animation parameter under the API methods. The following properties are
  90893. * supported:
  90894. *
  90895. * - `defer`: The animation delay time in milliseconds.
  90896. *
  90897. * - `duration`: The duration of the animation in milliseconds.
  90898. *
  90899. * - `easing`: Can be a string reference to an easing function set on the
  90900. * `Math` object or a function. See the _Custom easing function_ demo below.
  90901. *
  90902. * Due to poor performance, animation is disabled in old IE browsers for
  90903. * several chart types.
  90904. */
  90905. animation?: (boolean|PlotTemaAnimationOptions|Partial<AnimationOptionsObject>);
  90906. /**
  90907. * (Highstock) For some series, there is a limit that shuts down initial
  90908. * animation by default when the total number of points in the chart is too
  90909. * high. For example, for a column chart and its derivatives, animation does
  90910. * not run if there is more than 250 points totally. To disable this cap,
  90911. * set `animationLimit` to `Infinity`.
  90912. */
  90913. animationLimit?: number;
  90914. /**
  90915. * (Highstock) Sets the color blending in the boost module.
  90916. */
  90917. boostBlending?: OptionsBoostBlendingValue;
  90918. /**
  90919. * (Highstock) Set the point threshold for when a series should enter boost
  90920. * mode.
  90921. *
  90922. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  90923. * there are 2000 or more points in the series.
  90924. *
  90925. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  90926. * it to 1 will force boosting.
  90927. *
  90928. * Note that the cropThreshold also affects this setting. When zooming in on
  90929. * a series that has fewer points than the `cropThreshold`, all points are
  90930. * rendered although outside the visible plot area, and the `boostThreshold`
  90931. * won't take effect.
  90932. */
  90933. boostThreshold?: number;
  90934. /**
  90935. * (Highmaps) The border color of the map areas.
  90936. *
  90937. * In styled mode, the border stroke is given in the `.highcharts-point`
  90938. * class.
  90939. */
  90940. borderColor?: (ColorString|GradientColorObject|PatternObject);
  90941. /**
  90942. * (Highmaps) The border width of each map area.
  90943. *
  90944. * In styled mode, the border stroke width is given in the
  90945. * `.highcharts-point` class.
  90946. */
  90947. borderWidth?: number;
  90948. /**
  90949. * (Highstock) An additional class name to apply to the series' graphical
  90950. * elements. This option does not replace default class names of the
  90951. * graphical element.
  90952. */
  90953. className?: string;
  90954. /**
  90955. * (Highstock) Disable this option to allow series rendering in the whole
  90956. * plotting area.
  90957. *
  90958. * **Note:** Clipping should be always enabled when chart.zoomType is set
  90959. */
  90960. clip?: boolean;
  90961. /**
  90962. * (Highstock) The main color of the series. In line type series it applies
  90963. * to the line and the point markers unless otherwise specified. In bar type
  90964. * series it applies to the bars unless a color is specified per point. The
  90965. * default value is pulled from the `options.colors` array.
  90966. *
  90967. * In styled mode, the color can be defined by the colorIndex option. Also,
  90968. * the series color can be set with the `.highcharts-series`,
  90969. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  90970. * `.highcharts-series-{n}` class, or individual classes given by the
  90971. * `className` option.
  90972. */
  90973. color?: (ColorString|GradientColorObject|PatternObject);
  90974. /**
  90975. * (Highstock) Styled mode only. A specific color index to use for the
  90976. * series, so its graphic representations are given the class name
  90977. * `highcharts-color-{n}`.
  90978. */
  90979. colorIndex?: number;
  90980. /**
  90981. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  90982. * used to calculate point color if `colorAxis` is used. Requires to set
  90983. * `min` and `max` if some custom point property is used or if approximation
  90984. * for data grouping is set to `'sum'`.
  90985. */
  90986. colorKey?: string;
  90987. /**
  90988. * (Highstock) Defines if comparison should start from the first point
  90989. * within the visible range or should start from the first point **before**
  90990. * the range.
  90991. *
  90992. * In other words, this flag determines if first point within the visible
  90993. * range will have 0% (`compareStart=true`) or should have been already
  90994. * calculated according to the previous point (`compareStart=false`).
  90995. */
  90996. compareStart?: boolean;
  90997. /**
  90998. * (Highstock) Whether to compare indicator to the main series values or
  90999. * indicator values.
  91000. */
  91001. compareToMain?: boolean;
  91002. /**
  91003. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  91004. * series plot across the extremes.
  91005. */
  91006. connectEnds?: boolean;
  91007. /**
  91008. * (Highcharts, Highstock) Whether to connect a graph line across null
  91009. * points, or render a gap between the two points on either side of the
  91010. * null.
  91011. */
  91012. connectNulls?: boolean;
  91013. /**
  91014. * (Gantt) Override Pathfinder connector options for a series. Requires
  91015. * Highcharts Gantt to be loaded.
  91016. */
  91017. connectors?: SeriesConnectorsOptionsObject;
  91018. /**
  91019. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  91020. * rounded to its nearest pixel in order to render sharp on screen. In some
  91021. * cases, when there are a lot of densely packed columns, this leads to
  91022. * visible difference in column widths or distance between columns. In these
  91023. * cases, setting `crisp` to `false` may look better, even though each
  91024. * column is rendered blurry.
  91025. */
  91026. crisp?: boolean;
  91027. /**
  91028. * (Highcharts, Highstock) When the series contains less points than the
  91029. * crop threshold, all points are drawn, even if the points fall outside the
  91030. * visible plot area at the current zoom. The advantage of drawing all
  91031. * points (including markers and columns), is that animation is performed on
  91032. * updates. On the other hand, when the series contains more points than the
  91033. * crop threshold, the series data is cropped to only contain points that
  91034. * fall within the plot area. The advantage of cropping away invisible
  91035. * points is to increase performance on large series.
  91036. */
  91037. cropThreshold?: number;
  91038. /**
  91039. * (Highstock) You can set the cursor to "pointer" if you have click events
  91040. * attached to the series, to signal to the user that the points and lines
  91041. * can be clicked.
  91042. *
  91043. * In styled mode, the series cursor can be set with the same classes as
  91044. * listed under series.color.
  91045. */
  91046. cursor?: (string|CursorValue);
  91047. /**
  91048. * (Highstock) A reserved subspace to store options and values for
  91049. * customized functionality. Here you can add additional data for your own
  91050. * event callbacks and formatter callbacks.
  91051. */
  91052. custom?: Dictionary<any>;
  91053. /**
  91054. * (Highstock) Name of the dash style to use for the graph, or for some
  91055. * series types the outline of each shape.
  91056. *
  91057. * In styled mode, the stroke dash-array can be set with the same classes as
  91058. * listed under series.color.
  91059. */
  91060. dashStyle?: DashStyleValue;
  91061. /**
  91062. * (Highstock) Data grouping is the concept of sampling the data values into
  91063. * larger blocks in order to ease readability and increase performance of
  91064. * the JavaScript charts. Highcharts Stock by default applies data grouping
  91065. * when the points become closer than a certain pixel value, determined by
  91066. * the `groupPixelWidth` option.
  91067. *
  91068. * If data grouping is applied, the grouping information of grouped points
  91069. * can be read from the Point.dataGroup. If point options other than the
  91070. * data itself are set, for example `name` or `color` or custom properties,
  91071. * the grouping logic doesn't know how to group it. In this case the options
  91072. * of the first point instance are copied over to the group point. This can
  91073. * be altered through a custom `approximation` callback function.
  91074. */
  91075. dataGrouping?: DataGroupingOptionsObject;
  91076. /**
  91077. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91078. * labels, appearing next to each data point.
  91079. *
  91080. * Since v6.2.0, multiple data labels can be applied to each single point by
  91081. * defining them as an array of configs.
  91082. *
  91083. * In styled mode, the data labels can be styled with the
  91084. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  91085. * (see example).
  91086. */
  91087. dataLabels?: (PlotTemaDataLabelsOptions|Array<PlotTemaDataLabelsOptions>);
  91088. /**
  91089. * (Highcharts, Highstock) Options for the series data sorting.
  91090. */
  91091. dataSorting?: (DataSortingOptionsObject|PlotTemaDataSortingOptions);
  91092. /**
  91093. * (Highstock) A description of the series to add to the screen reader
  91094. * information about the series.
  91095. */
  91096. description?: string;
  91097. /**
  91098. * (Highstock) Enable or disable the mouse tracking for a specific series.
  91099. * This includes point tooltips and click events on graphs and points. For
  91100. * large datasets it improves performance.
  91101. */
  91102. enableMouseTracking?: boolean;
  91103. /**
  91104. * (Highstock) General event handlers for the series items. These event
  91105. * hooks can also be attached to the series at run time using the
  91106. * `Highcharts.addEvent` function.
  91107. */
  91108. events?: SeriesEventsOptionsObject;
  91109. /**
  91110. * (Highstock) Determines whether the series should look for the nearest
  91111. * point in both dimensions or just the x-dimension when hovering the
  91112. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  91113. * series. If the data has duplicate x-values, it is recommended to set this
  91114. * to `'xy'` to allow hovering over all points.
  91115. *
  91116. * Applies only to series types using nearest neighbor search (not direct
  91117. * hover) for tooltip.
  91118. */
  91119. findNearestPointBy?: OptionsFindNearestPointByValue;
  91120. /**
  91121. * (Highstock) Defines when to display a gap in the graph, together with the
  91122. * gapUnit option.
  91123. *
  91124. * In case when `dataGrouping` is enabled, points can be grouped into a
  91125. * larger time span. This can make the grouped points to have a greater
  91126. * distance than the absolute value of `gapSize` property, which will result
  91127. * in disappearing graph completely. To prevent this situation the mentioned
  91128. * distance between grouped points is used instead of previously defined
  91129. * `gapSize`.
  91130. *
  91131. * In practice, this option is most often used to visualize gaps in time
  91132. * series. In a stock chart, intraday data is available for daytime hours,
  91133. * while gaps will appear in nights and weekends.
  91134. */
  91135. gapSize?: number;
  91136. /**
  91137. * (Highstock) Together with gapSize, this option defines where to draw gaps
  91138. * in the graph.
  91139. *
  91140. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  91141. * if the distance between two points is greater than 5 times that of the
  91142. * two closest points, the graph will be broken.
  91143. *
  91144. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  91145. * values, which on a datetime axis is milliseconds. This also applies to
  91146. * the navigator series that inherits gap options from the base series.
  91147. */
  91148. gapUnit?: OptionsGapUnitValue;
  91149. /**
  91150. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  91151. * chart width or only the zoomed area when zooming in on parts of the X
  91152. * axis. By default, the Y axis adjusts to the min and max of the visible
  91153. * data. Cartesian series only.
  91154. */
  91155. getExtremesFromAll?: boolean;
  91156. /**
  91157. * (Highstock) When set to `false` will prevent the series data from being
  91158. * included in any form of data export.
  91159. *
  91160. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  91161. * `includeInCSVExport`.
  91162. */
  91163. includeInDataExport?: boolean;
  91164. /**
  91165. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  91166. * series as possible in a natural way, seeking to avoid other series. The
  91167. * goal of this feature is to make the chart more easily readable, like if a
  91168. * human designer placed the labels in the optimal position.
  91169. *
  91170. * The series labels currently work with series types having a `graph` or an
  91171. * `area`.
  91172. */
  91173. label?: SeriesLabelOptionsObject;
  91174. /**
  91175. * (Highstock) The line marks the last price from all points.
  91176. */
  91177. lastPrice?: SeriesLastPriceOptionsObject;
  91178. /**
  91179. * (Highstock) The line marks the last price from visible range of points.
  91180. */
  91181. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  91182. /**
  91183. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  91184. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  91185. * the ends and bends.
  91186. */
  91187. linecap?: SeriesLinecapValue;
  91188. /**
  91189. * (Highcharts, Highstock) Pixel width of the graph line.
  91190. */
  91191. lineWidth?: number;
  91192. /**
  91193. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  91194. * based on. Required for this indicator.
  91195. */
  91196. linkedTo?: string;
  91197. /**
  91198. * (Highstock) Options for the point markers of line-like series. Properties
  91199. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  91200. * appearance of the markers. Other series types, like column series, don't
  91201. * have markers, but have visual options on the series level instead.
  91202. *
  91203. * In styled mode, the markers can be styled with the `.highcharts-point`,
  91204. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  91205. */
  91206. marker?: PointMarkerOptionsObject;
  91207. /**
  91208. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  91209. * If not set, it will be based on a technical indicator type and default
  91210. * params.
  91211. */
  91212. name?: string;
  91213. /**
  91214. * (Highstock) The color for the parts of the graph or points that are below
  91215. * the threshold. Note that `zones` takes precedence over the negative
  91216. * color. Using `negativeColor` is equivalent to applying a zone with value
  91217. * of 0.
  91218. */
  91219. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  91220. /**
  91221. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  91222. * dataLabels.
  91223. */
  91224. opacity?: number;
  91225. /**
  91226. * (Highstock) Paramters used in calculation of regression series' points.
  91227. */
  91228. params?: PlotTemaParamsOptions;
  91229. /**
  91230. * (Highstock) Properties for each single point.
  91231. */
  91232. point?: PlotSeriesPointOptions;
  91233. /**
  91234. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  91235. * individual series. Overrides the chart wide configuration.
  91236. */
  91237. pointDescriptionFormatter?: Function;
  91238. /**
  91239. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  91240. * true, the checkbox next to the series name in the legend will be checked
  91241. * for a selected series.
  91242. */
  91243. selected?: boolean;
  91244. /**
  91245. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  91246. * the shadow can be an object configuration containing `color`, `offsetX`,
  91247. * `offsetY`, `opacity` and `width`.
  91248. */
  91249. shadow?: (boolean|ShadowOptionsObject);
  91250. /**
  91251. * (Highstock) If true, a checkbox is displayed next to the legend item to
  91252. * allow selecting the series. The state of the checkbox is determined by
  91253. * the `selected` option.
  91254. */
  91255. showCheckbox?: boolean;
  91256. /**
  91257. * (Highstock) Whether to display this particular series or series type in
  91258. * the legend. Standalone series are shown in legend by default, and linked
  91259. * series are not. Since v7.2.0 it is possible to show series that use
  91260. * colorAxis by setting this option to `true`.
  91261. */
  91262. showInLegend?: boolean;
  91263. /**
  91264. * (Highstock) If set to `true`, the accessibility module will skip past the
  91265. * points in this series for keyboard navigation.
  91266. */
  91267. skipKeyboardNavigation?: boolean;
  91268. /**
  91269. * (Highcharts, Highstock) When this is true, the series will not cause the
  91270. * Y axis to cross the zero plane (or threshold option) unless the data
  91271. * actually crosses the plane.
  91272. *
  91273. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  91274. * make the Y axis show negative values according to the `minPadding`
  91275. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  91276. */
  91277. softThreshold?: boolean;
  91278. states?: SeriesStatesOptionsObject;
  91279. /**
  91280. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  91281. * values are `left`, `center` and `right`.
  91282. */
  91283. step?: OptionsStepValue;
  91284. /**
  91285. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  91286. * event on a series isn't triggered until the mouse moves over another
  91287. * series, or out of the plot area. When false, the `mouseOut` event on a
  91288. * series is triggered when the mouse leaves the area around the series'
  91289. * graph or markers. This also implies the tooltip when not shared. When
  91290. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  91291. * be hidden when moving the mouse between series. Defaults to true for line
  91292. * and area type series, but to false for columns, pies etc.
  91293. *
  91294. * **Note:** The boost module will force this option because of technical
  91295. * limitations.
  91296. */
  91297. stickyTracking?: boolean;
  91298. /**
  91299. * (Highcharts, Highstock) The threshold, also called zero level or base
  91300. * level. For line type series this is only used in conjunction with
  91301. * negativeColor.
  91302. */
  91303. threshold?: (number|null);
  91304. /**
  91305. * (Highstock) A configuration object for the tooltip rendering of each
  91306. * single series. Properties are inherited from tooltip, but only the
  91307. * following properties can be defined on a series level.
  91308. */
  91309. tooltip?: SeriesTooltipOptionsObject;
  91310. /**
  91311. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  91312. * is longer than this, only one dimensional arrays of numbers, or two
  91313. * dimensional arrays with x and y values are allowed. Also, only the first
  91314. * point is tested, and the rest are assumed to be the same format. This
  91315. * saves expensive data checking and indexing in long series. Set it to `0`
  91316. * disable.
  91317. *
  91318. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  91319. * two dimensional arrays are allowed.
  91320. */
  91321. turboThreshold?: number;
  91322. /**
  91323. * (Highstock) Set the initial visibility of the series.
  91324. */
  91325. visible?: boolean;
  91326. /**
  91327. * (Highmaps) Define the z index of the series.
  91328. */
  91329. zIndex?: number;
  91330. /**
  91331. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  91332. */
  91333. zoneAxis?: string;
  91334. /**
  91335. * (Highcharts, Highstock) An array defining zones within a series. Zones
  91336. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  91337. * the `zoneAxis` option. The zone definitions have to be in ascending order
  91338. * regarding to the value.
  91339. *
  91340. * In styled mode, the color zones are styled with the
  91341. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  91342. * option (view live demo).
  91343. */
  91344. zones?: Array<SeriesZonesOptionsObject>;
  91345. }
  91346. /**
  91347. * (Highstock) Paramters used in calculation of regression series' points.
  91348. */
  91349. export interface PlotTemaParamsOptions {
  91350. /**
  91351. * (Highstock) The point index which indicator calculations will base. For
  91352. * example using OHLC data, index=2 means the indicator will be calculated
  91353. * using Low values.
  91354. *
  91355. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  91356. * default index is set to 3 which means that the ema indicator will be
  91357. * calculated using Close values.
  91358. */
  91359. index?: number;
  91360. /**
  91361. * (Highstock) The base period for indicator calculations. This is the
  91362. * number of data points which are taken into account for the indicator
  91363. * calculations.
  91364. */
  91365. period?: number;
  91366. }
  91367. /**
  91368. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  91369. * series.
  91370. */
  91371. export interface PlotTilemapAnimationOptions {
  91372. defer?: number;
  91373. }
  91374. /**
  91375. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91376. * animation when a series is displayed for the `dataLabels`. The animation can
  91377. * also be set as a configuration object. Please note that this option only
  91378. * applies to the initial animation. For other animations, see chart.animation
  91379. * and the animation parameter under the API methods. The following properties
  91380. * are supported:
  91381. *
  91382. * - `defer`: The animation delay time in milliseconds.
  91383. */
  91384. export interface PlotTilemapDataLabelsAnimationOptions {
  91385. /**
  91386. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  91387. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  91388. * inherits defer time from the series.animation.defer.
  91389. */
  91390. defer?: number;
  91391. }
  91392. /**
  91393. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  91394. * appearing next to each data point.
  91395. *
  91396. * Since v6.2.0, multiple data labels can be applied to each single point by
  91397. * defining them as an array of configs.
  91398. *
  91399. * In styled mode, the data labels can be styled with the
  91400. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  91401. * example).
  91402. */
  91403. export interface PlotTilemapDataLabelsOptions {
  91404. /**
  91405. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  91406. * compared to the point. If `right`, the right side of the label should be
  91407. * touching the point. For points with an extent, like columns, the
  91408. * alignments also dictates how to align it inside the box, as given with
  91409. * the inside option. Can be one of `left`, `center` or `right`.
  91410. */
  91411. align?: (AlignValue|null);
  91412. /**
  91413. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  91414. * overlap. To make the labels less sensitive for overlapping, the
  91415. * dataLabels.padding can be set to 0.
  91416. */
  91417. allowOverlap?: boolean;
  91418. /**
  91419. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  91420. * animation when a series is displayed for the `dataLabels`. The animation
  91421. * can also be set as a configuration object. Please note that this option
  91422. * only applies to the initial animation. For other animations, see
  91423. * chart.animation and the animation parameter under the API methods. The
  91424. * following properties are supported:
  91425. *
  91426. * - `defer`: The animation delay time in milliseconds.
  91427. */
  91428. animation?: (boolean|PlotTilemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  91429. /**
  91430. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  91431. * for the data label.
  91432. */
  91433. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  91434. /**
  91435. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  91436. * label. Defaults to `undefined`.
  91437. */
  91438. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91439. /**
  91440. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  91441. * the data label.
  91442. */
  91443. borderRadius?: number;
  91444. /**
  91445. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  91446. * the data label.
  91447. */
  91448. borderWidth?: number;
  91449. /**
  91450. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  91451. * Particularly in styled mode, this can be used to give each series' or
  91452. * point's data label unique styling. In addition to this option, a default
  91453. * color class name is added so that we can give the labels a contrast text
  91454. * shadow.
  91455. */
  91456. className?: string;
  91457. /**
  91458. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  91459. * labels. Defaults to `undefined`. For certain series types, like column or
  91460. * map, the data labels can be drawn inside the points. In this case the
  91461. * data label will be drawn with maximum contrast by default. Additionally,
  91462. * it will be given a `text-outline` style with the opposite color, to
  91463. * further increase the contrast. This can be overridden by setting the
  91464. * `text-outline` style to `none` in the `dataLabels.style` option.
  91465. */
  91466. color?: (ColorString|GradientColorObject|PatternObject);
  91467. /**
  91468. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  91469. * are outside the plot area. By default, the data label is moved inside the
  91470. * plot area according to the overflow option.
  91471. */
  91472. crop?: boolean;
  91473. /**
  91474. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  91475. * labels until the initial series animation has finished. Setting to
  91476. * `false` renders the data label immediately. If set to `true` inherits the
  91477. * defer time set in plotOptions.series.animation. If set to a number, a
  91478. * defer time is specified in milliseconds.
  91479. */
  91480. defer?: (boolean|number);
  91481. /**
  91482. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  91483. * labels.
  91484. */
  91485. enabled?: boolean;
  91486. /**
  91487. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  91488. * of which data labels to display. The declarative filter is designed for
  91489. * use when callback functions are not available, like when the chart
  91490. * options require a pure JSON structure or for use with graphical editors.
  91491. * For programmatic control, use the `formatter` instead, and return
  91492. * `undefined` to disable a single data label.
  91493. */
  91494. filter?: DataLabelsFilterOptionsObject;
  91495. /**
  91496. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  91497. * label. Available variables are the same as for `formatter`.
  91498. */
  91499. format?: string;
  91500. /**
  91501. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  91502. * format the data label. Note that if a `format` is defined, the format
  91503. * takes precedence and the formatter is ignored.
  91504. */
  91505. formatter?: DataLabelsFormatterCallbackFunction;
  91506. /**
  91507. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  91508. * columns or map areas, whether to align the data label inside the box or
  91509. * to the actual value point. Defaults to `false` in most cases, `true` in
  91510. * stacked columns.
  91511. */
  91512. inside?: boolean;
  91513. /**
  91514. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  91515. * of null. Works analogously to format. `nullFormat` can be applied only to
  91516. * series which support displaying null points.
  91517. */
  91518. nullFormat?: (boolean|string);
  91519. /**
  91520. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  91521. * that defines formatting for points with the value of null. Works
  91522. * analogously to formatter. `nullPointFormatter` can be applied only to
  91523. * series which support displaying null points.
  91524. */
  91525. nullFormatter?: DataLabelsFormatterCallbackFunction;
  91526. /**
  91527. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  91528. * flow outside the plot area. The default is `"justify"`, which aligns them
  91529. * inside the plot area. For columns and bars, this means it will be moved
  91530. * inside the bar. To display data labels outside the plot area, set `crop`
  91531. * to `false` and `overflow` to `"allow"`.
  91532. */
  91533. overflow?: boolean;
  91534. /**
  91535. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  91536. * the `backgroundColor` is set, this is the padding within the box.
  91537. */
  91538. padding?: number;
  91539. /**
  91540. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  91541. * points. If `center` alignment is not possible, it defaults to `right`.
  91542. */
  91543. position?: AlignValue;
  91544. /**
  91545. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  91546. * that due to a more complex structure, backgrounds, borders and padding
  91547. * will be lost on a rotated data label.
  91548. */
  91549. rotation?: number;
  91550. /**
  91551. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  91552. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  91553. * an object configuration containing `color`, `offsetX`, `offsetY`,
  91554. * `opacity` and `width`.
  91555. */
  91556. shadow?: (boolean|ShadowOptionsObject);
  91557. /**
  91558. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  91559. * the border around the label. Symbols are predefined functions on the
  91560. * Renderer object.
  91561. */
  91562. shape?: string;
  91563. /**
  91564. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  91565. * default `color` setting is `"contrast"`, which is a pseudo color that
  91566. * Highcharts picks up and applies the maximum contrast to the underlying
  91567. * point item, for example the bar in a bar chart.
  91568. *
  91569. * The `textOutline` is a pseudo property that applies an outline of the
  91570. * given width with the given color, which by default is the maximum
  91571. * contrast to the text. So a bright text color will result in a black text
  91572. * outline for maximum readability on a mixed background. In some cases,
  91573. * especially with grayscale text, the text outline doesn't work well, in
  91574. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  91575. * is true, the `textOutline` will not be picked up. In this, case, the same
  91576. * effect can be acheived through the `text-shadow` CSS property.
  91577. *
  91578. * For some series types, where each point has an extent, like for example
  91579. * tree maps, the data label may overflow the point. There are two
  91580. * strategies for handling overflow. By default, the text will wrap to
  91581. * multiple lines. The other strategy is to set `style.textOverflow` to
  91582. * `ellipsis`, which will keep the text on one line plus it will break
  91583. * inside long words.
  91584. */
  91585. style?: CSSObject;
  91586. /**
  91587. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  91588. * should follow marker's shape. Border and background are disabled for a
  91589. * label that follows a path.
  91590. *
  91591. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  91592. * to true will disable this option.
  91593. */
  91594. textPath?: DataLabelsTextPathOptionsObject;
  91595. /**
  91596. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  91597. * the labels.
  91598. */
  91599. useHTML?: boolean;
  91600. /**
  91601. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  91602. * label. Can be one of `top`, `middle` or `bottom`. The default value
  91603. * depends on the data, for instance in a column chart, the label is above
  91604. * positive values and below negative values.
  91605. */
  91606. verticalAlign?: string;
  91607. /**
  91608. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  91609. * label relative to the point in pixels.
  91610. */
  91611. x?: number;
  91612. /**
  91613. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  91614. * label relative to the point in pixels.
  91615. */
  91616. y?: number;
  91617. /**
  91618. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  91619. * The default Z index puts it above the series. Use a Z index of 2 to
  91620. * display it behind the series.
  91621. */
  91622. z?: number;
  91623. }
  91624. /**
  91625. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  91626. * state by default, the `default` state.
  91627. */
  91628. export interface PlotTilemapDragDropGuideBoxOptions {
  91629. /**
  91630. * (Highcharts, Highmaps) Style options for the guide box default state.
  91631. */
  91632. default?: DragDropGuideBoxOptionsObject;
  91633. }
  91634. /**
  91635. * (Highcharts, Highmaps) A tilemap series is a type of heatmap where the tile
  91636. * shapes are configurable.
  91637. *
  91638. * In TypeScript the type option must always be set.
  91639. *
  91640. * Configuration options for the series are given in three levels:
  91641. *
  91642. * 1. Options for all series in a chart are defined in the plotOptions.series
  91643. * object.
  91644. *
  91645. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  91646. *
  91647. * 3. Options for one single series are given in the series instance array. (see
  91648. * online documentation for example)
  91649. */
  91650. export interface PlotTilemapOptions {
  91651. /**
  91652. * (Highcharts, Highmaps) Accessibility options for a series.
  91653. */
  91654. accessibility?: SeriesAccessibilityOptionsObject;
  91655. /**
  91656. * (Highcharts, Highmaps) Allow this series' points to be selected by
  91657. * clicking on the graphic (columns, point markers, pie slices, map areas
  91658. * etc).
  91659. *
  91660. * The selected points can be handled by point select and unselect events,
  91661. * or collectively by the getSelectedPoints function.
  91662. *
  91663. * And alternative way of selecting points is through dragging.
  91664. */
  91665. allowPointSelect?: boolean;
  91666. /**
  91667. * (Highcharts, Highmaps) Animation is disabled by default on the heatmap
  91668. * series.
  91669. */
  91670. animation?: (boolean|PlotTilemapAnimationOptions);
  91671. /**
  91672. * (Highmaps) The border color of the map areas.
  91673. *
  91674. * In styled mode, the border stroke is given in the `.highcharts-point`
  91675. * class.
  91676. */
  91677. borderColor?: (ColorString|GradientColorObject|PatternObject);
  91678. /**
  91679. * (Highcharts, Highmaps) The border radius for each heatmap item.
  91680. */
  91681. borderRadius?: number;
  91682. /**
  91683. * (Highmaps) The border width for each heatmap item.
  91684. */
  91685. borderWidth?: number;
  91686. /**
  91687. * (Highcharts, Highmaps) An additional class name to apply to the series'
  91688. * graphical elements. This option does not replace default class names of
  91689. * the graphical element.
  91690. */
  91691. className?: string;
  91692. /**
  91693. * (Highcharts, Highmaps) Disable this option to allow series rendering in
  91694. * the whole plotting area.
  91695. *
  91696. * **Note:** Clipping should be always enabled when chart.zoomType is set
  91697. */
  91698. clip?: boolean;
  91699. /**
  91700. * (Highcharts) The main color of the series. In heat maps this color is
  91701. * rarely used, as we mostly use the color to denote the value of each
  91702. * point. Unless options are set in the colorAxis, the default value is
  91703. * pulled from the options.colors array.
  91704. */
  91705. color?: (ColorString|GradientColorObject|PatternObject);
  91706. /**
  91707. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  91708. * this number defines which colorAxis the particular series is connected
  91709. * to. It refers to either the axis id or the index of the axis in the
  91710. * colorAxis array, with 0 being the first. Set this option to false to
  91711. * prevent a series from connecting to the default color axis.
  91712. *
  91713. * Since v7.2.0 the option can also be an axis id or an axis index instead
  91714. * of a boolean flag.
  91715. */
  91716. colorAxis?: (boolean|number|string);
  91717. /**
  91718. * (Highcharts, Highmaps) Styled mode only. A specific color index to use
  91719. * for the series, so its graphic representations are given the class name
  91720. * `highcharts-color-{n}`.
  91721. */
  91722. colorIndex?: number;
  91723. /**
  91724. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  91725. * used to calculate point color if `colorAxis` is used. Requires to set
  91726. * `min` and `max` if some custom point property is used or if approximation
  91727. * for data grouping is set to `'sum'`.
  91728. */
  91729. colorKey?: string;
  91730. /**
  91731. * (Highcharts, Highmaps) The column size - how many X axis units each
  91732. * column in the tilemap should span. Works as in Heatmaps.
  91733. */
  91734. colsize?: number;
  91735. /**
  91736. * (Highstock) Compare the values of the series against the first non-null,
  91737. * non- zero value in the visible range. The y axis will show percentage or
  91738. * absolute change depending on whether `compare` is set to `"percent"` or
  91739. * `"value"`. When this is applied to multiple series, it allows comparing
  91740. * the development of the series against each other. Adds a `change` field
  91741. * to every point object.
  91742. */
  91743. compare?: string;
  91744. /**
  91745. * (Highstock) When compare is `percent`, this option dictates whether to
  91746. * use 0 or 100 as the base of comparison.
  91747. */
  91748. compareBase?: (0|100);
  91749. /**
  91750. * (Highstock) Defines if comparison should start from the first point
  91751. * within the visible range or should start from the first point **before**
  91752. * the range.
  91753. *
  91754. * In other words, this flag determines if first point within the visible
  91755. * range will have 0% (`compareStart=true`) or should have been already
  91756. * calculated according to the previous point (`compareStart=false`).
  91757. */
  91758. compareStart?: boolean;
  91759. /**
  91760. * (Gantt) Override Pathfinder connector options for a series. Requires
  91761. * Highcharts Gantt to be loaded.
  91762. */
  91763. connectors?: SeriesConnectorsOptionsObject;
  91764. /**
  91765. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  91766. * rounded to its nearest pixel in order to render sharp on screen. In some
  91767. * cases, when there are a lot of densely packed columns, this leads to
  91768. * visible difference in column widths or distance between columns. In these
  91769. * cases, setting `crisp` to `false` may look better, even though each
  91770. * column is rendered blurry.
  91771. */
  91772. crisp?: boolean;
  91773. /**
  91774. * (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
  91775. * click events attached to the series, to signal to the user that the
  91776. * points and lines can be clicked.
  91777. *
  91778. * In styled mode, the series cursor can be set with the same classes as
  91779. * listed under series.color.
  91780. */
  91781. cursor?: (string|CursorValue);
  91782. /**
  91783. * (Highcharts, Highmaps) A reserved subspace to store options and values
  91784. * for customized functionality. Here you can add additional data for your
  91785. * own event callbacks and formatter callbacks.
  91786. */
  91787. custom?: Dictionary<any>;
  91788. /**
  91789. * (Highstock) Data grouping is the concept of sampling the data values into
  91790. * larger blocks in order to ease readability and increase performance of
  91791. * the JavaScript charts. Highcharts Stock by default applies data grouping
  91792. * when the points become closer than a certain pixel value, determined by
  91793. * the `groupPixelWidth` option.
  91794. *
  91795. * If data grouping is applied, the grouping information of grouped points
  91796. * can be read from the Point.dataGroup. If point options other than the
  91797. * data itself are set, for example `name` or `color` or custom properties,
  91798. * the grouping logic doesn't know how to group it. In this case the options
  91799. * of the first point instance are copied over to the group point. This can
  91800. * be altered through a custom `approximation` callback function.
  91801. */
  91802. dataGrouping?: DataGroupingOptionsObject;
  91803. /**
  91804. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  91805. * labels, appearing next to each data point.
  91806. *
  91807. * Since v6.2.0, multiple data labels can be applied to each single point by
  91808. * defining them as an array of configs.
  91809. *
  91810. * In styled mode, the data labels can be styled with the
  91811. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  91812. * (see example).
  91813. */
  91814. dataLabels?: (PlotTilemapDataLabelsOptions|Array<PlotTilemapDataLabelsOptions>);
  91815. /**
  91816. * (Highcharts, Highmaps) A description of the series to add to the screen
  91817. * reader information about the series.
  91818. */
  91819. description?: string;
  91820. /**
  91821. * (Highcharts, Highmaps) The draggable-points module allows points to be
  91822. * moved around or modified in the chart. In addition to the options
  91823. * mentioned under the `dragDrop` API structure, the module fires three
  91824. * events, point.dragStart, point.drag and point.drop.
  91825. */
  91826. dragDrop?: SeriesDragDropOptionsObject;
  91827. /**
  91828. * (Highcharts, Highmaps) Enable or disable the mouse tracking for a
  91829. * specific series. This includes point tooltips and click events on graphs
  91830. * and points. For large datasets it improves performance.
  91831. */
  91832. enableMouseTracking?: boolean;
  91833. /**
  91834. * (Highcharts, Highmaps) General event handlers for the series items. These
  91835. * event hooks can also be attached to the series at run time using the
  91836. * `Highcharts.addEvent` function.
  91837. */
  91838. events?: SeriesEventsOptionsObject;
  91839. /**
  91840. * (Highstock) Defines when to display a gap in the graph, together with the
  91841. * gapUnit option.
  91842. *
  91843. * In case when `dataGrouping` is enabled, points can be grouped into a
  91844. * larger time span. This can make the grouped points to have a greater
  91845. * distance than the absolute value of `gapSize` property, which will result
  91846. * in disappearing graph completely. To prevent this situation the mentioned
  91847. * distance between grouped points is used instead of previously defined
  91848. * `gapSize`.
  91849. *
  91850. * In practice, this option is most often used to visualize gaps in time
  91851. * series. In a stock chart, intraday data is available for daytime hours,
  91852. * while gaps will appear in nights and weekends.
  91853. */
  91854. gapSize?: number;
  91855. /**
  91856. * (Highstock) Together with gapSize, this option defines where to draw gaps
  91857. * in the graph.
  91858. *
  91859. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  91860. * if the distance between two points is greater than 5 times that of the
  91861. * two closest points, the graph will be broken.
  91862. *
  91863. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  91864. * values, which on a datetime axis is milliseconds. This also applies to
  91865. * the navigator series that inherits gap options from the base series.
  91866. */
  91867. gapUnit?: OptionsGapUnitValue;
  91868. /**
  91869. * (Highcharts, Highmaps) When set to `false` will prevent the series data
  91870. * from being included in any form of data export.
  91871. *
  91872. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  91873. * `includeInCSVExport`.
  91874. */
  91875. includeInDataExport?: boolean;
  91876. /**
  91877. * (Highcharts, Highmaps) An array specifying which option maps to which key
  91878. * in the data point array. This makes it convenient to work with
  91879. * unstructured data arrays from different sources.
  91880. */
  91881. keys?: Array<string>;
  91882. /**
  91883. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  91884. * series as possible in a natural way, seeking to avoid other series. The
  91885. * goal of this feature is to make the chart more easily readable, like if a
  91886. * human designer placed the labels in the optimal position.
  91887. *
  91888. * The series labels currently work with series types having a `graph` or an
  91889. * `area`.
  91890. */
  91891. label?: SeriesLabelOptionsObject;
  91892. /**
  91893. * (Highstock) The line marks the last price from all points.
  91894. */
  91895. lastPrice?: SeriesLastPriceOptionsObject;
  91896. /**
  91897. * (Highstock) The line marks the last price from visible range of points.
  91898. */
  91899. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  91900. /**
  91901. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  91902. * Additionally, the value can be ":previous" to link to the previous
  91903. * series. When two series are linked, only the first one appears in the
  91904. * legend. Toggling the visibility of this also toggles the linked series.
  91905. *
  91906. * If master series uses data sorting and linked series does not have its
  91907. * own sorting definition, the linked series will be sorted in the same
  91908. * order as the master one.
  91909. */
  91910. linkedTo?: string;
  91911. marker?: any;
  91912. /**
  91913. * (Highstock) Options for the corresponding navigator series if
  91914. * `showInNavigator` is `true` for this series. Available options are the
  91915. * same as any series, documented at plotOptions and series.
  91916. *
  91917. * These options are merged with options in navigator.series, and will take
  91918. * precedence if the same option is defined both places.
  91919. */
  91920. navigatorOptions?: PlotSeriesOptions;
  91921. /**
  91922. * (Highcharts, Highmaps) The color for the parts of the graph or points
  91923. * that are below the threshold. Note that `zones` takes precedence over the
  91924. * negative color. Using `negativeColor` is equivalent to applying a zone
  91925. * with value of 0.
  91926. */
  91927. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  91928. /**
  91929. * (Highcharts, Highmaps) The color applied to null points. In styled mode,
  91930. * a general CSS class is applied instead.
  91931. */
  91932. nullColor?: (ColorString|GradientColorObject|PatternObject);
  91933. /**
  91934. * (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
  91935. * and dataLabels.
  91936. */
  91937. opacity?: number;
  91938. /**
  91939. * (Highcharts, Highmaps) Properties for each single point.
  91940. */
  91941. point?: PlotSeriesPointOptions;
  91942. /**
  91943. * (Highcharts, Highmaps) Same as accessibility.series.descriptionFormatter,
  91944. * but for an individual series. Overrides the chart wide configuration.
  91945. */
  91946. pointDescriptionFormatter?: Function;
  91947. /**
  91948. * (Highcharts, Highmaps) The padding between points in the tilemap.
  91949. */
  91950. pointPadding?: number;
  91951. /**
  91952. * (Highcharts, Highmaps) The row size - how many Y axis units each tilemap
  91953. * row should span. Analogous to colsize.
  91954. */
  91955. rowsize?: number;
  91956. /**
  91957. * (Highcharts, Highmaps) Whether to select the series initially. If
  91958. * `showCheckbox` is true, the checkbox next to the series name in the
  91959. * legend will be checked for a selected series.
  91960. */
  91961. selected?: boolean;
  91962. /**
  91963. * (Highcharts, Highmaps) If true, a checkbox is displayed next to the
  91964. * legend item to allow selecting the series. The state of the checkbox is
  91965. * determined by the `selected` option.
  91966. */
  91967. showCheckbox?: boolean;
  91968. /**
  91969. * (Highcharts, Highmaps) Whether to display this particular series or
  91970. * series type in the legend. Standalone series are shown in legend by
  91971. * default, and linked series are not. Since v7.2.0 it is possible to show
  91972. * series that use colorAxis by setting this option to `true`.
  91973. */
  91974. showInLegend?: boolean;
  91975. /**
  91976. * (Highstock) Whether or not to show the series in the navigator. Takes
  91977. * precedence over navigator.baseSeries if defined.
  91978. */
  91979. showInNavigator?: boolean;
  91980. /**
  91981. * (Highcharts, Highmaps) If set to `true`, the accessibility module will
  91982. * skip past the points in this series for keyboard navigation.
  91983. */
  91984. skipKeyboardNavigation?: boolean;
  91985. states?: SeriesStatesOptionsObject;
  91986. /**
  91987. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  91988. * `mouseOut` event on a series isn't triggered until the mouse moves over
  91989. * another series, or out of the plot area. When false, the `mouseOut` event
  91990. * on a series is triggered when the mouse leaves the area around the
  91991. * series' graph or markers. This also implies the tooltip. When
  91992. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  91993. * be hidden when moving the mouse between series.
  91994. */
  91995. stickyTracking?: boolean;
  91996. /**
  91997. * (Highcharts, Highmaps) The shape of the tiles in the tilemap. Possible
  91998. * values are `hexagon`, `circle`, `diamond`, and `square`.
  91999. */
  92000. tileShape?: TilemapShapeValue;
  92001. /**
  92002. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  92003. * of each single series. Properties are inherited from tooltip. Overridable
  92004. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  92005. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  92006. * series.name by default shows in the headerFormat and point.x and point.y
  92007. * in the pointFormat.
  92008. */
  92009. tooltip?: SeriesTooltipOptionsObject;
  92010. /**
  92011. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  92012. * is longer than this, only one dimensional arrays of numbers, or two
  92013. * dimensional arrays with x and y values are allowed. Also, only the first
  92014. * point is tested, and the rest are assumed to be the same format. This
  92015. * saves expensive data checking and indexing in long series. Set it to `0`
  92016. * disable.
  92017. *
  92018. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  92019. * two dimensional arrays are allowed.
  92020. */
  92021. turboThreshold?: number;
  92022. /**
  92023. * (Highcharts, Highmaps) Set the initial visibility of the series.
  92024. */
  92025. visible?: boolean;
  92026. /**
  92027. * (Highmaps) Define the z index of the series.
  92028. */
  92029. zIndex?: number;
  92030. /**
  92031. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  92032. */
  92033. zoneAxis?: string;
  92034. /**
  92035. * (Highcharts, Highstock) An array defining zones within a series. Zones
  92036. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  92037. * the `zoneAxis` option. The zone definitions have to be in ascending order
  92038. * regarding to the value.
  92039. *
  92040. * In styled mode, the color zones are styled with the
  92041. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  92042. * option (view live demo).
  92043. */
  92044. zones?: Array<SeriesZonesOptionsObject>;
  92045. }
  92046. /**
  92047. * (Highcharts, Highstock) A collection of SVG attributes to override the
  92048. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  92049. */
  92050. export interface PlotTilemapStatesHoverHaloAttributesOptions {
  92051. zIndex?: number;
  92052. }
  92053. /**
  92054. * (Highcharts) Enable or disable the initial animation when a series is
  92055. * displayed. The animation can also be set as a configuration object. Please
  92056. * note that this option only applies to the initial animation of the series
  92057. * itself. For other animations, see chart.animation and the animation parameter
  92058. * under the API methods. The following properties are supported:
  92059. *
  92060. * - `defer`: The animation delay time in milliseconds.
  92061. *
  92062. * - `duration`: The duration of the animation in milliseconds.
  92063. *
  92064. * - `easing`: Can be a string reference to an easing function set on the `Math`
  92065. * object or a function. See the _Custom easing function_ demo below.
  92066. *
  92067. * Due to poor performance, animation is disabled in old IE browsers for several
  92068. * chart types.
  92069. */
  92070. export interface PlotTimelineAnimationOptions {
  92071. defer?: number;
  92072. }
  92073. /**
  92074. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92075. * animation when a series is displayed for the `dataLabels`. The animation can
  92076. * also be set as a configuration object. Please note that this option only
  92077. * applies to the initial animation. For other animations, see chart.animation
  92078. * and the animation parameter under the API methods. The following properties
  92079. * are supported:
  92080. *
  92081. * - `defer`: The animation delay time in milliseconds.
  92082. */
  92083. export interface PlotTimelineDataLabelsAnimationOptions {
  92084. /**
  92085. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  92086. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  92087. * inherits defer time from the series.animation.defer.
  92088. */
  92089. defer?: number;
  92090. }
  92091. /**
  92092. * (Highcharts) Style options for the guide box. The guide box has one state by
  92093. * default, the `default` state.
  92094. */
  92095. export interface PlotTimelineDragDropGuideBoxOptions {
  92096. /**
  92097. * (Highcharts) Style options for the guide box default state.
  92098. */
  92099. default?: DragDropGuideBoxOptionsObject;
  92100. }
  92101. /**
  92102. * (Highcharts) The timeline series presents given events along a drawn line.
  92103. *
  92104. * In TypeScript the type option must always be set.
  92105. *
  92106. * Configuration options for the series are given in three levels:
  92107. *
  92108. * 1. Options for all series in a chart are defined in the plotOptions.series
  92109. * object.
  92110. *
  92111. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  92112. *
  92113. * 3. Options for one single series are given in the series instance array. (see
  92114. * online documentation for example)
  92115. */
  92116. export interface PlotTimelineOptions {
  92117. /**
  92118. * (Highcharts) Accessibility options for a series.
  92119. */
  92120. accessibility?: SeriesAccessibilityOptionsObject;
  92121. /**
  92122. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  92123. * rendered. If `true`, areas which don't correspond to a data point, are
  92124. * rendered as `null` points. If `false`, those areas are skipped.
  92125. */
  92126. allAreas?: boolean;
  92127. /**
  92128. * (Highcharts) Allow this series' points to be selected by clicking on the
  92129. * graphic (columns, point markers, pie slices, map areas etc).
  92130. *
  92131. * The selected points can be handled by point select and unselect events,
  92132. * or collectively by the getSelectedPoints function.
  92133. *
  92134. * And alternative way of selecting points is through dragging.
  92135. */
  92136. allowPointSelect?: boolean;
  92137. /**
  92138. * (Highcharts) Enable or disable the initial animation when a series is
  92139. * displayed. The animation can also be set as a configuration object.
  92140. * Please note that this option only applies to the initial animation of the
  92141. * series itself. For other animations, see chart.animation and the
  92142. * animation parameter under the API methods. The following properties are
  92143. * supported:
  92144. *
  92145. * - `defer`: The animation delay time in milliseconds.
  92146. *
  92147. * - `duration`: The duration of the animation in milliseconds.
  92148. *
  92149. * - `easing`: Can be a string reference to an easing function set on the
  92150. * `Math` object or a function. See the _Custom easing function_ demo below.
  92151. *
  92152. * Due to poor performance, animation is disabled in old IE browsers for
  92153. * several chart types.
  92154. */
  92155. animation?: (boolean|PlotTimelineAnimationOptions|Partial<AnimationOptionsObject>);
  92156. /**
  92157. * (Highmaps) The border color of the map areas.
  92158. *
  92159. * In styled mode, the border stroke is given in the `.highcharts-point`
  92160. * class.
  92161. */
  92162. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92163. /**
  92164. * (Highmaps) The border width of each map area.
  92165. *
  92166. * In styled mode, the border stroke width is given in the
  92167. * `.highcharts-point` class.
  92168. */
  92169. borderWidth?: number;
  92170. /**
  92171. * (Highcharts) An additional class name to apply to the series' graphical
  92172. * elements. This option does not replace default class names of the
  92173. * graphical element.
  92174. */
  92175. className?: string;
  92176. /**
  92177. * (Highcharts) Disable this option to allow series rendering in the whole
  92178. * plotting area.
  92179. *
  92180. * **Note:** Clipping should be always enabled when chart.zoomType is set
  92181. */
  92182. clip?: boolean;
  92183. /**
  92184. * (Highcharts) The main color of the series. In line type series it applies
  92185. * to the line and the point markers unless otherwise specified. In bar type
  92186. * series it applies to the bars unless a color is specified per point. The
  92187. * default value is pulled from the `options.colors` array.
  92188. *
  92189. * In styled mode, the color can be defined by the colorIndex option. Also,
  92190. * the series color can be set with the `.highcharts-series`,
  92191. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  92192. * `.highcharts-series-{n}` class, or individual classes given by the
  92193. * `className` option.
  92194. */
  92195. color?: (ColorString|GradientColorObject|PatternObject);
  92196. /**
  92197. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  92198. * this number defines which colorAxis the particular series is connected
  92199. * to. It refers to either the axis id or the index of the axis in the
  92200. * colorAxis array, with 0 being the first. Set this option to false to
  92201. * prevent a series from connecting to the default color axis.
  92202. *
  92203. * Since v7.2.0 the option can also be an axis id or an axis index instead
  92204. * of a boolean flag.
  92205. */
  92206. colorAxis?: (boolean|number|string);
  92207. colorByPoint?: boolean;
  92208. /**
  92209. * (Highcharts) Styled mode only. A specific color index to use for the
  92210. * series, so its graphic representations are given the class name
  92211. * `highcharts-color-{n}`.
  92212. */
  92213. colorIndex?: number;
  92214. /**
  92215. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  92216. * used to calculate point color if `colorAxis` is used. Requires to set
  92217. * `min` and `max` if some custom point property is used or if approximation
  92218. * for data grouping is set to `'sum'`.
  92219. */
  92220. colorKey?: string;
  92221. /**
  92222. * (Highstock) Compare the values of the series against the first non-null,
  92223. * non- zero value in the visible range. The y axis will show percentage or
  92224. * absolute change depending on whether `compare` is set to `"percent"` or
  92225. * `"value"`. When this is applied to multiple series, it allows comparing
  92226. * the development of the series against each other. Adds a `change` field
  92227. * to every point object.
  92228. */
  92229. compare?: string;
  92230. /**
  92231. * (Highstock) When compare is `percent`, this option dictates whether to
  92232. * use 0 or 100 as the base of comparison.
  92233. */
  92234. compareBase?: (0|100);
  92235. /**
  92236. * (Highstock) Defines if comparison should start from the first point
  92237. * within the visible range or should start from the first point **before**
  92238. * the range.
  92239. *
  92240. * In other words, this flag determines if first point within the visible
  92241. * range will have 0% (`compareStart=true`) or should have been already
  92242. * calculated according to the previous point (`compareStart=false`).
  92243. */
  92244. compareStart?: boolean;
  92245. /**
  92246. * (Gantt) Override Pathfinder connector options for a series. Requires
  92247. * Highcharts Gantt to be loaded.
  92248. */
  92249. connectors?: SeriesConnectorsOptionsObject;
  92250. /**
  92251. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  92252. * rounded to its nearest pixel in order to render sharp on screen. In some
  92253. * cases, when there are a lot of densely packed columns, this leads to
  92254. * visible difference in column widths or distance between columns. In these
  92255. * cases, setting `crisp` to `false` may look better, even though each
  92256. * column is rendered blurry.
  92257. */
  92258. crisp?: boolean;
  92259. /**
  92260. * (Highcharts) You can set the cursor to "pointer" if you have click events
  92261. * attached to the series, to signal to the user that the points and lines
  92262. * can be clicked.
  92263. *
  92264. * In styled mode, the series cursor can be set with the same classes as
  92265. * listed under series.color.
  92266. */
  92267. cursor?: (string|CursorValue);
  92268. /**
  92269. * (Highcharts) A reserved subspace to store options and values for
  92270. * customized functionality. Here you can add additional data for your own
  92271. * event callbacks and formatter callbacks.
  92272. */
  92273. custom?: Dictionary<any>;
  92274. /**
  92275. * (Highstock) Data grouping is the concept of sampling the data values into
  92276. * larger blocks in order to ease readability and increase performance of
  92277. * the JavaScript charts. Highcharts Stock by default applies data grouping
  92278. * when the points become closer than a certain pixel value, determined by
  92279. * the `groupPixelWidth` option.
  92280. *
  92281. * If data grouping is applied, the grouping information of grouped points
  92282. * can be read from the Point.dataGroup. If point options other than the
  92283. * data itself are set, for example `name` or `color` or custom properties,
  92284. * the grouping logic doesn't know how to group it. In this case the options
  92285. * of the first point instance are copied over to the group point. This can
  92286. * be altered through a custom `approximation` callback function.
  92287. */
  92288. dataGrouping?: DataGroupingOptionsObject;
  92289. /**
  92290. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  92291. * labels, appearing next to each data point.
  92292. *
  92293. * Since v6.2.0, multiple data labels can be applied to each single point by
  92294. * defining them as an array of configs.
  92295. *
  92296. * In styled mode, the data labels can be styled with the
  92297. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  92298. * (see example).
  92299. */
  92300. dataLabels?: (TimelineDataLabelsOptionsObject|Array<TimelineDataLabelsOptionsObject>);
  92301. /**
  92302. * (Highcharts) A description of the series to add to the screen reader
  92303. * information about the series.
  92304. */
  92305. description?: string;
  92306. /**
  92307. * (Highcharts) The draggable-points module allows points to be moved around
  92308. * or modified in the chart. In addition to the options mentioned under the
  92309. * `dragDrop` API structure, the module fires three events, point.dragStart,
  92310. * point.drag and point.drop.
  92311. */
  92312. dragDrop?: SeriesDragDropOptionsObject;
  92313. /**
  92314. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  92315. * This includes point tooltips and click events on graphs and points. For
  92316. * large datasets it improves performance.
  92317. */
  92318. enableMouseTracking?: boolean;
  92319. /**
  92320. * (Highcharts) General event handlers for the series items. These event
  92321. * hooks can also be attached to the series at run time using the
  92322. * `Highcharts.addEvent` function.
  92323. */
  92324. events?: SeriesEventsOptionsObject;
  92325. /**
  92326. * (Highstock) Defines when to display a gap in the graph, together with the
  92327. * gapUnit option.
  92328. *
  92329. * In case when `dataGrouping` is enabled, points can be grouped into a
  92330. * larger time span. This can make the grouped points to have a greater
  92331. * distance than the absolute value of `gapSize` property, which will result
  92332. * in disappearing graph completely. To prevent this situation the mentioned
  92333. * distance between grouped points is used instead of previously defined
  92334. * `gapSize`.
  92335. *
  92336. * In practice, this option is most often used to visualize gaps in time
  92337. * series. In a stock chart, intraday data is available for daytime hours,
  92338. * while gaps will appear in nights and weekends.
  92339. */
  92340. gapSize?: number;
  92341. /**
  92342. * (Highstock) Together with gapSize, this option defines where to draw gaps
  92343. * in the graph.
  92344. *
  92345. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  92346. * if the distance between two points is greater than 5 times that of the
  92347. * two closest points, the graph will be broken.
  92348. *
  92349. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  92350. * values, which on a datetime axis is milliseconds. This also applies to
  92351. * the navigator series that inherits gap options from the base series.
  92352. */
  92353. gapUnit?: OptionsGapUnitValue;
  92354. ignoreHiddenPoint?: boolean;
  92355. /**
  92356. * (Highcharts) When set to `false` will prevent the series data from being
  92357. * included in any form of data export.
  92358. *
  92359. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  92360. * `includeInCSVExport`.
  92361. */
  92362. includeInDataExport?: boolean;
  92363. /**
  92364. * (Highmaps) What property to join the `mapData` to the value data. For
  92365. * example, if joinBy is "code", the mapData items with a specific code is
  92366. * merged into the data with the same code. For maps loaded from GeoJSON,
  92367. * the keys may be held in each point's `properties` object.
  92368. *
  92369. * The joinBy option can also be an array of two values, where the first
  92370. * points to a key in the `mapData`, and the second points to another key in
  92371. * the `data`.
  92372. *
  92373. * When joinBy is `null`, the map items are joined by their position in the
  92374. * array, which performs much better in maps with many data points. This is
  92375. * the recommended option if you are printing more than a thousand data
  92376. * points and have a backend that can preprocess the data into a parallel
  92377. * array of the mapData.
  92378. */
  92379. joinBy?: (string|Array<string>);
  92380. /**
  92381. * (Highcharts) An array specifying which option maps to which key in the
  92382. * data point array. This makes it convenient to work with unstructured data
  92383. * arrays from different sources.
  92384. */
  92385. keys?: Array<string>;
  92386. /**
  92387. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  92388. * series as possible in a natural way, seeking to avoid other series. The
  92389. * goal of this feature is to make the chart more easily readable, like if a
  92390. * human designer placed the labels in the optimal position.
  92391. *
  92392. * The series labels currently work with series types having a `graph` or an
  92393. * `area`.
  92394. */
  92395. label?: SeriesLabelOptionsObject;
  92396. /**
  92397. * (Highstock) The line marks the last price from all points.
  92398. */
  92399. lastPrice?: SeriesLastPriceOptionsObject;
  92400. /**
  92401. * (Highstock) The line marks the last price from visible range of points.
  92402. */
  92403. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  92404. /**
  92405. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  92406. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  92407. * the ends and bends.
  92408. */
  92409. linecap?: SeriesLinecapValue;
  92410. lineWidth?: number;
  92411. /**
  92412. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  92413. * Additionally, the value can be ":previous" to link to the previous
  92414. * series. When two series are linked, only the first one appears in the
  92415. * legend. Toggling the visibility of this also toggles the linked series.
  92416. *
  92417. * If master series uses data sorting and linked series does not have its
  92418. * own sorting definition, the linked series will be sorted in the same
  92419. * order as the master one.
  92420. */
  92421. linkedTo?: string;
  92422. /**
  92423. * (Highcharts) Options for the point markers of line-like series.
  92424. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  92425. * visual appearance of the markers. Other series types, like column series,
  92426. * don't have markers, but have visual options on the series level instead.
  92427. *
  92428. * In styled mode, the markers can be styled with the `.highcharts-point`,
  92429. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  92430. */
  92431. marker?: PointMarkerOptionsObject;
  92432. /**
  92433. * (Highstock) Options for the corresponding navigator series if
  92434. * `showInNavigator` is `true` for this series. Available options are the
  92435. * same as any series, documented at plotOptions and series.
  92436. *
  92437. * These options are merged with options in navigator.series, and will take
  92438. * precedence if the same option is defined both places.
  92439. */
  92440. navigatorOptions?: PlotSeriesOptions;
  92441. /**
  92442. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  92443. * dataLabels.
  92444. */
  92445. opacity?: number;
  92446. /**
  92447. * (Highcharts) Properties for each single point.
  92448. */
  92449. point?: PlotSeriesPointOptions;
  92450. /**
  92451. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  92452. * an individual series. Overrides the chart wide configuration.
  92453. */
  92454. pointDescriptionFormatter?: Function;
  92455. /**
  92456. * (Highstock) The width of each point on the x axis. For example in a
  92457. * column chart with one value each day, the pointRange would be 1 day (= 24
  92458. * * 3600
  92459. *
  92460. * * 1000 milliseconds). This is normally computed automatically, but this
  92461. * option can be used to override the automatic value.
  92462. */
  92463. pointRange?: number;
  92464. /**
  92465. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  92466. * true, the checkbox next to the series name in the legend will be checked
  92467. * for a selected series.
  92468. */
  92469. selected?: boolean;
  92470. /**
  92471. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  92472. * the shadow can be an object configuration containing `color`, `offsetX`,
  92473. * `offsetY`, `opacity` and `width`.
  92474. */
  92475. shadow?: (boolean|ShadowOptionsObject);
  92476. /**
  92477. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  92478. * allow selecting the series. The state of the checkbox is determined by
  92479. * the `selected` option.
  92480. */
  92481. showCheckbox?: boolean;
  92482. /**
  92483. * (Highcharts) Whether to display this particular series or series type in
  92484. * the legend. Standalone series are shown in legend by default, and linked
  92485. * series are not. Since v7.2.0 it is possible to show series that use
  92486. * colorAxis by setting this option to `true`.
  92487. */
  92488. showInLegend?: boolean;
  92489. /**
  92490. * (Highstock) Whether or not to show the series in the navigator. Takes
  92491. * precedence over navigator.baseSeries if defined.
  92492. */
  92493. showInNavigator?: boolean;
  92494. /**
  92495. * (Highcharts) If set to `true`, the accessibility module will skip past
  92496. * the points in this series for keyboard navigation.
  92497. */
  92498. skipKeyboardNavigation?: boolean;
  92499. states?: SeriesStatesOptionsObject;
  92500. /**
  92501. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  92502. * event on a series isn't triggered until the mouse moves over another
  92503. * series, or out of the plot area. When false, the `mouseOut` event on a
  92504. * series is triggered when the mouse leaves the area around the series'
  92505. * graph or markers. This also implies the tooltip when not shared. When
  92506. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  92507. * be hidden when moving the mouse between series. Defaults to true for line
  92508. * and area type series, but to false for columns, pies etc.
  92509. *
  92510. * **Note:** The boost module will force this option because of technical
  92511. * limitations.
  92512. */
  92513. stickyTracking?: boolean;
  92514. /**
  92515. * (Highcharts) A configuration object for the tooltip rendering of each
  92516. * single series. Properties are inherited from tooltip, but only the
  92517. * following properties can be defined on a series level.
  92518. */
  92519. tooltip?: SeriesTooltipOptionsObject;
  92520. /**
  92521. * (Highstock) The parameter allows setting line series type and use OHLC
  92522. * indicators. Data in OHLC format is required.
  92523. */
  92524. useOhlcData?: boolean;
  92525. /**
  92526. * (Highcharts) Set the initial visibility of the series.
  92527. */
  92528. visible?: boolean;
  92529. /**
  92530. * (Highmaps) Define the z index of the series.
  92531. */
  92532. zIndex?: number;
  92533. }
  92534. /**
  92535. * (Highcharts) Enable or disable the initial animation when a series is
  92536. * displayed. The animation can also be set as a configuration object. Please
  92537. * note that this option only applies to the initial animation of the series
  92538. * itself. For other animations, see chart.animation and the animation parameter
  92539. * under the API methods. The following properties are supported:
  92540. *
  92541. * - `defer`: The animation delay time in milliseconds.
  92542. *
  92543. * - `duration`: The duration of the animation in milliseconds.
  92544. *
  92545. * - `easing`: Can be a string reference to an easing function set on the `Math`
  92546. * object or a function. See the _Custom easing function_ demo below.
  92547. *
  92548. * Due to poor performance, animation is disabled in old IE browsers for several
  92549. * chart types.
  92550. */
  92551. export interface PlotTreemapAnimationOptions {
  92552. defer?: number;
  92553. }
  92554. export interface PlotTreemapClusterEventsOptions {
  92555. /**
  92556. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  92557. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  92558. * function. The default action is to zoom to the cluster points range. This
  92559. * can be prevented by calling `event.preventDefault()`.
  92560. */
  92561. drillToCluster?: MarkerClusterDrillCallbackFunction;
  92562. }
  92563. /**
  92564. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  92565. * to change the type of the algorithm, gridSize, distance or iterations.
  92566. */
  92567. export interface PlotTreemapClusterLayoutAlgorithmOptions {
  92568. /**
  92569. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  92570. * maximum distance between point and cluster center so that this point will
  92571. * be inside the cluster. The distance is either a number defining pixels or
  92572. * a percentage defining a percentage of the plot area width.
  92573. */
  92574. distance?: (number|string);
  92575. /**
  92576. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  92577. * size of a grid square element either as a number defining pixels, or a
  92578. * percentage defining a percentage of the plot area width.
  92579. */
  92580. gridSize?: (number|string);
  92581. /**
  92582. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  92583. * the number of iterations that this algorithm will be repeated to find
  92584. * clusters positions.
  92585. */
  92586. iterations?: number;
  92587. /**
  92588. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  92589. * more visible points than the kmeansThreshold the `grid` algorithm is used
  92590. * to find clusters, otherwise `kmeans`. It ensures good performance on
  92591. * large datasets and better clusters arrangement after the zoom.
  92592. */
  92593. kmeansThreshold?: number;
  92594. /**
  92595. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  92596. * a cluster. There are three available algorithms:
  92597. *
  92598. * 1) `grid` - grid-based clustering technique. Points are assigned to
  92599. * squares of set size depending on their position on the plot area. Points
  92600. * inside the grid square are combined into a cluster. The grid size can be
  92601. * controlled by `gridSize` property (grid size changes at certain zoom
  92602. * levels).
  92603. *
  92604. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  92605. * points are divided using the grid method (distance property is a grid
  92606. * size) to find the initial amount of clusters. Next, each point is
  92607. * classified by computing the distance between each cluster center and that
  92608. * point. When the closest cluster distance is lower than distance property
  92609. * set by a user the point is added to this cluster otherwise is classified
  92610. * as `noise`. The algorithm is repeated until each cluster center not
  92611. * change its previous position more than one pixel. This technique is more
  92612. * accurate but also more time consuming than the `grid` algorithm,
  92613. * especially for big datasets.
  92614. *
  92615. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  92616. * algorithm uses k-means algorithm only on the chart initialization or when
  92617. * chart extremes have greater range than on initialization. When a chart is
  92618. * redrawn the algorithm checks only clustered points distance from the
  92619. * cluster center and rebuild it when the point is spaced enough to be
  92620. * outside the cluster. It provides performance improvement and more stable
  92621. * clusters position yet can be used rather on small and sparse datasets.
  92622. *
  92623. * By default, the algorithm depends on visible quantity of points and
  92624. * `kmeansThreshold`. When there are more visible points than the
  92625. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  92626. *
  92627. * The custom clustering algorithm can be added by assigning a callback
  92628. * function as the type property. This function takes an array of
  92629. * `processedXData`, `processedYData`, `processedXData` indexes and
  92630. * `layoutAlgorithm` options as arguments and should return an object with
  92631. * grouped data.
  92632. *
  92633. * The algorithm should return an object like that: (see online
  92634. * documentation for example)
  92635. *
  92636. * `clusterId` (example above - unique id of a cluster or noise) is an array
  92637. * of points belonging to a cluster. If the array has only one point or
  92638. * fewer points than set in `cluster.minimumClusterSize` it won't be
  92639. * combined into a cluster.
  92640. */
  92641. type?: (string|Function);
  92642. }
  92643. /**
  92644. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  92645. * the data values into larger blocks in order to ease readability and increase
  92646. * performance of the JavaScript charts.
  92647. *
  92648. * Note: marker clusters module is not working with `boost` and
  92649. * `draggable-points` modules.
  92650. *
  92651. * The marker clusters feature requires the marker-clusters.js file to be
  92652. * loaded, found in the modules directory of the download package, or online at
  92653. * code.highcharts.com/modules/marker-clusters.js.
  92654. */
  92655. export interface PlotTreemapClusterOptions {
  92656. /**
  92657. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  92658. * this option works only when `layoutAlgorithm.type = "grid"`.
  92659. */
  92660. allowOverlap?: boolean;
  92661. /**
  92662. * (Highcharts, Highmaps) Options for the cluster marker animation.
  92663. */
  92664. animation?: (boolean|Partial<AnimationOptionsObject>);
  92665. /**
  92666. * (Highcharts, Highmaps) Options for the cluster data labels.
  92667. */
  92668. dataLabels?: DataLabelsOptions;
  92669. /**
  92670. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  92671. * when a cluster is clicked.
  92672. */
  92673. drillToCluster?: boolean;
  92674. /**
  92675. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  92676. */
  92677. enabled?: boolean;
  92678. events?: PlotTreemapClusterEventsOptions;
  92679. /**
  92680. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  92681. * options to change the type of the algorithm, gridSize, distance or
  92682. * iterations.
  92683. */
  92684. layoutAlgorithm?: PlotTreemapClusterLayoutAlgorithmOptions;
  92685. /**
  92686. * (Highcharts, Highmaps) Options for the cluster marker.
  92687. */
  92688. marker?: PointMarkerOptionsObject;
  92689. /**
  92690. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  92691. * cluster. This value has to be greater or equal to 2.
  92692. */
  92693. minimumClusterSize?: number;
  92694. states?: PlotTreemapClusterStatesOptions;
  92695. /**
  92696. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  92697. *
  92698. * In styled mode, the color zones are styled with the
  92699. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  92700. * `className` option.
  92701. */
  92702. zones?: Array<PlotTreemapClusterZonesOptions>;
  92703. }
  92704. export interface PlotTreemapClusterStatesHoverOptions {
  92705. /**
  92706. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  92707. * state. When `undefined`, the series' or point's fillColor for normal
  92708. * state is used.
  92709. */
  92710. fillColor?: ColorType;
  92711. }
  92712. export interface PlotTreemapClusterStatesOptions {
  92713. hover?: PlotTreemapClusterStatesHoverOptions;
  92714. }
  92715. /**
  92716. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  92717. *
  92718. * In styled mode, the color zones are styled with the
  92719. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  92720. * option.
  92721. */
  92722. export interface PlotTreemapClusterZonesOptions {
  92723. /**
  92724. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  92725. * zone.
  92726. */
  92727. className?: string;
  92728. /**
  92729. * (Highcharts, Highmaps) The value where the zone starts.
  92730. */
  92731. from?: number;
  92732. /**
  92733. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  92734. * zone.
  92735. */
  92736. marker?: PointMarkerOptionsObject;
  92737. /**
  92738. * (Highcharts, Highmaps) The value where the zone ends.
  92739. */
  92740. to?: number;
  92741. }
  92742. /**
  92743. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92744. * animation when a series is displayed for the `dataLabels`. The animation can
  92745. * also be set as a configuration object. Please note that this option only
  92746. * applies to the initial animation. For other animations, see chart.animation
  92747. * and the animation parameter under the API methods. The following properties
  92748. * are supported:
  92749. *
  92750. * - `defer`: The animation delay time in milliseconds.
  92751. */
  92752. export interface PlotTreemapDataLabelsAnimationOptions {
  92753. /**
  92754. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  92755. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  92756. * inherits defer time from the series.animation.defer.
  92757. */
  92758. defer?: number;
  92759. }
  92760. /**
  92761. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  92762. * appearing next to each data point.
  92763. *
  92764. * Since v6.2.0, multiple data labels can be applied to each single point by
  92765. * defining them as an array of configs.
  92766. *
  92767. * In styled mode, the data labels can be styled with the
  92768. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  92769. * example).
  92770. */
  92771. export interface PlotTreemapDataLabelsOptions {
  92772. /**
  92773. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  92774. * compared to the point. If `right`, the right side of the label should be
  92775. * touching the point. For points with an extent, like columns, the
  92776. * alignments also dictates how to align it inside the box, as given with
  92777. * the inside option. Can be one of `left`, `center` or `right`.
  92778. */
  92779. align?: (AlignValue|null);
  92780. /**
  92781. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  92782. * overlap. To make the labels less sensitive for overlapping, the
  92783. * dataLabels.padding can be set to 0.
  92784. */
  92785. allowOverlap?: boolean;
  92786. /**
  92787. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  92788. * animation when a series is displayed for the `dataLabels`. The animation
  92789. * can also be set as a configuration object. Please note that this option
  92790. * only applies to the initial animation. For other animations, see
  92791. * chart.animation and the animation parameter under the API methods. The
  92792. * following properties are supported:
  92793. *
  92794. * - `defer`: The animation delay time in milliseconds.
  92795. */
  92796. animation?: (boolean|PlotTreemapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  92797. /**
  92798. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  92799. * for the data label.
  92800. */
  92801. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  92802. /**
  92803. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  92804. * label. Defaults to `undefined`.
  92805. */
  92806. borderColor?: (ColorString|GradientColorObject|PatternObject);
  92807. /**
  92808. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  92809. * the data label.
  92810. */
  92811. borderRadius?: number;
  92812. /**
  92813. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  92814. * the data label.
  92815. */
  92816. borderWidth?: number;
  92817. /**
  92818. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  92819. * Particularly in styled mode, this can be used to give each series' or
  92820. * point's data label unique styling. In addition to this option, a default
  92821. * color class name is added so that we can give the labels a contrast text
  92822. * shadow.
  92823. */
  92824. className?: string;
  92825. /**
  92826. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  92827. * labels. Defaults to `undefined`. For certain series types, like column or
  92828. * map, the data labels can be drawn inside the points. In this case the
  92829. * data label will be drawn with maximum contrast by default. Additionally,
  92830. * it will be given a `text-outline` style with the opposite color, to
  92831. * further increase the contrast. This can be overridden by setting the
  92832. * `text-outline` style to `none` in the `dataLabels.style` option.
  92833. */
  92834. color?: (ColorString|GradientColorObject|PatternObject);
  92835. /**
  92836. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  92837. * are outside the plot area. By default, the data label is moved inside the
  92838. * plot area according to the overflow option.
  92839. */
  92840. crop?: boolean;
  92841. /**
  92842. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  92843. * labels until the initial series animation has finished. Setting to
  92844. * `false` renders the data label immediately. If set to `true` inherits the
  92845. * defer time set in plotOptions.series.animation. If set to a number, a
  92846. * defer time is specified in milliseconds.
  92847. */
  92848. defer?: boolean;
  92849. /**
  92850. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  92851. * labels.
  92852. */
  92853. enabled?: boolean;
  92854. /**
  92855. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  92856. * of which data labels to display. The declarative filter is designed for
  92857. * use when callback functions are not available, like when the chart
  92858. * options require a pure JSON structure or for use with graphical editors.
  92859. * For programmatic control, use the `formatter` instead, and return
  92860. * `undefined` to disable a single data label.
  92861. */
  92862. filter?: DataLabelsFilterOptionsObject;
  92863. /**
  92864. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  92865. * label. Available variables are the same as for `formatter`.
  92866. */
  92867. format?: string;
  92868. /**
  92869. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  92870. * format the data label. Note that if a `format` is defined, the format
  92871. * takes precedence and the formatter is ignored.
  92872. */
  92873. formatter?: DataLabelsFormatterCallbackFunction;
  92874. /**
  92875. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  92876. * columns or map areas, whether to align the data label inside the box or
  92877. * to the actual value point. Defaults to `false` in most cases, `true` in
  92878. * stacked columns.
  92879. */
  92880. inside?: boolean;
  92881. /**
  92882. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  92883. * of null. Works analogously to format. `nullFormat` can be applied only to
  92884. * series which support displaying null points.
  92885. */
  92886. nullFormat?: (boolean|string);
  92887. /**
  92888. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  92889. * that defines formatting for points with the value of null. Works
  92890. * analogously to formatter. `nullPointFormatter` can be applied only to
  92891. * series which support displaying null points.
  92892. */
  92893. nullFormatter?: DataLabelsFormatterCallbackFunction;
  92894. /**
  92895. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  92896. * flow outside the plot area. The default is `"justify"`, which aligns them
  92897. * inside the plot area. For columns and bars, this means it will be moved
  92898. * inside the bar. To display data labels outside the plot area, set `crop`
  92899. * to `false` and `overflow` to `"allow"`.
  92900. */
  92901. overflow?: DataLabelsOverflowValue;
  92902. /**
  92903. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  92904. * the `backgroundColor` is set, this is the padding within the box.
  92905. */
  92906. padding?: number;
  92907. /**
  92908. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  92909. * points. If `center` alignment is not possible, it defaults to `right`.
  92910. */
  92911. position?: AlignValue;
  92912. /**
  92913. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  92914. * that due to a more complex structure, backgrounds, borders and padding
  92915. * will be lost on a rotated data label.
  92916. */
  92917. rotation?: number;
  92918. /**
  92919. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  92920. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  92921. * an object configuration containing `color`, `offsetX`, `offsetY`,
  92922. * `opacity` and `width`.
  92923. */
  92924. shadow?: (boolean|ShadowOptionsObject);
  92925. /**
  92926. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  92927. * the border around the label. Symbols are predefined functions on the
  92928. * Renderer object.
  92929. */
  92930. shape?: string;
  92931. /**
  92932. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  92933. * default `color` setting is `"contrast"`, which is a pseudo color that
  92934. * Highcharts picks up and applies the maximum contrast to the underlying
  92935. * point item, for example the bar in a bar chart.
  92936. *
  92937. * The `textOutline` is a pseudo property that applies an outline of the
  92938. * given width with the given color, which by default is the maximum
  92939. * contrast to the text. So a bright text color will result in a black text
  92940. * outline for maximum readability on a mixed background. In some cases,
  92941. * especially with grayscale text, the text outline doesn't work well, in
  92942. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  92943. * is true, the `textOutline` will not be picked up. In this, case, the same
  92944. * effect can be acheived through the `text-shadow` CSS property.
  92945. *
  92946. * For some series types, where each point has an extent, like for example
  92947. * tree maps, the data label may overflow the point. There are two
  92948. * strategies for handling overflow. By default, the text will wrap to
  92949. * multiple lines. The other strategy is to set `style.textOverflow` to
  92950. * `ellipsis`, which will keep the text on one line plus it will break
  92951. * inside long words.
  92952. */
  92953. style?: CSSObject;
  92954. /**
  92955. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  92956. * should follow marker's shape. Border and background are disabled for a
  92957. * label that follows a path.
  92958. *
  92959. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  92960. * to true will disable this option.
  92961. */
  92962. textPath?: DataLabelsTextPathOptionsObject;
  92963. /**
  92964. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  92965. * the labels.
  92966. */
  92967. useHTML?: boolean;
  92968. /**
  92969. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  92970. * label. Can be one of `top`, `middle` or `bottom`. The default value
  92971. * depends on the data, for instance in a column chart, the label is above
  92972. * positive values and below negative values.
  92973. */
  92974. verticalAlign?: string;
  92975. /**
  92976. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  92977. * label relative to the point in pixels.
  92978. */
  92979. x?: number;
  92980. /**
  92981. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  92982. * label relative to the point in pixels.
  92983. */
  92984. y?: number;
  92985. /**
  92986. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  92987. * The default Z index puts it above the series. Use a Z index of 2 to
  92988. * display it behind the series.
  92989. */
  92990. z?: number;
  92991. }
  92992. /**
  92993. * (Highcharts) A configuration object to define how the color of a child varies
  92994. * from the parent's color. The variation is distributed among the children of
  92995. * node. For example when setting brightness, the brightness change will range
  92996. * from the parent's original brightness on the first child, to the amount set
  92997. * in the `to` setting on the last node. This allows a gradient-like color
  92998. * scheme that sets children out from each other while highlighting the grouping
  92999. * on treemaps and sectors on sunburst charts.
  93000. */
  93001. export interface PlotTreemapLevelsColorVariationOptions {
  93002. /**
  93003. * (Highcharts) The key of a color variation. Currently supports
  93004. * `brightness` only.
  93005. */
  93006. key?: "brightness";
  93007. /**
  93008. * (Highcharts) The ending value of a color variation. The last sibling will
  93009. * receive this value.
  93010. */
  93011. to?: number;
  93012. }
  93013. /**
  93014. * (Highcharts) Enable or disable the initial animation when a series is
  93015. * displayed for the `dataLabels`. The animation can also be set as a
  93016. * configuration object. Please note that this option only applies to the
  93017. * initial animation. For other animations, see chart.animation and the
  93018. * animation parameter under the API methods. The following properties are
  93019. * supported:
  93020. *
  93021. * - `defer`: The animation delay time in milliseconds.
  93022. */
  93023. export interface PlotTreemapLevelsDataLabelsAnimationOptions {
  93024. /**
  93025. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  93026. * dataLabel immediately. As `undefined` inherits defer time from the
  93027. * series.animation.defer.
  93028. */
  93029. defer?: number;
  93030. }
  93031. /**
  93032. * (Highcharts) Can set the options of dataLabels on each point which lies on
  93033. * the level. plotOptions.treemap.dataLabels for possible values.
  93034. */
  93035. export interface PlotTreemapLevelsDataLabelsOptions {
  93036. /**
  93037. * (Highcharts) The alignment of the data label compared to the point. If
  93038. * `right`, the right side of the label should be touching the point. For
  93039. * points with an extent, like columns, the alignments also dictates how to
  93040. * align it inside the box, as given with the inside option. Can be one of
  93041. * `left`, `center` or `right`.
  93042. */
  93043. align?: (AlignValue|null);
  93044. /**
  93045. * (Highcharts) Whether to allow data labels to overlap. To make the labels
  93046. * less sensitive for overlapping, the dataLabels.padding can be set to 0.
  93047. */
  93048. allowOverlap?: boolean;
  93049. /**
  93050. * (Highcharts) Enable or disable the initial animation when a series is
  93051. * displayed for the `dataLabels`. The animation can also be set as a
  93052. * configuration object. Please note that this option only applies to the
  93053. * initial animation. For other animations, see chart.animation and the
  93054. * animation parameter under the API methods. The following properties are
  93055. * supported:
  93056. *
  93057. * - `defer`: The animation delay time in milliseconds.
  93058. */
  93059. animation?: (boolean|PlotTreemapLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  93060. /**
  93061. * (Highcharts) The background color or gradient for the data label.
  93062. */
  93063. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  93064. /**
  93065. * (Highcharts) The border color for the data label. Defaults to
  93066. * `undefined`.
  93067. */
  93068. borderColor?: (ColorString|GradientColorObject|PatternObject);
  93069. /**
  93070. * (Highcharts) The border radius in pixels for the data label.
  93071. */
  93072. borderRadius?: number;
  93073. /**
  93074. * (Highcharts) The border width in pixels for the data label.
  93075. */
  93076. borderWidth?: number;
  93077. /**
  93078. * (Highcharts) A class name for the data label. Particularly in styled
  93079. * mode, this can be used to give each series' or point's data label unique
  93080. * styling. In addition to this option, a default color class name is added
  93081. * so that we can give the labels a contrast text shadow.
  93082. */
  93083. className?: string;
  93084. /**
  93085. * (Highcharts) The text color for the data labels. Defaults to `undefined`.
  93086. * For certain series types, like column or map, the data labels can be
  93087. * drawn inside the points. In this case the data label will be drawn with
  93088. * maximum contrast by default. Additionally, it will be given a
  93089. * `text-outline` style with the opposite color, to further increase the
  93090. * contrast. This can be overridden by setting the `text-outline` style to
  93091. * `none` in the `dataLabels.style` option.
  93092. */
  93093. color?: (ColorString|GradientColorObject|PatternObject);
  93094. /**
  93095. * (Highcharts) Whether to hide data labels that are outside the plot area.
  93096. * By default, the data label is moved inside the plot area according to the
  93097. * overflow option.
  93098. */
  93099. crop?: boolean;
  93100. /**
  93101. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  93102. * labels until the initial series animation has finished. Setting to
  93103. * `false` renders the data label immediately. If set to `true` inherits the
  93104. * defer time set in plotOptions.series.animation. If set to a number, a
  93105. * defer time is specified in milliseconds.
  93106. */
  93107. defer?: boolean;
  93108. /**
  93109. * (Highcharts) Enable or disable the data labels.
  93110. */
  93111. enabled?: boolean;
  93112. /**
  93113. * (Highcharts) A declarative filter to control of which data labels to
  93114. * display. The declarative filter is designed for use when callback
  93115. * functions are not available, like when the chart options require a pure
  93116. * JSON structure or for use with graphical editors. For programmatic
  93117. * control, use the `formatter` instead, and return `undefined` to disable a
  93118. * single data label.
  93119. */
  93120. filter?: DataLabelsFilterOptionsObject;
  93121. /**
  93122. * (Highcharts) A format string for the data label. Available variables are
  93123. * the same as for `formatter`.
  93124. */
  93125. format?: string;
  93126. /**
  93127. * (Highcharts) Callback JavaScript function to format the data label. Note
  93128. * that if a `format` is defined, the format takes precedence and the
  93129. * formatter is ignored.
  93130. */
  93131. formatter?: DataLabelsFormatterCallbackFunction;
  93132. /**
  93133. * (Highcharts) For points with an extent, like columns or map areas,
  93134. * whether to align the data label inside the box or to the actual value
  93135. * point. Defaults to `false` in most cases, `true` in stacked columns.
  93136. */
  93137. inside?: boolean;
  93138. /**
  93139. * (Highcharts) Format for points with the value of null. Works analogously
  93140. * to format. `nullFormat` can be applied only to series which support
  93141. * displaying null points.
  93142. */
  93143. nullFormat?: (boolean|string);
  93144. /**
  93145. * (Highcharts) Callback JavaScript function that defines formatting for
  93146. * points with the value of null. Works analogously to formatter.
  93147. * `nullPointFormatter` can be applied only to series which support
  93148. * displaying null points.
  93149. */
  93150. nullFormatter?: DataLabelsFormatterCallbackFunction;
  93151. /**
  93152. * (Highcharts) How to handle data labels that flow outside the plot area.
  93153. * The default is `"justify"`, which aligns them inside the plot area. For
  93154. * columns and bars, this means it will be moved inside the bar. To display
  93155. * data labels outside the plot area, set `crop` to `false` and `overflow`
  93156. * to `"allow"`.
  93157. */
  93158. overflow?: DataLabelsOverflowValue;
  93159. /**
  93160. * (Highcharts) When either the `borderWidth` or the `backgroundColor` is
  93161. * set, this is the padding within the box.
  93162. */
  93163. padding?: number;
  93164. /**
  93165. * (Highcharts) Aligns data labels relative to points. If `center` alignment
  93166. * is not possible, it defaults to `right`.
  93167. */
  93168. position?: AlignValue;
  93169. /**
  93170. * (Highcharts) Text rotation in degrees. Note that due to a more complex
  93171. * structure, backgrounds, borders and padding will be lost on a rotated
  93172. * data label.
  93173. */
  93174. rotation?: number;
  93175. /**
  93176. * (Highcharts) The shadow of the box. Works best with `borderWidth` or
  93177. * `backgroundColor`. Since 2.3 the shadow can be an object configuration
  93178. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  93179. */
  93180. shadow?: (boolean|ShadowOptionsObject);
  93181. /**
  93182. * (Highcharts) The name of a symbol to use for the border around the label.
  93183. * Symbols are predefined functions on the Renderer object.
  93184. */
  93185. shape?: string;
  93186. /**
  93187. * (Highcharts) Styles for the label. The default `color` setting is
  93188. * `"contrast"`, which is a pseudo color that Highcharts picks up and
  93189. * applies the maximum contrast to the underlying point item, for example
  93190. * the bar in a bar chart.
  93191. *
  93192. * The `textOutline` is a pseudo property that applies an outline of the
  93193. * given width with the given color, which by default is the maximum
  93194. * contrast to the text. So a bright text color will result in a black text
  93195. * outline for maximum readability on a mixed background. In some cases,
  93196. * especially with grayscale text, the text outline doesn't work well, in
  93197. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  93198. * is true, the `textOutline` will not be picked up. In this, case, the same
  93199. * effect can be acheived through the `text-shadow` CSS property.
  93200. *
  93201. * For some series types, where each point has an extent, like for example
  93202. * tree maps, the data label may overflow the point. There are two
  93203. * strategies for handling overflow. By default, the text will wrap to
  93204. * multiple lines. The other strategy is to set `style.textOverflow` to
  93205. * `ellipsis`, which will keep the text on one line plus it will break
  93206. * inside long words.
  93207. */
  93208. style?: CSSObject;
  93209. /**
  93210. * (Highcharts) Options for a label text which should follow marker's shape.
  93211. * Border and background are disabled for a label that follows a path.
  93212. *
  93213. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  93214. * to true will disable this option.
  93215. */
  93216. textPath?: DataLabelsTextPathOptionsObject;
  93217. /**
  93218. * (Highcharts) Whether to use HTML to render the labels.
  93219. */
  93220. useHTML?: boolean;
  93221. /**
  93222. * (Highcharts) The vertical alignment of a data label. Can be one of `top`,
  93223. * `middle` or `bottom`. The default value depends on the data, for instance
  93224. * in a column chart, the label is above positive values and below negative
  93225. * values.
  93226. */
  93227. verticalAlign?: string;
  93228. /**
  93229. * (Highcharts) The x position offset of the label relative to the point in
  93230. * pixels.
  93231. */
  93232. x?: number;
  93233. /**
  93234. * (Highcharts) The y position offset of the label relative to the point in
  93235. * pixels.
  93236. */
  93237. y?: number;
  93238. /**
  93239. * (Highcharts) The Z index of the data labels. The default Z index puts it
  93240. * above the series. Use a Z index of 2 to display it behind the series.
  93241. */
  93242. z?: number;
  93243. }
  93244. /**
  93245. * (Highcharts) Set options on specific levels. Takes precedence over series
  93246. * options, but not point options.
  93247. */
  93248. export interface PlotTreemapLevelsOptions {
  93249. /**
  93250. * (Highcharts) Can set a `borderColor` on all points which lies on the same
  93251. * level.
  93252. */
  93253. borderColor?: ColorString;
  93254. /**
  93255. * (Highcharts) Set the dash style of the border of all the point which lies
  93256. * on the level. See plotOptions.scatter.dashStyle for possible options.
  93257. */
  93258. borderDashStyle?: DashStyleValue;
  93259. /**
  93260. * (Highcharts) Can set the borderWidth on all points which lies on the same
  93261. * level.
  93262. */
  93263. borderWidth?: number;
  93264. /**
  93265. * (Highcharts) Can set a color on all points which lies on the same level.
  93266. */
  93267. color?: (ColorString|GradientColorObject|PatternObject);
  93268. /**
  93269. * (Highcharts) A configuration object to define how the color of a child
  93270. * varies from the parent's color. The variation is distributed among the
  93271. * children of node. For example when setting brightness, the brightness
  93272. * change will range from the parent's original brightness on the first
  93273. * child, to the amount set in the `to` setting on the last node. This
  93274. * allows a gradient-like color scheme that sets children out from each
  93275. * other while highlighting the grouping on treemaps and sectors on sunburst
  93276. * charts.
  93277. */
  93278. colorVariation?: PlotTreemapLevelsColorVariationOptions;
  93279. /**
  93280. * (Highcharts) Can set the options of dataLabels on each point which lies
  93281. * on the level. plotOptions.treemap.dataLabels for possible values.
  93282. */
  93283. dataLabels?: (PlotTreemapLevelsDataLabelsOptions|Array<PlotTreemapLevelsDataLabelsOptions>);
  93284. /**
  93285. * (Highcharts) Can set the layoutAlgorithm option on a specific level.
  93286. */
  93287. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  93288. /**
  93289. * (Highcharts) Can set the layoutStartingDirection option on a specific
  93290. * level.
  93291. */
  93292. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  93293. /**
  93294. * (Highcharts) Decides which level takes effect from the options set in the
  93295. * levels object.
  93296. */
  93297. level?: number;
  93298. }
  93299. /**
  93300. * (Highcharts) A treemap displays hierarchical data using nested rectangles.
  93301. * The data can be laid out in varying ways depending on options.
  93302. *
  93303. * In TypeScript the type option must always be set.
  93304. *
  93305. * Configuration options for the series are given in three levels:
  93306. *
  93307. * 1. Options for all series in a chart are defined in the plotOptions.series
  93308. * object.
  93309. *
  93310. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  93311. *
  93312. * 3. Options for one single series are given in the series instance array. (see
  93313. * online documentation for example)
  93314. */
  93315. export interface PlotTreemapOptions {
  93316. /**
  93317. * (Highcharts) Accessibility options for a series.
  93318. */
  93319. accessibility?: SeriesAccessibilityOptionsObject;
  93320. /**
  93321. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  93322. * rendered. If `true`, areas which don't correspond to a data point, are
  93323. * rendered as `null` points. If `false`, those areas are skipped.
  93324. */
  93325. allAreas?: boolean;
  93326. /**
  93327. * (Highcharts) Allow this series' points to be selected by clicking on the
  93328. * graphic (columns, point markers, pie slices, map areas etc).
  93329. *
  93330. * The selected points can be handled by point select and unselect events,
  93331. * or collectively by the getSelectedPoints function.
  93332. *
  93333. * And alternative way of selecting points is through dragging.
  93334. */
  93335. allowPointSelect?: boolean;
  93336. /**
  93337. * (Highcharts) When enabled the user can click on a point which is a parent
  93338. * and zoom in on its children.
  93339. */
  93340. allowTraversingTree?: boolean;
  93341. /**
  93342. * (Highcharts) Enabling this option will make the treemap alternate the
  93343. * drawing direction between vertical and horizontal. The next levels
  93344. * starting direction will always be the opposite of the previous.
  93345. */
  93346. alternateStartingDirection?: boolean;
  93347. /**
  93348. * (Highcharts) Enable or disable the initial animation when a series is
  93349. * displayed. The animation can also be set as a configuration object.
  93350. * Please note that this option only applies to the initial animation of the
  93351. * series itself. For other animations, see chart.animation and the
  93352. * animation parameter under the API methods. The following properties are
  93353. * supported:
  93354. *
  93355. * - `defer`: The animation delay time in milliseconds.
  93356. *
  93357. * - `duration`: The duration of the animation in milliseconds.
  93358. *
  93359. * - `easing`: Can be a string reference to an easing function set on the
  93360. * `Math` object or a function. See the _Custom easing function_ demo below.
  93361. *
  93362. * Due to poor performance, animation is disabled in old IE browsers for
  93363. * several chart types.
  93364. */
  93365. animation?: (boolean|PlotTreemapAnimationOptions|Partial<AnimationOptionsObject>);
  93366. /**
  93367. * (Highcharts) For some series, there is a limit that shuts down initial
  93368. * animation by default when the total number of points in the chart is too
  93369. * high. For example, for a column chart and its derivatives, animation does
  93370. * not run if there is more than 250 points totally. To disable this cap,
  93371. * set `animationLimit` to `Infinity`.
  93372. */
  93373. animationLimit?: number;
  93374. /**
  93375. * (Highcharts) Sets the color blending in the boost module.
  93376. */
  93377. boostBlending?: OptionsBoostBlendingValue;
  93378. /**
  93379. * (Highcharts) Set the point threshold for when a series should enter boost
  93380. * mode.
  93381. *
  93382. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  93383. * there are 2000 or more points in the series.
  93384. *
  93385. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  93386. * it to 1 will force boosting.
  93387. *
  93388. * Note that the cropThreshold also affects this setting. When zooming in on
  93389. * a series that has fewer points than the `cropThreshold`, all points are
  93390. * rendered although outside the visible plot area, and the `boostThreshold`
  93391. * won't take effect.
  93392. */
  93393. boostThreshold?: number;
  93394. /**
  93395. * (Highmaps) The color of the border surrounding each tree map item.
  93396. */
  93397. borderColor?: ColorString;
  93398. /**
  93399. * (Highcharts) The border radius for each treemap item.
  93400. */
  93401. borderRadius?: number;
  93402. /**
  93403. * (Highmaps) The width of the border surrounding each tree map item.
  93404. */
  93405. borderWidth?: number;
  93406. /**
  93407. * (Highcharts) An additional class name to apply to the series' graphical
  93408. * elements. This option does not replace default class names of the
  93409. * graphical element.
  93410. */
  93411. className?: string;
  93412. /**
  93413. * (Highcharts) Disable this option to allow series rendering in the whole
  93414. * plotting area.
  93415. *
  93416. * **Note:** Clipping should be always enabled when chart.zoomType is set
  93417. */
  93418. clip?: boolean;
  93419. /**
  93420. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  93421. * sampling the data values into larger blocks in order to ease readability
  93422. * and increase performance of the JavaScript charts.
  93423. *
  93424. * Note: marker clusters module is not working with `boost` and
  93425. * `draggable-points` modules.
  93426. *
  93427. * The marker clusters feature requires the marker-clusters.js file to be
  93428. * loaded, found in the modules directory of the download package, or online
  93429. * at code.highcharts.com/modules/marker-clusters.js.
  93430. */
  93431. cluster?: PlotTreemapClusterOptions;
  93432. /**
  93433. * (Highcharts) The main color of the series. In line type series it applies
  93434. * to the line and the point markers unless otherwise specified. In bar type
  93435. * series it applies to the bars unless a color is specified per point. The
  93436. * default value is pulled from the `options.colors` array.
  93437. *
  93438. * In styled mode, the color can be defined by the colorIndex option. Also,
  93439. * the series color can be set with the `.highcharts-series`,
  93440. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  93441. * `.highcharts-series-{n}` class, or individual classes given by the
  93442. * `className` option.
  93443. */
  93444. color?: (ColorString|GradientColorObject|PatternObject);
  93445. /**
  93446. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  93447. * this number defines which colorAxis the particular series is connected
  93448. * to. It refers to either the axis id or the index of the axis in the
  93449. * colorAxis array, with 0 being the first. Set this option to false to
  93450. * prevent a series from connecting to the default color axis.
  93451. *
  93452. * Since v7.2.0 the option can also be an axis id or an axis index instead
  93453. * of a boolean flag.
  93454. */
  93455. colorAxis?: (boolean|number|string);
  93456. /**
  93457. * (Highcharts) When using automatic point colors pulled from the
  93458. * `options.colors` collection, this option determines whether the chart
  93459. * should receive one color per series or one color per point.
  93460. */
  93461. colorByPoint?: object;
  93462. /**
  93463. * (Highcharts) Styled mode only. A specific color index to use for the
  93464. * series, so its graphic representations are given the class name
  93465. * `highcharts-color-{n}`.
  93466. */
  93467. colorIndex?: number;
  93468. /**
  93469. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  93470. * used to calculate point color if `colorAxis` is used. Requires to set
  93471. * `min` and `max` if some custom point property is used or if approximation
  93472. * for data grouping is set to `'sum'`.
  93473. */
  93474. colorKey?: string;
  93475. /**
  93476. * (Highcharts) A series specific or series type specific color set to apply
  93477. * instead of the global colors when colorByPoint is true.
  93478. */
  93479. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  93480. /**
  93481. * (Highstock) Compare the values of the series against the first non-null,
  93482. * non- zero value in the visible range. The y axis will show percentage or
  93483. * absolute change depending on whether `compare` is set to `"percent"` or
  93484. * `"value"`. When this is applied to multiple series, it allows comparing
  93485. * the development of the series against each other. Adds a `change` field
  93486. * to every point object.
  93487. */
  93488. compare?: string;
  93489. /**
  93490. * (Highstock) When compare is `percent`, this option dictates whether to
  93491. * use 0 or 100 as the base of comparison.
  93492. */
  93493. compareBase?: (0|100);
  93494. /**
  93495. * (Highstock) Defines if comparison should start from the first point
  93496. * within the visible range or should start from the first point **before**
  93497. * the range.
  93498. *
  93499. * In other words, this flag determines if first point within the visible
  93500. * range will have 0% (`compareStart=true`) or should have been already
  93501. * calculated according to the previous point (`compareStart=false`).
  93502. */
  93503. compareStart?: boolean;
  93504. /**
  93505. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  93506. * series plot across the extremes.
  93507. */
  93508. connectEnds?: boolean;
  93509. /**
  93510. * (Highcharts, Highstock) Whether to connect a graph line across null
  93511. * points, or render a gap between the two points on either side of the
  93512. * null.
  93513. */
  93514. connectNulls?: boolean;
  93515. /**
  93516. * (Gantt) Override Pathfinder connector options for a series. Requires
  93517. * Highcharts Gantt to be loaded.
  93518. */
  93519. connectors?: SeriesConnectorsOptionsObject;
  93520. /**
  93521. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  93522. * rounded to its nearest pixel in order to render sharp on screen. In some
  93523. * cases, when there are a lot of densely packed columns, this leads to
  93524. * visible difference in column widths or distance between columns. In these
  93525. * cases, setting `crisp` to `false` may look better, even though each
  93526. * column is rendered blurry.
  93527. */
  93528. crisp?: boolean;
  93529. /**
  93530. * (Highcharts) When the series contains less points than the crop
  93531. * threshold, all points are drawn, event if the points fall outside the
  93532. * visible plot area at the current zoom. The advantage of drawing all
  93533. * points (including markers and columns), is that animation is performed on
  93534. * updates. On the other hand, when the series contains more points than the
  93535. * crop threshold, the series data is cropped to only contain points that
  93536. * fall within the plot area. The advantage of cropping away invisible
  93537. * points is to increase performance on large series.
  93538. */
  93539. cropThreshold?: number;
  93540. /**
  93541. * (Highcharts) You can set the cursor to "pointer" if you have click events
  93542. * attached to the series, to signal to the user that the points and lines
  93543. * can be clicked.
  93544. *
  93545. * In styled mode, the series cursor can be set with the same classes as
  93546. * listed under series.color.
  93547. */
  93548. cursor?: (string|CursorValue);
  93549. /**
  93550. * (Highcharts) A reserved subspace to store options and values for
  93551. * customized functionality. Here you can add additional data for your own
  93552. * event callbacks and formatter callbacks.
  93553. */
  93554. custom?: Dictionary<any>;
  93555. /**
  93556. * (Highcharts) Name of the dash style to use for the graph, or for some
  93557. * series types the outline of each shape.
  93558. *
  93559. * In styled mode, the stroke dash-array can be set with the same classes as
  93560. * listed under series.color.
  93561. */
  93562. dashStyle?: DashStyleValue;
  93563. /**
  93564. * (Highstock) Data grouping is the concept of sampling the data values into
  93565. * larger blocks in order to ease readability and increase performance of
  93566. * the JavaScript charts. Highcharts Stock by default applies data grouping
  93567. * when the points become closer than a certain pixel value, determined by
  93568. * the `groupPixelWidth` option.
  93569. *
  93570. * If data grouping is applied, the grouping information of grouped points
  93571. * can be read from the Point.dataGroup. If point options other than the
  93572. * data itself are set, for example `name` or `color` or custom properties,
  93573. * the grouping logic doesn't know how to group it. In this case the options
  93574. * of the first point instance are copied over to the group point. This can
  93575. * be altered through a custom `approximation` callback function.
  93576. */
  93577. dataGrouping?: DataGroupingOptionsObject;
  93578. /**
  93579. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  93580. * labels, appearing next to each data point.
  93581. *
  93582. * Since v6.2.0, multiple data labels can be applied to each single point by
  93583. * defining them as an array of configs.
  93584. *
  93585. * In styled mode, the data labels can be styled with the
  93586. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  93587. * (see example).
  93588. */
  93589. dataLabels?: (PlotTreemapDataLabelsOptions|Array<PlotTreemapDataLabelsOptions>);
  93590. /**
  93591. * (Highcharts) A description of the series to add to the screen reader
  93592. * information about the series.
  93593. */
  93594. description?: string;
  93595. /**
  93596. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  93597. * This includes point tooltips and click events on graphs and points. For
  93598. * large datasets it improves performance.
  93599. */
  93600. enableMouseTracking?: boolean;
  93601. /**
  93602. * (Highcharts) General event handlers for the series items. These event
  93603. * hooks can also be attached to the series at run time using the
  93604. * `Highcharts.addEvent` function.
  93605. */
  93606. events?: SeriesEventsOptionsObject;
  93607. /**
  93608. * (Highcharts) Determines whether the series should look for the nearest
  93609. * point in both dimensions or just the x-dimension when hovering the
  93610. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  93611. * series. If the data has duplicate x-values, it is recommended to set this
  93612. * to `'xy'` to allow hovering over all points.
  93613. *
  93614. * Applies only to series types using nearest neighbor search (not direct
  93615. * hover) for tooltip.
  93616. */
  93617. findNearestPointBy?: OptionsFindNearestPointByValue;
  93618. /**
  93619. * (Highstock) Defines when to display a gap in the graph, together with the
  93620. * gapUnit option.
  93621. *
  93622. * In case when `dataGrouping` is enabled, points can be grouped into a
  93623. * larger time span. This can make the grouped points to have a greater
  93624. * distance than the absolute value of `gapSize` property, which will result
  93625. * in disappearing graph completely. To prevent this situation the mentioned
  93626. * distance between grouped points is used instead of previously defined
  93627. * `gapSize`.
  93628. *
  93629. * In practice, this option is most often used to visualize gaps in time
  93630. * series. In a stock chart, intraday data is available for daytime hours,
  93631. * while gaps will appear in nights and weekends.
  93632. */
  93633. gapSize?: number;
  93634. /**
  93635. * (Highstock) Together with gapSize, this option defines where to draw gaps
  93636. * in the graph.
  93637. *
  93638. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  93639. * if the distance between two points is greater than 5 times that of the
  93640. * two closest points, the graph will be broken.
  93641. *
  93642. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  93643. * values, which on a datetime axis is milliseconds. This also applies to
  93644. * the navigator series that inherits gap options from the base series.
  93645. */
  93646. gapUnit?: OptionsGapUnitValue;
  93647. /**
  93648. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  93649. * chart width or only the zoomed area when zooming in on parts of the X
  93650. * axis. By default, the Y axis adjusts to the min and max of the visible
  93651. * data. Cartesian series only.
  93652. */
  93653. getExtremesFromAll?: boolean;
  93654. /**
  93655. * (Highcharts) Whether to ignore hidden points when the layout algorithm
  93656. * runs. If `false`, hidden points will leave open spaces.
  93657. */
  93658. ignoreHiddenPoint?: boolean;
  93659. /**
  93660. * (Highcharts) When set to `false` will prevent the series data from being
  93661. * included in any form of data export.
  93662. *
  93663. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  93664. * `includeInCSVExport`.
  93665. */
  93666. includeInDataExport?: boolean;
  93667. /**
  93668. * (Highcharts) This option decides if the user can interact with the parent
  93669. * nodes or just the leaf nodes. When this option is undefined, it will be
  93670. * true by default. However when allowTraversingTree is true, then it will
  93671. * be false by default.
  93672. */
  93673. interactByLeaf?: boolean;
  93674. /**
  93675. * (Highmaps) What property to join the `mapData` to the value data. For
  93676. * example, if joinBy is "code", the mapData items with a specific code is
  93677. * merged into the data with the same code. For maps loaded from GeoJSON,
  93678. * the keys may be held in each point's `properties` object.
  93679. *
  93680. * The joinBy option can also be an array of two values, where the first
  93681. * points to a key in the `mapData`, and the second points to another key in
  93682. * the `data`.
  93683. *
  93684. * When joinBy is `null`, the map items are joined by their position in the
  93685. * array, which performs much better in maps with many data points. This is
  93686. * the recommended option if you are printing more than a thousand data
  93687. * points and have a backend that can preprocess the data into a parallel
  93688. * array of the mapData.
  93689. */
  93690. joinBy?: (string|Array<string>);
  93691. /**
  93692. * (Highcharts) An array specifying which option maps to which key in the
  93693. * data point array. This makes it convenient to work with unstructured data
  93694. * arrays from different sources.
  93695. */
  93696. keys?: Array<string>;
  93697. /**
  93698. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  93699. * series as possible in a natural way, seeking to avoid other series. The
  93700. * goal of this feature is to make the chart more easily readable, like if a
  93701. * human designer placed the labels in the optimal position.
  93702. *
  93703. * The series labels currently work with series types having a `graph` or an
  93704. * `area`.
  93705. */
  93706. label?: SeriesLabelOptionsObject;
  93707. /**
  93708. * (Highstock) The line marks the last price from all points.
  93709. */
  93710. lastPrice?: SeriesLastPriceOptionsObject;
  93711. /**
  93712. * (Highstock) The line marks the last price from visible range of points.
  93713. */
  93714. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  93715. /**
  93716. * (Highcharts) This option decides which algorithm is used for setting
  93717. * position and dimensions of the points.
  93718. */
  93719. layoutAlgorithm?: OptionsLayoutAlgorithmValue;
  93720. /**
  93721. * (Highcharts) Defines which direction the layout algorithm will start
  93722. * drawing.
  93723. */
  93724. layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
  93725. /**
  93726. * (Highcharts) Used together with the levels and allowTraversingTree
  93727. * options. When set to false the first level visible to be level one, which
  93728. * is dynamic when traversing the tree. Otherwise the level will be the same
  93729. * as the tree structure.
  93730. */
  93731. levelIsConstant?: boolean;
  93732. /**
  93733. * (Highcharts) Set options on specific levels. Takes precedence over series
  93734. * options, but not point options.
  93735. */
  93736. levels?: Array<PlotTreemapLevelsOptions>;
  93737. /**
  93738. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  93739. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  93740. * the ends and bends.
  93741. */
  93742. linecap?: SeriesLinecapValue;
  93743. /**
  93744. * (Highcharts, Highstock) The width of the line connecting the data points.
  93745. */
  93746. lineWidth?: number;
  93747. /**
  93748. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  93749. * Additionally, the value can be ":previous" to link to the previous
  93750. * series. When two series are linked, only the first one appears in the
  93751. * legend. Toggling the visibility of this also toggles the linked series.
  93752. *
  93753. * If master series uses data sorting and linked series does not have its
  93754. * own sorting definition, the linked series will be sorted in the same
  93755. * order as the master one.
  93756. */
  93757. linkedTo?: string;
  93758. /**
  93759. * (Highstock) Options for the corresponding navigator series if
  93760. * `showInNavigator` is `true` for this series. Available options are the
  93761. * same as any series, documented at plotOptions and series.
  93762. *
  93763. * These options are merged with options in navigator.series, and will take
  93764. * precedence if the same option is defined both places.
  93765. */
  93766. navigatorOptions?: PlotSeriesOptions;
  93767. /**
  93768. * (Highcharts) The color for the parts of the graph or points that are
  93769. * below the threshold. Note that `zones` takes precedence over the negative
  93770. * color. Using `negativeColor` is equivalent to applying a zone with value
  93771. * of 0.
  93772. */
  93773. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  93774. /**
  93775. * (Highcharts) The opacity of a point in treemap. When a point has
  93776. * children, the visibility of the children is determined by the opacity.
  93777. */
  93778. opacity?: number;
  93779. /**
  93780. * (Highcharts) Properties for each single point.
  93781. */
  93782. point?: PlotSeriesPointOptions;
  93783. /**
  93784. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  93785. * an individual series. Overrides the chart wide configuration.
  93786. */
  93787. pointDescriptionFormatter?: Function;
  93788. /**
  93789. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  93790. * a series, `pointInterval` defines the interval of the x values. For
  93791. * example, if a series contains one value every decade starting from year
  93792. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  93793. * `pointInterval` is set in milliseconds.
  93794. *
  93795. * It can be also be combined with `pointIntervalUnit` to draw irregular
  93796. * time intervals.
  93797. *
  93798. * Please note that this options applies to the _series data_, not the
  93799. * interval of the axis ticks, which is independent.
  93800. */
  93801. pointInterval?: number;
  93802. /**
  93803. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  93804. * setting the pointInterval to irregular time units, `day`, `month` and
  93805. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  93806. * also takes the DST crossover into consideration when dealing with local
  93807. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  93808. * months, 10 years etc.
  93809. *
  93810. * Please note that this options applies to the _series data_, not the
  93811. * interval of the axis ticks, which is independent.
  93812. */
  93813. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  93814. /**
  93815. * (Highstock) The width of each point on the x axis. For example in a
  93816. * column chart with one value each day, the pointRange would be 1 day (= 24
  93817. * * 3600
  93818. *
  93819. * * 1000 milliseconds). This is normally computed automatically, but this
  93820. * option can be used to override the automatic value.
  93821. */
  93822. pointRange?: number;
  93823. /**
  93824. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  93825. * a series, pointStart defines on what value to start. For example, if a
  93826. * series contains one yearly value starting from 1945, set pointStart to
  93827. * 1945.
  93828. */
  93829. pointStart?: number;
  93830. /**
  93831. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  93832. * true, the checkbox next to the series name in the legend will be checked
  93833. * for a selected series.
  93834. */
  93835. selected?: boolean;
  93836. /**
  93837. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  93838. * allow selecting the series. The state of the checkbox is determined by
  93839. * the `selected` option.
  93840. */
  93841. showCheckbox?: boolean;
  93842. /**
  93843. * (Highcharts) Whether to display this series type or specific series item
  93844. * in the legend.
  93845. */
  93846. showInLegend?: boolean;
  93847. /**
  93848. * (Highstock) Whether or not to show the series in the navigator. Takes
  93849. * precedence over navigator.baseSeries if defined.
  93850. */
  93851. showInNavigator?: boolean;
  93852. /**
  93853. * (Highcharts) If set to `true`, the accessibility module will skip past
  93854. * the points in this series for keyboard navigation.
  93855. */
  93856. skipKeyboardNavigation?: boolean;
  93857. /**
  93858. * (Highcharts, Highstock) When this is true, the series will not cause the
  93859. * Y axis to cross the zero plane (or threshold option) unless the data
  93860. * actually crosses the plane.
  93861. *
  93862. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  93863. * make the Y axis show negative values according to the `minPadding`
  93864. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  93865. */
  93866. softThreshold?: boolean;
  93867. /**
  93868. * (Highcharts) The sort index of the point inside the treemap level.
  93869. */
  93870. sortIndex?: number;
  93871. /**
  93872. * (Highcharts, Highstock) Whether to stack the values of each series on top
  93873. * of each other. Possible values are `undefined` to disable, `"normal"` to
  93874. * stack by value or `"percent"`.
  93875. *
  93876. * When stacking is enabled, data must be sorted in ascending X order.
  93877. *
  93878. * Some stacking options are related to specific series types. In the
  93879. * streamgraph series type, the stacking option is set to `"stream"`. The
  93880. * second one is `"overlap"`, which only applies to waterfall series.
  93881. */
  93882. stacking?: OptionsStackingValue;
  93883. /**
  93884. * (Highcharts) A wrapper object for all the series options in specific
  93885. * states.
  93886. */
  93887. states?: SeriesStatesOptionsObject;
  93888. /**
  93889. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  93890. * values are `left`, `center` and `right`.
  93891. */
  93892. step?: OptionsStepValue;
  93893. /**
  93894. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  93895. * `mouseOut` event on a series isn't triggered until the mouse moves over
  93896. * another series, or out of the plot area. When false, the `mouseOut` event
  93897. * on a series is triggered when the mouse leaves the area around the
  93898. * series' graph or markers. This also implies the tooltip. When
  93899. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  93900. * be hidden when moving the mouse between series.
  93901. */
  93902. stickyTracking?: boolean;
  93903. /**
  93904. * (Highcharts, Highstock) The threshold, also called zero level or base
  93905. * level. For line type series this is only used in conjunction with
  93906. * negativeColor.
  93907. */
  93908. threshold?: (number|null);
  93909. /**
  93910. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  93911. * of each single series. Properties are inherited from tooltip. Overridable
  93912. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  93913. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  93914. * series.name by default shows in the headerFormat and point.x and point.y
  93915. * in the pointFormat.
  93916. */
  93917. tooltip?: SeriesTooltipOptionsObject;
  93918. /**
  93919. * (Highcharts) Options for the button appearing when traversing down in a
  93920. * treemap.
  93921. */
  93922. traverseUpButton?: PlotTreemapTraverseUpButtonOptions;
  93923. /**
  93924. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  93925. * is longer than this, only one dimensional arrays of numbers, or two
  93926. * dimensional arrays with x and y values are allowed. Also, only the first
  93927. * point is tested, and the rest are assumed to be the same format. This
  93928. * saves expensive data checking and indexing in long series. Set it to `0`
  93929. * disable.
  93930. *
  93931. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  93932. * two dimensional arrays are allowed.
  93933. */
  93934. turboThreshold?: number;
  93935. /**
  93936. * (Highcharts) Set the initial visibility of the series.
  93937. */
  93938. visible?: boolean;
  93939. /**
  93940. * (Highmaps) Define the z index of the series.
  93941. */
  93942. zIndex?: number;
  93943. /**
  93944. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  93945. */
  93946. zoneAxis?: string;
  93947. /**
  93948. * (Highcharts, Highstock) An array defining zones within a series. Zones
  93949. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  93950. * the `zoneAxis` option. The zone definitions have to be in ascending order
  93951. * regarding to the value.
  93952. *
  93953. * In styled mode, the color zones are styled with the
  93954. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  93955. * option (view live demo).
  93956. */
  93957. zones?: Array<SeriesZonesOptionsObject>;
  93958. }
  93959. /**
  93960. * (Highcharts) Options for the button appearing when traversing down in a
  93961. * treemap.
  93962. */
  93963. export interface PlotTreemapTraverseUpButtonOptions {
  93964. /**
  93965. * (Highcharts) The position of the button.
  93966. */
  93967. position?: PlotTreemapTraverseUpButtonPositionOptions;
  93968. }
  93969. /**
  93970. * (Highcharts) The position of the button.
  93971. */
  93972. export interface PlotTreemapTraverseUpButtonPositionOptions {
  93973. /**
  93974. * (Highcharts) Horizontal alignment of the button.
  93975. */
  93976. align?: AlignValue;
  93977. /**
  93978. * (Highcharts) Vertical alignment of the button.
  93979. */
  93980. verticalAlign?: VerticalAlignValue;
  93981. /**
  93982. * (Highcharts) Horizontal offset of the button.
  93983. */
  93984. x?: number;
  93985. /**
  93986. * (Highcharts) Vertical offset of the button.
  93987. */
  93988. y?: number;
  93989. }
  93990. /**
  93991. * (Highstock) Enable or disable the initial animation when a series is
  93992. * displayed. The animation can also be set as a configuration object. Please
  93993. * note that this option only applies to the initial animation of the series
  93994. * itself. For other animations, see chart.animation and the animation parameter
  93995. * under the API methods. The following properties are supported:
  93996. *
  93997. * - `defer`: The animation delay time in milliseconds.
  93998. *
  93999. * - `duration`: The duration of the animation in milliseconds.
  94000. *
  94001. * - `easing`: Can be a string reference to an easing function set on the `Math`
  94002. * object or a function. See the _Custom easing function_ demo below.
  94003. *
  94004. * Due to poor performance, animation is disabled in old IE browsers for several
  94005. * chart types.
  94006. */
  94007. export interface PlotTrendlineAnimationOptions {
  94008. defer?: number;
  94009. }
  94010. /**
  94011. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94012. * animation when a series is displayed for the `dataLabels`. The animation can
  94013. * also be set as a configuration object. Please note that this option only
  94014. * applies to the initial animation. For other animations, see chart.animation
  94015. * and the animation parameter under the API methods. The following properties
  94016. * are supported:
  94017. *
  94018. * - `defer`: The animation delay time in milliseconds.
  94019. */
  94020. export interface PlotTrendlineDataLabelsAnimationOptions {
  94021. /**
  94022. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  94023. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  94024. * inherits defer time from the series.animation.defer.
  94025. */
  94026. defer?: number;
  94027. }
  94028. /**
  94029. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  94030. * appearing next to each data point.
  94031. *
  94032. * Since v6.2.0, multiple data labels can be applied to each single point by
  94033. * defining them as an array of configs.
  94034. *
  94035. * In styled mode, the data labels can be styled with the
  94036. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  94037. * example).
  94038. */
  94039. export interface PlotTrendlineDataLabelsOptions {
  94040. /**
  94041. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  94042. * compared to the point. If `right`, the right side of the label should be
  94043. * touching the point. For points with an extent, like columns, the
  94044. * alignments also dictates how to align it inside the box, as given with
  94045. * the inside option. Can be one of `left`, `center` or `right`.
  94046. */
  94047. align?: (AlignValue|null);
  94048. /**
  94049. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  94050. * overlap. To make the labels less sensitive for overlapping, the
  94051. * dataLabels.padding can be set to 0.
  94052. */
  94053. allowOverlap?: boolean;
  94054. /**
  94055. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94056. * animation when a series is displayed for the `dataLabels`. The animation
  94057. * can also be set as a configuration object. Please note that this option
  94058. * only applies to the initial animation. For other animations, see
  94059. * chart.animation and the animation parameter under the API methods. The
  94060. * following properties are supported:
  94061. *
  94062. * - `defer`: The animation delay time in milliseconds.
  94063. */
  94064. animation?: (boolean|PlotTrendlineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  94065. /**
  94066. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  94067. * for the data label.
  94068. */
  94069. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  94070. /**
  94071. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  94072. * label. Defaults to `undefined`.
  94073. */
  94074. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94075. /**
  94076. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  94077. * the data label.
  94078. */
  94079. borderRadius?: number;
  94080. /**
  94081. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  94082. * the data label.
  94083. */
  94084. borderWidth?: number;
  94085. /**
  94086. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  94087. * Particularly in styled mode, this can be used to give each series' or
  94088. * point's data label unique styling. In addition to this option, a default
  94089. * color class name is added so that we can give the labels a contrast text
  94090. * shadow.
  94091. */
  94092. className?: string;
  94093. /**
  94094. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  94095. * labels. Defaults to `undefined`. For certain series types, like column or
  94096. * map, the data labels can be drawn inside the points. In this case the
  94097. * data label will be drawn with maximum contrast by default. Additionally,
  94098. * it will be given a `text-outline` style with the opposite color, to
  94099. * further increase the contrast. This can be overridden by setting the
  94100. * `text-outline` style to `none` in the `dataLabels.style` option.
  94101. */
  94102. color?: (ColorString|GradientColorObject|PatternObject);
  94103. /**
  94104. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  94105. * are outside the plot area. By default, the data label is moved inside the
  94106. * plot area according to the overflow option.
  94107. */
  94108. crop?: boolean;
  94109. /**
  94110. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  94111. * labels until the initial series animation has finished. Setting to
  94112. * `false` renders the data label immediately. If set to `true` inherits the
  94113. * defer time set in plotOptions.series.animation. If set to a number, a
  94114. * defer time is specified in milliseconds.
  94115. */
  94116. defer?: (boolean|number);
  94117. /**
  94118. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  94119. * labels.
  94120. */
  94121. enabled?: boolean;
  94122. /**
  94123. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  94124. * of which data labels to display. The declarative filter is designed for
  94125. * use when callback functions are not available, like when the chart
  94126. * options require a pure JSON structure or for use with graphical editors.
  94127. * For programmatic control, use the `formatter` instead, and return
  94128. * `undefined` to disable a single data label.
  94129. */
  94130. filter?: DataLabelsFilterOptionsObject;
  94131. /**
  94132. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  94133. * label. Available variables are the same as for `formatter`.
  94134. */
  94135. format?: string;
  94136. /**
  94137. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  94138. * format the data label. Note that if a `format` is defined, the format
  94139. * takes precedence and the formatter is ignored.
  94140. */
  94141. formatter?: DataLabelsFormatterCallbackFunction;
  94142. /**
  94143. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  94144. * columns or map areas, whether to align the data label inside the box or
  94145. * to the actual value point. Defaults to `false` in most cases, `true` in
  94146. * stacked columns.
  94147. */
  94148. inside?: boolean;
  94149. /**
  94150. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  94151. * of null. Works analogously to format. `nullFormat` can be applied only to
  94152. * series which support displaying null points.
  94153. */
  94154. nullFormat?: (boolean|string);
  94155. /**
  94156. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  94157. * that defines formatting for points with the value of null. Works
  94158. * analogously to formatter. `nullPointFormatter` can be applied only to
  94159. * series which support displaying null points.
  94160. */
  94161. nullFormatter?: DataLabelsFormatterCallbackFunction;
  94162. /**
  94163. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  94164. * flow outside the plot area. The default is `"justify"`, which aligns them
  94165. * inside the plot area. For columns and bars, this means it will be moved
  94166. * inside the bar. To display data labels outside the plot area, set `crop`
  94167. * to `false` and `overflow` to `"allow"`.
  94168. */
  94169. overflow?: DataLabelsOverflowValue;
  94170. /**
  94171. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  94172. * the `backgroundColor` is set, this is the padding within the box.
  94173. */
  94174. padding?: number;
  94175. /**
  94176. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  94177. * points. If `center` alignment is not possible, it defaults to `right`.
  94178. */
  94179. position?: AlignValue;
  94180. /**
  94181. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  94182. * that due to a more complex structure, backgrounds, borders and padding
  94183. * will be lost on a rotated data label.
  94184. */
  94185. rotation?: number;
  94186. /**
  94187. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  94188. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  94189. * an object configuration containing `color`, `offsetX`, `offsetY`,
  94190. * `opacity` and `width`.
  94191. */
  94192. shadow?: (boolean|ShadowOptionsObject);
  94193. /**
  94194. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  94195. * the border around the label. Symbols are predefined functions on the
  94196. * Renderer object.
  94197. */
  94198. shape?: string;
  94199. /**
  94200. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  94201. * default `color` setting is `"contrast"`, which is a pseudo color that
  94202. * Highcharts picks up and applies the maximum contrast to the underlying
  94203. * point item, for example the bar in a bar chart.
  94204. *
  94205. * The `textOutline` is a pseudo property that applies an outline of the
  94206. * given width with the given color, which by default is the maximum
  94207. * contrast to the text. So a bright text color will result in a black text
  94208. * outline for maximum readability on a mixed background. In some cases,
  94209. * especially with grayscale text, the text outline doesn't work well, in
  94210. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  94211. * is true, the `textOutline` will not be picked up. In this, case, the same
  94212. * effect can be acheived through the `text-shadow` CSS property.
  94213. *
  94214. * For some series types, where each point has an extent, like for example
  94215. * tree maps, the data label may overflow the point. There are two
  94216. * strategies for handling overflow. By default, the text will wrap to
  94217. * multiple lines. The other strategy is to set `style.textOverflow` to
  94218. * `ellipsis`, which will keep the text on one line plus it will break
  94219. * inside long words.
  94220. */
  94221. style?: CSSObject;
  94222. /**
  94223. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  94224. * should follow marker's shape. Border and background are disabled for a
  94225. * label that follows a path.
  94226. *
  94227. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  94228. * to true will disable this option.
  94229. */
  94230. textPath?: DataLabelsTextPathOptionsObject;
  94231. /**
  94232. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  94233. * the labels.
  94234. */
  94235. useHTML?: boolean;
  94236. /**
  94237. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  94238. * label. Can be one of `top`, `middle` or `bottom`. The default value
  94239. * depends on the data, for instance in a column chart, the label is above
  94240. * positive values and below negative values.
  94241. */
  94242. verticalAlign?: (VerticalAlignValue|null);
  94243. /**
  94244. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  94245. * label relative to the point in pixels.
  94246. */
  94247. x?: number;
  94248. /**
  94249. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  94250. * label relative to the point in pixels.
  94251. */
  94252. y?: number;
  94253. /**
  94254. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  94255. * The default Z index puts it above the series. Use a Z index of 2 to
  94256. * display it behind the series.
  94257. */
  94258. z?: number;
  94259. }
  94260. /**
  94261. * (Highcharts, Highstock) Options for the series data sorting.
  94262. */
  94263. export interface PlotTrendlineDataSortingOptions {
  94264. /**
  94265. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  94266. * Use xAxis.reversed to change the sorting order.
  94267. */
  94268. enabled?: boolean;
  94269. /**
  94270. * (Highcharts, Highstock) Whether to allow matching points by name in an
  94271. * update. If this option is disabled, points will be matched by order.
  94272. */
  94273. matchByName?: boolean;
  94274. /**
  94275. * (Highcharts, Highstock) Determines what data value should be used to sort
  94276. * by.
  94277. */
  94278. sortKey?: string;
  94279. }
  94280. /**
  94281. * (Highstock) Trendline (linear regression) fits a straight line to the
  94282. * selected data using a method called the Sum Of Least Squares. This series
  94283. * requires the `linkedTo` option to be set.
  94284. *
  94285. * In TypeScript the type option must always be set.
  94286. *
  94287. * Configuration options for the series are given in three levels:
  94288. *
  94289. * 1. Options for all series in a chart are defined in the plotOptions.series
  94290. * object.
  94291. *
  94292. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  94293. *
  94294. * 3. Options for one single series are given in the series instance array. (see
  94295. * online documentation for example)
  94296. */
  94297. export interface PlotTrendlineOptions {
  94298. /**
  94299. * (Highstock) Accessibility options for a series.
  94300. */
  94301. accessibility?: SeriesAccessibilityOptionsObject;
  94302. /**
  94303. * (Highstock) Allow this series' points to be selected by clicking on the
  94304. * graphic (columns, point markers, pie slices, map areas etc).
  94305. *
  94306. * The selected points can be handled by point select and unselect events,
  94307. * or collectively by the getSelectedPoints function.
  94308. *
  94309. * And alternative way of selecting points is through dragging.
  94310. */
  94311. allowPointSelect?: boolean;
  94312. /**
  94313. * (Highstock) Enable or disable the initial animation when a series is
  94314. * displayed. The animation can also be set as a configuration object.
  94315. * Please note that this option only applies to the initial animation of the
  94316. * series itself. For other animations, see chart.animation and the
  94317. * animation parameter under the API methods. The following properties are
  94318. * supported:
  94319. *
  94320. * - `defer`: The animation delay time in milliseconds.
  94321. *
  94322. * - `duration`: The duration of the animation in milliseconds.
  94323. *
  94324. * - `easing`: Can be a string reference to an easing function set on the
  94325. * `Math` object or a function. See the _Custom easing function_ demo below.
  94326. *
  94327. * Due to poor performance, animation is disabled in old IE browsers for
  94328. * several chart types.
  94329. */
  94330. animation?: (boolean|PlotTrendlineAnimationOptions|Partial<AnimationOptionsObject>);
  94331. /**
  94332. * (Highstock) For some series, there is a limit that shuts down initial
  94333. * animation by default when the total number of points in the chart is too
  94334. * high. For example, for a column chart and its derivatives, animation does
  94335. * not run if there is more than 250 points totally. To disable this cap,
  94336. * set `animationLimit` to `Infinity`.
  94337. */
  94338. animationLimit?: number;
  94339. /**
  94340. * (Highstock) Sets the color blending in the boost module.
  94341. */
  94342. boostBlending?: OptionsBoostBlendingValue;
  94343. /**
  94344. * (Highstock) Set the point threshold for when a series should enter boost
  94345. * mode.
  94346. *
  94347. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  94348. * there are 2000 or more points in the series.
  94349. *
  94350. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  94351. * it to 1 will force boosting.
  94352. *
  94353. * Note that the cropThreshold also affects this setting. When zooming in on
  94354. * a series that has fewer points than the `cropThreshold`, all points are
  94355. * rendered although outside the visible plot area, and the `boostThreshold`
  94356. * won't take effect.
  94357. */
  94358. boostThreshold?: number;
  94359. /**
  94360. * (Highmaps) The border color of the map areas.
  94361. *
  94362. * In styled mode, the border stroke is given in the `.highcharts-point`
  94363. * class.
  94364. */
  94365. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94366. /**
  94367. * (Highmaps) The border width of each map area.
  94368. *
  94369. * In styled mode, the border stroke width is given in the
  94370. * `.highcharts-point` class.
  94371. */
  94372. borderWidth?: number;
  94373. /**
  94374. * (Highstock) An additional class name to apply to the series' graphical
  94375. * elements. This option does not replace default class names of the
  94376. * graphical element.
  94377. */
  94378. className?: string;
  94379. /**
  94380. * (Highstock) Disable this option to allow series rendering in the whole
  94381. * plotting area.
  94382. *
  94383. * **Note:** Clipping should be always enabled when chart.zoomType is set
  94384. */
  94385. clip?: boolean;
  94386. /**
  94387. * (Highstock) The main color of the series. In line type series it applies
  94388. * to the line and the point markers unless otherwise specified. In bar type
  94389. * series it applies to the bars unless a color is specified per point. The
  94390. * default value is pulled from the `options.colors` array.
  94391. *
  94392. * In styled mode, the color can be defined by the colorIndex option. Also,
  94393. * the series color can be set with the `.highcharts-series`,
  94394. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  94395. * `.highcharts-series-{n}` class, or individual classes given by the
  94396. * `className` option.
  94397. */
  94398. color?: (ColorString|GradientColorObject|PatternObject);
  94399. /**
  94400. * (Highstock) Styled mode only. A specific color index to use for the
  94401. * series, so its graphic representations are given the class name
  94402. * `highcharts-color-{n}`.
  94403. */
  94404. colorIndex?: number;
  94405. /**
  94406. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  94407. * used to calculate point color if `colorAxis` is used. Requires to set
  94408. * `min` and `max` if some custom point property is used or if approximation
  94409. * for data grouping is set to `'sum'`.
  94410. */
  94411. colorKey?: string;
  94412. /**
  94413. * (Highstock) Compare the values of the series against the first non-null,
  94414. * non- zero value in the visible range. The y axis will show percentage or
  94415. * absolute change depending on whether `compare` is set to `"percent"` or
  94416. * `"value"`. When this is applied to multiple series, it allows comparing
  94417. * the development of the series against each other. Adds a `change` field
  94418. * to every point object.
  94419. */
  94420. compare?: string;
  94421. /**
  94422. * (Highstock) When compare is `percent`, this option dictates whether to
  94423. * use 0 or 100 as the base of comparison.
  94424. */
  94425. compareBase?: (0|100);
  94426. /**
  94427. * (Highstock) Defines if comparison should start from the first point
  94428. * within the visible range or should start from the first point **before**
  94429. * the range.
  94430. *
  94431. * In other words, this flag determines if first point within the visible
  94432. * range will have 0% (`compareStart=true`) or should have been already
  94433. * calculated according to the previous point (`compareStart=false`).
  94434. */
  94435. compareStart?: boolean;
  94436. /**
  94437. * (Highstock) Whether to compare indicator to the main series values or
  94438. * indicator values.
  94439. */
  94440. compareToMain?: boolean;
  94441. /**
  94442. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  94443. * series plot across the extremes.
  94444. */
  94445. connectEnds?: boolean;
  94446. /**
  94447. * (Highcharts, Highstock) Whether to connect a graph line across null
  94448. * points, or render a gap between the two points on either side of the
  94449. * null.
  94450. */
  94451. connectNulls?: boolean;
  94452. /**
  94453. * (Gantt) Override Pathfinder connector options for a series. Requires
  94454. * Highcharts Gantt to be loaded.
  94455. */
  94456. connectors?: SeriesConnectorsOptionsObject;
  94457. /**
  94458. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  94459. * rounded to its nearest pixel in order to render sharp on screen. In some
  94460. * cases, when there are a lot of densely packed columns, this leads to
  94461. * visible difference in column widths or distance between columns. In these
  94462. * cases, setting `crisp` to `false` may look better, even though each
  94463. * column is rendered blurry.
  94464. */
  94465. crisp?: boolean;
  94466. /**
  94467. * (Highcharts, Highstock) When the series contains less points than the
  94468. * crop threshold, all points are drawn, even if the points fall outside the
  94469. * visible plot area at the current zoom. The advantage of drawing all
  94470. * points (including markers and columns), is that animation is performed on
  94471. * updates. On the other hand, when the series contains more points than the
  94472. * crop threshold, the series data is cropped to only contain points that
  94473. * fall within the plot area. The advantage of cropping away invisible
  94474. * points is to increase performance on large series.
  94475. */
  94476. cropThreshold?: number;
  94477. /**
  94478. * (Highstock) You can set the cursor to "pointer" if you have click events
  94479. * attached to the series, to signal to the user that the points and lines
  94480. * can be clicked.
  94481. *
  94482. * In styled mode, the series cursor can be set with the same classes as
  94483. * listed under series.color.
  94484. */
  94485. cursor?: (string|CursorValue);
  94486. /**
  94487. * (Highstock) A reserved subspace to store options and values for
  94488. * customized functionality. Here you can add additional data for your own
  94489. * event callbacks and formatter callbacks.
  94490. */
  94491. custom?: Dictionary<any>;
  94492. /**
  94493. * (Highstock) Name of the dash style to use for the graph, or for some
  94494. * series types the outline of each shape.
  94495. *
  94496. * In styled mode, the stroke dash-array can be set with the same classes as
  94497. * listed under series.color.
  94498. */
  94499. dashStyle?: DashStyleValue;
  94500. /**
  94501. * (Highstock) Data grouping is the concept of sampling the data values into
  94502. * larger blocks in order to ease readability and increase performance of
  94503. * the JavaScript charts. Highcharts Stock by default applies data grouping
  94504. * when the points become closer than a certain pixel value, determined by
  94505. * the `groupPixelWidth` option.
  94506. *
  94507. * If data grouping is applied, the grouping information of grouped points
  94508. * can be read from the Point.dataGroup. If point options other than the
  94509. * data itself are set, for example `name` or `color` or custom properties,
  94510. * the grouping logic doesn't know how to group it. In this case the options
  94511. * of the first point instance are copied over to the group point. This can
  94512. * be altered through a custom `approximation` callback function.
  94513. */
  94514. dataGrouping?: DataGroupingOptionsObject;
  94515. /**
  94516. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  94517. * labels, appearing next to each data point.
  94518. *
  94519. * Since v6.2.0, multiple data labels can be applied to each single point by
  94520. * defining them as an array of configs.
  94521. *
  94522. * In styled mode, the data labels can be styled with the
  94523. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  94524. * (see example).
  94525. */
  94526. dataLabels?: (PlotTrendlineDataLabelsOptions|Array<PlotTrendlineDataLabelsOptions>);
  94527. /**
  94528. * (Highcharts, Highstock) Options for the series data sorting.
  94529. */
  94530. dataSorting?: (DataSortingOptionsObject|PlotTrendlineDataSortingOptions);
  94531. /**
  94532. * (Highstock) A description of the series to add to the screen reader
  94533. * information about the series.
  94534. */
  94535. description?: string;
  94536. /**
  94537. * (Highstock) Enable or disable the mouse tracking for a specific series.
  94538. * This includes point tooltips and click events on graphs and points. For
  94539. * large datasets it improves performance.
  94540. */
  94541. enableMouseTracking?: boolean;
  94542. /**
  94543. * (Highstock) General event handlers for the series items. These event
  94544. * hooks can also be attached to the series at run time using the
  94545. * `Highcharts.addEvent` function.
  94546. */
  94547. events?: SeriesEventsOptionsObject;
  94548. /**
  94549. * (Highstock) Determines whether the series should look for the nearest
  94550. * point in both dimensions or just the x-dimension when hovering the
  94551. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  94552. * series. If the data has duplicate x-values, it is recommended to set this
  94553. * to `'xy'` to allow hovering over all points.
  94554. *
  94555. * Applies only to series types using nearest neighbor search (not direct
  94556. * hover) for tooltip.
  94557. */
  94558. findNearestPointBy?: OptionsFindNearestPointByValue;
  94559. /**
  94560. * (Highstock) Defines when to display a gap in the graph, together with the
  94561. * gapUnit option.
  94562. *
  94563. * In case when `dataGrouping` is enabled, points can be grouped into a
  94564. * larger time span. This can make the grouped points to have a greater
  94565. * distance than the absolute value of `gapSize` property, which will result
  94566. * in disappearing graph completely. To prevent this situation the mentioned
  94567. * distance between grouped points is used instead of previously defined
  94568. * `gapSize`.
  94569. *
  94570. * In practice, this option is most often used to visualize gaps in time
  94571. * series. In a stock chart, intraday data is available for daytime hours,
  94572. * while gaps will appear in nights and weekends.
  94573. */
  94574. gapSize?: number;
  94575. /**
  94576. * (Highstock) Together with gapSize, this option defines where to draw gaps
  94577. * in the graph.
  94578. *
  94579. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  94580. * if the distance between two points is greater than 5 times that of the
  94581. * two closest points, the graph will be broken.
  94582. *
  94583. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  94584. * values, which on a datetime axis is milliseconds. This also applies to
  94585. * the navigator series that inherits gap options from the base series.
  94586. */
  94587. gapUnit?: OptionsGapUnitValue;
  94588. /**
  94589. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  94590. * chart width or only the zoomed area when zooming in on parts of the X
  94591. * axis. By default, the Y axis adjusts to the min and max of the visible
  94592. * data. Cartesian series only.
  94593. */
  94594. getExtremesFromAll?: boolean;
  94595. /**
  94596. * (Highstock) When set to `false` will prevent the series data from being
  94597. * included in any form of data export.
  94598. *
  94599. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  94600. * `includeInCSVExport`.
  94601. */
  94602. includeInDataExport?: boolean;
  94603. /**
  94604. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  94605. * series as possible in a natural way, seeking to avoid other series. The
  94606. * goal of this feature is to make the chart more easily readable, like if a
  94607. * human designer placed the labels in the optimal position.
  94608. *
  94609. * The series labels currently work with series types having a `graph` or an
  94610. * `area`.
  94611. */
  94612. label?: SeriesLabelOptionsObject;
  94613. /**
  94614. * (Highstock) The line marks the last price from all points.
  94615. */
  94616. lastPrice?: SeriesLastPriceOptionsObject;
  94617. /**
  94618. * (Highstock) The line marks the last price from visible range of points.
  94619. */
  94620. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  94621. /**
  94622. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  94623. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  94624. * the ends and bends.
  94625. */
  94626. linecap?: SeriesLinecapValue;
  94627. /**
  94628. * (Highcharts, Highstock) Pixel width of the graph line.
  94629. */
  94630. lineWidth?: number;
  94631. /**
  94632. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  94633. * based on. Required for this indicator.
  94634. */
  94635. linkedTo?: string;
  94636. /**
  94637. * (Highstock) Options for the point markers of line-like series. Properties
  94638. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  94639. * appearance of the markers. Other series types, like column series, don't
  94640. * have markers, but have visual options on the series level instead.
  94641. *
  94642. * In styled mode, the markers can be styled with the `.highcharts-point`,
  94643. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  94644. */
  94645. marker?: PointMarkerOptionsObject;
  94646. /**
  94647. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  94648. * If not set, it will be based on a technical indicator type and default
  94649. * params.
  94650. */
  94651. name?: string;
  94652. /**
  94653. * (Highstock) The color for the parts of the graph or points that are below
  94654. * the threshold. Note that `zones` takes precedence over the negative
  94655. * color. Using `negativeColor` is equivalent to applying a zone with value
  94656. * of 0.
  94657. */
  94658. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  94659. /**
  94660. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  94661. * dataLabels.
  94662. */
  94663. opacity?: number;
  94664. /**
  94665. * (Highstock) Paramters used in calculation of regression series' points.
  94666. */
  94667. params?: PlotTrendlineParamsOptions;
  94668. /**
  94669. * (Highstock) Properties for each single point.
  94670. */
  94671. point?: PlotSeriesPointOptions;
  94672. /**
  94673. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  94674. * individual series. Overrides the chart wide configuration.
  94675. */
  94676. pointDescriptionFormatter?: Function;
  94677. /**
  94678. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  94679. * true, the checkbox next to the series name in the legend will be checked
  94680. * for a selected series.
  94681. */
  94682. selected?: boolean;
  94683. /**
  94684. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  94685. * the shadow can be an object configuration containing `color`, `offsetX`,
  94686. * `offsetY`, `opacity` and `width`.
  94687. */
  94688. shadow?: (boolean|ShadowOptionsObject);
  94689. /**
  94690. * (Highstock) If true, a checkbox is displayed next to the legend item to
  94691. * allow selecting the series. The state of the checkbox is determined by
  94692. * the `selected` option.
  94693. */
  94694. showCheckbox?: boolean;
  94695. /**
  94696. * (Highstock) Whether to display this particular series or series type in
  94697. * the legend. Standalone series are shown in legend by default, and linked
  94698. * series are not. Since v7.2.0 it is possible to show series that use
  94699. * colorAxis by setting this option to `true`.
  94700. */
  94701. showInLegend?: boolean;
  94702. /**
  94703. * (Highstock) If set to `true`, the accessibility module will skip past the
  94704. * points in this series for keyboard navigation.
  94705. */
  94706. skipKeyboardNavigation?: boolean;
  94707. /**
  94708. * (Highcharts, Highstock) When this is true, the series will not cause the
  94709. * Y axis to cross the zero plane (or threshold option) unless the data
  94710. * actually crosses the plane.
  94711. *
  94712. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  94713. * make the Y axis show negative values according to the `minPadding`
  94714. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  94715. */
  94716. softThreshold?: boolean;
  94717. states?: SeriesStatesOptionsObject;
  94718. /**
  94719. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  94720. * values are `left`, `center` and `right`.
  94721. */
  94722. step?: OptionsStepValue;
  94723. /**
  94724. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  94725. * event on a series isn't triggered until the mouse moves over another
  94726. * series, or out of the plot area. When false, the `mouseOut` event on a
  94727. * series is triggered when the mouse leaves the area around the series'
  94728. * graph or markers. This also implies the tooltip when not shared. When
  94729. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  94730. * be hidden when moving the mouse between series. Defaults to true for line
  94731. * and area type series, but to false for columns, pies etc.
  94732. *
  94733. * **Note:** The boost module will force this option because of technical
  94734. * limitations.
  94735. */
  94736. stickyTracking?: boolean;
  94737. /**
  94738. * (Highcharts, Highstock) The threshold, also called zero level or base
  94739. * level. For line type series this is only used in conjunction with
  94740. * negativeColor.
  94741. */
  94742. threshold?: (number|null);
  94743. /**
  94744. * (Highstock) A configuration object for the tooltip rendering of each
  94745. * single series. Properties are inherited from tooltip, but only the
  94746. * following properties can be defined on a series level.
  94747. */
  94748. tooltip?: SeriesTooltipOptionsObject;
  94749. /**
  94750. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  94751. * is longer than this, only one dimensional arrays of numbers, or two
  94752. * dimensional arrays with x and y values are allowed. Also, only the first
  94753. * point is tested, and the rest are assumed to be the same format. This
  94754. * saves expensive data checking and indexing in long series. Set it to `0`
  94755. * disable.
  94756. *
  94757. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  94758. * two dimensional arrays are allowed.
  94759. */
  94760. turboThreshold?: number;
  94761. /**
  94762. * (Highstock) Set the initial visibility of the series.
  94763. */
  94764. visible?: boolean;
  94765. /**
  94766. * (Highmaps) Define the z index of the series.
  94767. */
  94768. zIndex?: number;
  94769. /**
  94770. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  94771. */
  94772. zoneAxis?: string;
  94773. /**
  94774. * (Highcharts, Highstock) An array defining zones within a series. Zones
  94775. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  94776. * the `zoneAxis` option. The zone definitions have to be in ascending order
  94777. * regarding to the value.
  94778. *
  94779. * In styled mode, the color zones are styled with the
  94780. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  94781. * option (view live demo).
  94782. */
  94783. zones?: Array<SeriesZonesOptionsObject>;
  94784. }
  94785. /**
  94786. * (Highstock) Paramters used in calculation of regression series' points.
  94787. */
  94788. export interface PlotTrendlineParamsOptions {
  94789. /**
  94790. * (Highstock) The point index which indicator calculations will base. For
  94791. * example using OHLC data, index=2 means the indicator will be calculated
  94792. * using Low values.
  94793. */
  94794. index?: (number|string);
  94795. period?: string;
  94796. }
  94797. /**
  94798. * (Highstock) Enable or disable the initial animation when a series is
  94799. * displayed. The animation can also be set as a configuration object. Please
  94800. * note that this option only applies to the initial animation of the series
  94801. * itself. For other animations, see chart.animation and the animation parameter
  94802. * under the API methods. The following properties are supported:
  94803. *
  94804. * - `defer`: The animation delay time in milliseconds.
  94805. *
  94806. * - `duration`: The duration of the animation in milliseconds.
  94807. *
  94808. * - `easing`: Can be a string reference to an easing function set on the `Math`
  94809. * object or a function. See the _Custom easing function_ demo below.
  94810. *
  94811. * Due to poor performance, animation is disabled in old IE browsers for several
  94812. * chart types.
  94813. */
  94814. export interface PlotTrixAnimationOptions {
  94815. defer?: number;
  94816. }
  94817. /**
  94818. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94819. * animation when a series is displayed for the `dataLabels`. The animation can
  94820. * also be set as a configuration object. Please note that this option only
  94821. * applies to the initial animation. For other animations, see chart.animation
  94822. * and the animation parameter under the API methods. The following properties
  94823. * are supported:
  94824. *
  94825. * - `defer`: The animation delay time in milliseconds.
  94826. */
  94827. export interface PlotTrixDataLabelsAnimationOptions {
  94828. /**
  94829. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  94830. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  94831. * inherits defer time from the series.animation.defer.
  94832. */
  94833. defer?: number;
  94834. }
  94835. /**
  94836. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  94837. * appearing next to each data point.
  94838. *
  94839. * Since v6.2.0, multiple data labels can be applied to each single point by
  94840. * defining them as an array of configs.
  94841. *
  94842. * In styled mode, the data labels can be styled with the
  94843. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  94844. * example).
  94845. */
  94846. export interface PlotTrixDataLabelsOptions {
  94847. /**
  94848. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  94849. * compared to the point. If `right`, the right side of the label should be
  94850. * touching the point. For points with an extent, like columns, the
  94851. * alignments also dictates how to align it inside the box, as given with
  94852. * the inside option. Can be one of `left`, `center` or `right`.
  94853. */
  94854. align?: (AlignValue|null);
  94855. /**
  94856. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  94857. * overlap. To make the labels less sensitive for overlapping, the
  94858. * dataLabels.padding can be set to 0.
  94859. */
  94860. allowOverlap?: boolean;
  94861. /**
  94862. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  94863. * animation when a series is displayed for the `dataLabels`. The animation
  94864. * can also be set as a configuration object. Please note that this option
  94865. * only applies to the initial animation. For other animations, see
  94866. * chart.animation and the animation parameter under the API methods. The
  94867. * following properties are supported:
  94868. *
  94869. * - `defer`: The animation delay time in milliseconds.
  94870. */
  94871. animation?: (boolean|PlotTrixDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  94872. /**
  94873. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  94874. * for the data label.
  94875. */
  94876. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  94877. /**
  94878. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  94879. * label. Defaults to `undefined`.
  94880. */
  94881. borderColor?: (ColorString|GradientColorObject|PatternObject);
  94882. /**
  94883. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  94884. * the data label.
  94885. */
  94886. borderRadius?: number;
  94887. /**
  94888. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  94889. * the data label.
  94890. */
  94891. borderWidth?: number;
  94892. /**
  94893. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  94894. * Particularly in styled mode, this can be used to give each series' or
  94895. * point's data label unique styling. In addition to this option, a default
  94896. * color class name is added so that we can give the labels a contrast text
  94897. * shadow.
  94898. */
  94899. className?: string;
  94900. /**
  94901. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  94902. * labels. Defaults to `undefined`. For certain series types, like column or
  94903. * map, the data labels can be drawn inside the points. In this case the
  94904. * data label will be drawn with maximum contrast by default. Additionally,
  94905. * it will be given a `text-outline` style with the opposite color, to
  94906. * further increase the contrast. This can be overridden by setting the
  94907. * `text-outline` style to `none` in the `dataLabels.style` option.
  94908. */
  94909. color?: (ColorString|GradientColorObject|PatternObject);
  94910. /**
  94911. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  94912. * are outside the plot area. By default, the data label is moved inside the
  94913. * plot area according to the overflow option.
  94914. */
  94915. crop?: boolean;
  94916. /**
  94917. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  94918. * labels until the initial series animation has finished. Setting to
  94919. * `false` renders the data label immediately. If set to `true` inherits the
  94920. * defer time set in plotOptions.series.animation. If set to a number, a
  94921. * defer time is specified in milliseconds.
  94922. */
  94923. defer?: (boolean|number);
  94924. /**
  94925. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  94926. * labels.
  94927. */
  94928. enabled?: boolean;
  94929. /**
  94930. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  94931. * of which data labels to display. The declarative filter is designed for
  94932. * use when callback functions are not available, like when the chart
  94933. * options require a pure JSON structure or for use with graphical editors.
  94934. * For programmatic control, use the `formatter` instead, and return
  94935. * `undefined` to disable a single data label.
  94936. */
  94937. filter?: DataLabelsFilterOptionsObject;
  94938. /**
  94939. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  94940. * label. Available variables are the same as for `formatter`.
  94941. */
  94942. format?: string;
  94943. /**
  94944. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  94945. * format the data label. Note that if a `format` is defined, the format
  94946. * takes precedence and the formatter is ignored.
  94947. */
  94948. formatter?: DataLabelsFormatterCallbackFunction;
  94949. /**
  94950. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  94951. * columns or map areas, whether to align the data label inside the box or
  94952. * to the actual value point. Defaults to `false` in most cases, `true` in
  94953. * stacked columns.
  94954. */
  94955. inside?: boolean;
  94956. /**
  94957. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  94958. * of null. Works analogously to format. `nullFormat` can be applied only to
  94959. * series which support displaying null points.
  94960. */
  94961. nullFormat?: (boolean|string);
  94962. /**
  94963. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  94964. * that defines formatting for points with the value of null. Works
  94965. * analogously to formatter. `nullPointFormatter` can be applied only to
  94966. * series which support displaying null points.
  94967. */
  94968. nullFormatter?: DataLabelsFormatterCallbackFunction;
  94969. /**
  94970. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  94971. * flow outside the plot area. The default is `"justify"`, which aligns them
  94972. * inside the plot area. For columns and bars, this means it will be moved
  94973. * inside the bar. To display data labels outside the plot area, set `crop`
  94974. * to `false` and `overflow` to `"allow"`.
  94975. */
  94976. overflow?: DataLabelsOverflowValue;
  94977. /**
  94978. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  94979. * the `backgroundColor` is set, this is the padding within the box.
  94980. */
  94981. padding?: number;
  94982. /**
  94983. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  94984. * points. If `center` alignment is not possible, it defaults to `right`.
  94985. */
  94986. position?: AlignValue;
  94987. /**
  94988. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  94989. * that due to a more complex structure, backgrounds, borders and padding
  94990. * will be lost on a rotated data label.
  94991. */
  94992. rotation?: number;
  94993. /**
  94994. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  94995. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  94996. * an object configuration containing `color`, `offsetX`, `offsetY`,
  94997. * `opacity` and `width`.
  94998. */
  94999. shadow?: (boolean|ShadowOptionsObject);
  95000. /**
  95001. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  95002. * the border around the label. Symbols are predefined functions on the
  95003. * Renderer object.
  95004. */
  95005. shape?: string;
  95006. /**
  95007. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  95008. * default `color` setting is `"contrast"`, which is a pseudo color that
  95009. * Highcharts picks up and applies the maximum contrast to the underlying
  95010. * point item, for example the bar in a bar chart.
  95011. *
  95012. * The `textOutline` is a pseudo property that applies an outline of the
  95013. * given width with the given color, which by default is the maximum
  95014. * contrast to the text. So a bright text color will result in a black text
  95015. * outline for maximum readability on a mixed background. In some cases,
  95016. * especially with grayscale text, the text outline doesn't work well, in
  95017. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  95018. * is true, the `textOutline` will not be picked up. In this, case, the same
  95019. * effect can be acheived through the `text-shadow` CSS property.
  95020. *
  95021. * For some series types, where each point has an extent, like for example
  95022. * tree maps, the data label may overflow the point. There are two
  95023. * strategies for handling overflow. By default, the text will wrap to
  95024. * multiple lines. The other strategy is to set `style.textOverflow` to
  95025. * `ellipsis`, which will keep the text on one line plus it will break
  95026. * inside long words.
  95027. */
  95028. style?: CSSObject;
  95029. /**
  95030. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  95031. * should follow marker's shape. Border and background are disabled for a
  95032. * label that follows a path.
  95033. *
  95034. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  95035. * to true will disable this option.
  95036. */
  95037. textPath?: DataLabelsTextPathOptionsObject;
  95038. /**
  95039. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  95040. * the labels.
  95041. */
  95042. useHTML?: boolean;
  95043. /**
  95044. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  95045. * label. Can be one of `top`, `middle` or `bottom`. The default value
  95046. * depends on the data, for instance in a column chart, the label is above
  95047. * positive values and below negative values.
  95048. */
  95049. verticalAlign?: (VerticalAlignValue|null);
  95050. /**
  95051. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  95052. * label relative to the point in pixels.
  95053. */
  95054. x?: number;
  95055. /**
  95056. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  95057. * label relative to the point in pixels.
  95058. */
  95059. y?: number;
  95060. /**
  95061. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  95062. * The default Z index puts it above the series. Use a Z index of 2 to
  95063. * display it behind the series.
  95064. */
  95065. z?: number;
  95066. }
  95067. /**
  95068. * (Highcharts, Highstock) Options for the series data sorting.
  95069. */
  95070. export interface PlotTrixDataSortingOptions {
  95071. /**
  95072. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  95073. * Use xAxis.reversed to change the sorting order.
  95074. */
  95075. enabled?: boolean;
  95076. /**
  95077. * (Highcharts, Highstock) Whether to allow matching points by name in an
  95078. * update. If this option is disabled, points will be matched by order.
  95079. */
  95080. matchByName?: boolean;
  95081. /**
  95082. * (Highcharts, Highstock) Determines what data value should be used to sort
  95083. * by.
  95084. */
  95085. sortKey?: string;
  95086. }
  95087. /**
  95088. * (Highstock) Triple exponential average (TRIX) oscillator. This series
  95089. * requires `linkedTo` option to be set.
  95090. *
  95091. * Requires https://code.highcharts.com/stock/indicators/ema.js and
  95092. * https://code.highcharts.com/stock/indicators/tema.js.
  95093. *
  95094. * In TypeScript the type option must always be set.
  95095. *
  95096. * Configuration options for the series are given in three levels:
  95097. *
  95098. * 1. Options for all series in a chart are defined in the plotOptions.series
  95099. * object.
  95100. *
  95101. * 2. Options for all `trix` series are defined in plotOptions.trix.
  95102. *
  95103. * 3. Options for one single series are given in the series instance array. (see
  95104. * online documentation for example)
  95105. */
  95106. export interface PlotTrixOptions {
  95107. /**
  95108. * (Highstock) Accessibility options for a series.
  95109. */
  95110. accessibility?: SeriesAccessibilityOptionsObject;
  95111. /**
  95112. * (Highstock) Allow this series' points to be selected by clicking on the
  95113. * graphic (columns, point markers, pie slices, map areas etc).
  95114. *
  95115. * The selected points can be handled by point select and unselect events,
  95116. * or collectively by the getSelectedPoints function.
  95117. *
  95118. * And alternative way of selecting points is through dragging.
  95119. */
  95120. allowPointSelect?: boolean;
  95121. /**
  95122. * (Highstock) Enable or disable the initial animation when a series is
  95123. * displayed. The animation can also be set as a configuration object.
  95124. * Please note that this option only applies to the initial animation of the
  95125. * series itself. For other animations, see chart.animation and the
  95126. * animation parameter under the API methods. The following properties are
  95127. * supported:
  95128. *
  95129. * - `defer`: The animation delay time in milliseconds.
  95130. *
  95131. * - `duration`: The duration of the animation in milliseconds.
  95132. *
  95133. * - `easing`: Can be a string reference to an easing function set on the
  95134. * `Math` object or a function. See the _Custom easing function_ demo below.
  95135. *
  95136. * Due to poor performance, animation is disabled in old IE browsers for
  95137. * several chart types.
  95138. */
  95139. animation?: (boolean|PlotTrixAnimationOptions|Partial<AnimationOptionsObject>);
  95140. /**
  95141. * (Highstock) For some series, there is a limit that shuts down initial
  95142. * animation by default when the total number of points in the chart is too
  95143. * high. For example, for a column chart and its derivatives, animation does
  95144. * not run if there is more than 250 points totally. To disable this cap,
  95145. * set `animationLimit` to `Infinity`.
  95146. */
  95147. animationLimit?: number;
  95148. /**
  95149. * (Highstock) Sets the color blending in the boost module.
  95150. */
  95151. boostBlending?: OptionsBoostBlendingValue;
  95152. /**
  95153. * (Highstock) Set the point threshold for when a series should enter boost
  95154. * mode.
  95155. *
  95156. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  95157. * there are 2000 or more points in the series.
  95158. *
  95159. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  95160. * it to 1 will force boosting.
  95161. *
  95162. * Note that the cropThreshold also affects this setting. When zooming in on
  95163. * a series that has fewer points than the `cropThreshold`, all points are
  95164. * rendered although outside the visible plot area, and the `boostThreshold`
  95165. * won't take effect.
  95166. */
  95167. boostThreshold?: number;
  95168. /**
  95169. * (Highmaps) The border color of the map areas.
  95170. *
  95171. * In styled mode, the border stroke is given in the `.highcharts-point`
  95172. * class.
  95173. */
  95174. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95175. /**
  95176. * (Highmaps) The border width of each map area.
  95177. *
  95178. * In styled mode, the border stroke width is given in the
  95179. * `.highcharts-point` class.
  95180. */
  95181. borderWidth?: number;
  95182. /**
  95183. * (Highstock) An additional class name to apply to the series' graphical
  95184. * elements. This option does not replace default class names of the
  95185. * graphical element.
  95186. */
  95187. className?: string;
  95188. /**
  95189. * (Highstock) Disable this option to allow series rendering in the whole
  95190. * plotting area.
  95191. *
  95192. * **Note:** Clipping should be always enabled when chart.zoomType is set
  95193. */
  95194. clip?: boolean;
  95195. /**
  95196. * (Highstock) The main color of the series. In line type series it applies
  95197. * to the line and the point markers unless otherwise specified. In bar type
  95198. * series it applies to the bars unless a color is specified per point. The
  95199. * default value is pulled from the `options.colors` array.
  95200. *
  95201. * In styled mode, the color can be defined by the colorIndex option. Also,
  95202. * the series color can be set with the `.highcharts-series`,
  95203. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  95204. * `.highcharts-series-{n}` class, or individual classes given by the
  95205. * `className` option.
  95206. */
  95207. color?: (ColorString|GradientColorObject|PatternObject);
  95208. /**
  95209. * (Highstock) Styled mode only. A specific color index to use for the
  95210. * series, so its graphic representations are given the class name
  95211. * `highcharts-color-{n}`.
  95212. */
  95213. colorIndex?: number;
  95214. /**
  95215. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  95216. * used to calculate point color if `colorAxis` is used. Requires to set
  95217. * `min` and `max` if some custom point property is used or if approximation
  95218. * for data grouping is set to `'sum'`.
  95219. */
  95220. colorKey?: string;
  95221. /**
  95222. * (Highstock) Defines if comparison should start from the first point
  95223. * within the visible range or should start from the first point **before**
  95224. * the range.
  95225. *
  95226. * In other words, this flag determines if first point within the visible
  95227. * range will have 0% (`compareStart=true`) or should have been already
  95228. * calculated according to the previous point (`compareStart=false`).
  95229. */
  95230. compareStart?: boolean;
  95231. /**
  95232. * (Highstock) Whether to compare indicator to the main series values or
  95233. * indicator values.
  95234. */
  95235. compareToMain?: boolean;
  95236. /**
  95237. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  95238. * series plot across the extremes.
  95239. */
  95240. connectEnds?: boolean;
  95241. /**
  95242. * (Highcharts, Highstock) Whether to connect a graph line across null
  95243. * points, or render a gap between the two points on either side of the
  95244. * null.
  95245. */
  95246. connectNulls?: boolean;
  95247. /**
  95248. * (Gantt) Override Pathfinder connector options for a series. Requires
  95249. * Highcharts Gantt to be loaded.
  95250. */
  95251. connectors?: SeriesConnectorsOptionsObject;
  95252. /**
  95253. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  95254. * rounded to its nearest pixel in order to render sharp on screen. In some
  95255. * cases, when there are a lot of densely packed columns, this leads to
  95256. * visible difference in column widths or distance between columns. In these
  95257. * cases, setting `crisp` to `false` may look better, even though each
  95258. * column is rendered blurry.
  95259. */
  95260. crisp?: boolean;
  95261. /**
  95262. * (Highcharts, Highstock) When the series contains less points than the
  95263. * crop threshold, all points are drawn, even if the points fall outside the
  95264. * visible plot area at the current zoom. The advantage of drawing all
  95265. * points (including markers and columns), is that animation is performed on
  95266. * updates. On the other hand, when the series contains more points than the
  95267. * crop threshold, the series data is cropped to only contain points that
  95268. * fall within the plot area. The advantage of cropping away invisible
  95269. * points is to increase performance on large series.
  95270. */
  95271. cropThreshold?: number;
  95272. /**
  95273. * (Highstock) You can set the cursor to "pointer" if you have click events
  95274. * attached to the series, to signal to the user that the points and lines
  95275. * can be clicked.
  95276. *
  95277. * In styled mode, the series cursor can be set with the same classes as
  95278. * listed under series.color.
  95279. */
  95280. cursor?: (string|CursorValue);
  95281. /**
  95282. * (Highstock) A reserved subspace to store options and values for
  95283. * customized functionality. Here you can add additional data for your own
  95284. * event callbacks and formatter callbacks.
  95285. */
  95286. custom?: Dictionary<any>;
  95287. /**
  95288. * (Highstock) Name of the dash style to use for the graph, or for some
  95289. * series types the outline of each shape.
  95290. *
  95291. * In styled mode, the stroke dash-array can be set with the same classes as
  95292. * listed under series.color.
  95293. */
  95294. dashStyle?: DashStyleValue;
  95295. /**
  95296. * (Highstock) Data grouping is the concept of sampling the data values into
  95297. * larger blocks in order to ease readability and increase performance of
  95298. * the JavaScript charts. Highcharts Stock by default applies data grouping
  95299. * when the points become closer than a certain pixel value, determined by
  95300. * the `groupPixelWidth` option.
  95301. *
  95302. * If data grouping is applied, the grouping information of grouped points
  95303. * can be read from the Point.dataGroup. If point options other than the
  95304. * data itself are set, for example `name` or `color` or custom properties,
  95305. * the grouping logic doesn't know how to group it. In this case the options
  95306. * of the first point instance are copied over to the group point. This can
  95307. * be altered through a custom `approximation` callback function.
  95308. */
  95309. dataGrouping?: DataGroupingOptionsObject;
  95310. /**
  95311. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  95312. * labels, appearing next to each data point.
  95313. *
  95314. * Since v6.2.0, multiple data labels can be applied to each single point by
  95315. * defining them as an array of configs.
  95316. *
  95317. * In styled mode, the data labels can be styled with the
  95318. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  95319. * (see example).
  95320. */
  95321. dataLabels?: (PlotTrixDataLabelsOptions|Array<PlotTrixDataLabelsOptions>);
  95322. /**
  95323. * (Highcharts, Highstock) Options for the series data sorting.
  95324. */
  95325. dataSorting?: (DataSortingOptionsObject|PlotTrixDataSortingOptions);
  95326. /**
  95327. * (Highstock) A description of the series to add to the screen reader
  95328. * information about the series.
  95329. */
  95330. description?: string;
  95331. /**
  95332. * (Highstock) Enable or disable the mouse tracking for a specific series.
  95333. * This includes point tooltips and click events on graphs and points. For
  95334. * large datasets it improves performance.
  95335. */
  95336. enableMouseTracking?: boolean;
  95337. /**
  95338. * (Highstock) General event handlers for the series items. These event
  95339. * hooks can also be attached to the series at run time using the
  95340. * `Highcharts.addEvent` function.
  95341. */
  95342. events?: SeriesEventsOptionsObject;
  95343. /**
  95344. * (Highstock) Determines whether the series should look for the nearest
  95345. * point in both dimensions or just the x-dimension when hovering the
  95346. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  95347. * series. If the data has duplicate x-values, it is recommended to set this
  95348. * to `'xy'` to allow hovering over all points.
  95349. *
  95350. * Applies only to series types using nearest neighbor search (not direct
  95351. * hover) for tooltip.
  95352. */
  95353. findNearestPointBy?: OptionsFindNearestPointByValue;
  95354. /**
  95355. * (Highstock) Defines when to display a gap in the graph, together with the
  95356. * gapUnit option.
  95357. *
  95358. * In case when `dataGrouping` is enabled, points can be grouped into a
  95359. * larger time span. This can make the grouped points to have a greater
  95360. * distance than the absolute value of `gapSize` property, which will result
  95361. * in disappearing graph completely. To prevent this situation the mentioned
  95362. * distance between grouped points is used instead of previously defined
  95363. * `gapSize`.
  95364. *
  95365. * In practice, this option is most often used to visualize gaps in time
  95366. * series. In a stock chart, intraday data is available for daytime hours,
  95367. * while gaps will appear in nights and weekends.
  95368. */
  95369. gapSize?: number;
  95370. /**
  95371. * (Highstock) Together with gapSize, this option defines where to draw gaps
  95372. * in the graph.
  95373. *
  95374. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  95375. * if the distance between two points is greater than 5 times that of the
  95376. * two closest points, the graph will be broken.
  95377. *
  95378. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  95379. * values, which on a datetime axis is milliseconds. This also applies to
  95380. * the navigator series that inherits gap options from the base series.
  95381. */
  95382. gapUnit?: OptionsGapUnitValue;
  95383. /**
  95384. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  95385. * chart width or only the zoomed area when zooming in on parts of the X
  95386. * axis. By default, the Y axis adjusts to the min and max of the visible
  95387. * data. Cartesian series only.
  95388. */
  95389. getExtremesFromAll?: boolean;
  95390. /**
  95391. * (Highstock) When set to `false` will prevent the series data from being
  95392. * included in any form of data export.
  95393. *
  95394. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  95395. * `includeInCSVExport`.
  95396. */
  95397. includeInDataExport?: boolean;
  95398. /**
  95399. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  95400. * series as possible in a natural way, seeking to avoid other series. The
  95401. * goal of this feature is to make the chart more easily readable, like if a
  95402. * human designer placed the labels in the optimal position.
  95403. *
  95404. * The series labels currently work with series types having a `graph` or an
  95405. * `area`.
  95406. */
  95407. label?: SeriesLabelOptionsObject;
  95408. /**
  95409. * (Highstock) The line marks the last price from all points.
  95410. */
  95411. lastPrice?: SeriesLastPriceOptionsObject;
  95412. /**
  95413. * (Highstock) The line marks the last price from visible range of points.
  95414. */
  95415. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  95416. /**
  95417. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  95418. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  95419. * the ends and bends.
  95420. */
  95421. linecap?: SeriesLinecapValue;
  95422. /**
  95423. * (Highcharts, Highstock) Pixel width of the graph line.
  95424. */
  95425. lineWidth?: number;
  95426. /**
  95427. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  95428. * based on. Required for this indicator.
  95429. */
  95430. linkedTo?: string;
  95431. /**
  95432. * (Highstock) Options for the point markers of line-like series. Properties
  95433. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  95434. * appearance of the markers. Other series types, like column series, don't
  95435. * have markers, but have visual options on the series level instead.
  95436. *
  95437. * In styled mode, the markers can be styled with the `.highcharts-point`,
  95438. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  95439. */
  95440. marker?: PointMarkerOptionsObject;
  95441. /**
  95442. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  95443. * If not set, it will be based on a technical indicator type and default
  95444. * params.
  95445. */
  95446. name?: string;
  95447. /**
  95448. * (Highstock) The color for the parts of the graph or points that are below
  95449. * the threshold. Note that `zones` takes precedence over the negative
  95450. * color. Using `negativeColor` is equivalent to applying a zone with value
  95451. * of 0.
  95452. */
  95453. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  95454. /**
  95455. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  95456. * dataLabels.
  95457. */
  95458. opacity?: number;
  95459. /**
  95460. * (Highstock) Paramters used in calculation of regression series' points.
  95461. */
  95462. params?: PlotTrixParamsOptions;
  95463. /**
  95464. * (Highstock) Properties for each single point.
  95465. */
  95466. point?: PlotSeriesPointOptions;
  95467. /**
  95468. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  95469. * individual series. Overrides the chart wide configuration.
  95470. */
  95471. pointDescriptionFormatter?: Function;
  95472. /**
  95473. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  95474. * true, the checkbox next to the series name in the legend will be checked
  95475. * for a selected series.
  95476. */
  95477. selected?: boolean;
  95478. /**
  95479. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  95480. * the shadow can be an object configuration containing `color`, `offsetX`,
  95481. * `offsetY`, `opacity` and `width`.
  95482. */
  95483. shadow?: (boolean|ShadowOptionsObject);
  95484. /**
  95485. * (Highstock) If true, a checkbox is displayed next to the legend item to
  95486. * allow selecting the series. The state of the checkbox is determined by
  95487. * the `selected` option.
  95488. */
  95489. showCheckbox?: boolean;
  95490. /**
  95491. * (Highstock) Whether to display this particular series or series type in
  95492. * the legend. Standalone series are shown in legend by default, and linked
  95493. * series are not. Since v7.2.0 it is possible to show series that use
  95494. * colorAxis by setting this option to `true`.
  95495. */
  95496. showInLegend?: boolean;
  95497. /**
  95498. * (Highstock) If set to `true`, the accessibility module will skip past the
  95499. * points in this series for keyboard navigation.
  95500. */
  95501. skipKeyboardNavigation?: boolean;
  95502. /**
  95503. * (Highcharts, Highstock) When this is true, the series will not cause the
  95504. * Y axis to cross the zero plane (or threshold option) unless the data
  95505. * actually crosses the plane.
  95506. *
  95507. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  95508. * make the Y axis show negative values according to the `minPadding`
  95509. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  95510. */
  95511. softThreshold?: boolean;
  95512. states?: SeriesStatesOptionsObject;
  95513. /**
  95514. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  95515. * values are `left`, `center` and `right`.
  95516. */
  95517. step?: OptionsStepValue;
  95518. /**
  95519. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  95520. * event on a series isn't triggered until the mouse moves over another
  95521. * series, or out of the plot area. When false, the `mouseOut` event on a
  95522. * series is triggered when the mouse leaves the area around the series'
  95523. * graph or markers. This also implies the tooltip when not shared. When
  95524. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  95525. * be hidden when moving the mouse between series. Defaults to true for line
  95526. * and area type series, but to false for columns, pies etc.
  95527. *
  95528. * **Note:** The boost module will force this option because of technical
  95529. * limitations.
  95530. */
  95531. stickyTracking?: boolean;
  95532. /**
  95533. * (Highcharts, Highstock) The threshold, also called zero level or base
  95534. * level. For line type series this is only used in conjunction with
  95535. * negativeColor.
  95536. */
  95537. threshold?: (number|null);
  95538. /**
  95539. * (Highstock) A configuration object for the tooltip rendering of each
  95540. * single series. Properties are inherited from tooltip, but only the
  95541. * following properties can be defined on a series level.
  95542. */
  95543. tooltip?: SeriesTooltipOptionsObject;
  95544. /**
  95545. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  95546. * is longer than this, only one dimensional arrays of numbers, or two
  95547. * dimensional arrays with x and y values are allowed. Also, only the first
  95548. * point is tested, and the rest are assumed to be the same format. This
  95549. * saves expensive data checking and indexing in long series. Set it to `0`
  95550. * disable.
  95551. *
  95552. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  95553. * two dimensional arrays are allowed.
  95554. */
  95555. turboThreshold?: number;
  95556. /**
  95557. * (Highstock) Set the initial visibility of the series.
  95558. */
  95559. visible?: boolean;
  95560. /**
  95561. * (Highmaps) Define the z index of the series.
  95562. */
  95563. zIndex?: number;
  95564. /**
  95565. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  95566. */
  95567. zoneAxis?: string;
  95568. /**
  95569. * (Highcharts, Highstock) An array defining zones within a series. Zones
  95570. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  95571. * the `zoneAxis` option. The zone definitions have to be in ascending order
  95572. * regarding to the value.
  95573. *
  95574. * In styled mode, the color zones are styled with the
  95575. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  95576. * option (view live demo).
  95577. */
  95578. zones?: Array<SeriesZonesOptionsObject>;
  95579. }
  95580. /**
  95581. * (Highstock) Paramters used in calculation of regression series' points.
  95582. */
  95583. export interface PlotTrixParamsOptions {
  95584. /**
  95585. * (Highstock) The point index which indicator calculations will base. For
  95586. * example using OHLC data, index=2 means the indicator will be calculated
  95587. * using Low values.
  95588. *
  95589. * By default index value used to be set to 0. Since Highcharts Stock 7 by
  95590. * default index is set to 3 which means that the ema indicator will be
  95591. * calculated using Close values.
  95592. */
  95593. index?: number;
  95594. /**
  95595. * (Highstock) The base period for indicator calculations. This is the
  95596. * number of data points which are taken into account for the indicator
  95597. * calculations.
  95598. */
  95599. period?: number;
  95600. }
  95601. /**
  95602. * (Highcharts) Enable or disable the initial animation when a series is
  95603. * displayed. The animation can also be set as a configuration object. Please
  95604. * note that this option only applies to the initial animation of the series
  95605. * itself. For other animations, see chart.animation and the animation parameter
  95606. * under the API methods. The following properties are supported:
  95607. *
  95608. * - `defer`: The animation delay time in milliseconds.
  95609. *
  95610. * - `duration`: The duration of the animation in milliseconds.
  95611. *
  95612. * - `easing`: Can be a string reference to an easing function set on the `Math`
  95613. * object or a function. See the _Custom easing function_ demo below.
  95614. *
  95615. * Due to poor performance, animation is disabled in old IE browsers for several
  95616. * chart types.
  95617. */
  95618. export interface PlotVariablepieAnimationOptions {
  95619. defer?: number;
  95620. }
  95621. /**
  95622. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  95623. * animation when a series is displayed for the `dataLabels`. The animation can
  95624. * also be set as a configuration object. Please note that this option only
  95625. * applies to the initial animation. For other animations, see chart.animation
  95626. * and the animation parameter under the API methods. The following properties
  95627. * are supported:
  95628. *
  95629. * - `defer`: The animation delay time in milliseconds.
  95630. */
  95631. export interface PlotVariablepieDataLabelsAnimationOptions {
  95632. /**
  95633. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  95634. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  95635. * inherits defer time from the series.animation.defer.
  95636. */
  95637. defer?: number;
  95638. }
  95639. /**
  95640. * (Highcharts) A variable pie series is a two dimensional series type, where
  95641. * each point renders an Y and Z value. Each point is drawn as a pie slice where
  95642. * the size (arc) of the slice relates to the Y value and the radius of pie
  95643. * slice relates to the Z value.
  95644. *
  95645. * In TypeScript the type option must always be set.
  95646. *
  95647. * Configuration options for the series are given in three levels:
  95648. *
  95649. * 1. Options for all series in a chart are defined in the plotOptions.series
  95650. * object.
  95651. *
  95652. * 2. Options for all `variablepie` series are defined in
  95653. * plotOptions.variablepie.
  95654. *
  95655. * 3. Options for one single series are given in the series instance array. (see
  95656. * online documentation for example)
  95657. */
  95658. export interface PlotVariablepieOptions {
  95659. /**
  95660. * (Highcharts) Accessibility options for a series.
  95661. */
  95662. accessibility?: SeriesAccessibilityOptionsObject;
  95663. /**
  95664. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  95665. * rendered. If `true`, areas which don't correspond to a data point, are
  95666. * rendered as `null` points. If `false`, those areas are skipped.
  95667. */
  95668. allAreas?: boolean;
  95669. /**
  95670. * (Highcharts) Allow this series' points to be selected by clicking on the
  95671. * graphic (columns, point markers, pie slices, map areas etc).
  95672. *
  95673. * The selected points can be handled by point select and unselect events,
  95674. * or collectively by the getSelectedPoints function.
  95675. *
  95676. * And alternative way of selecting points is through dragging.
  95677. */
  95678. allowPointSelect?: boolean;
  95679. /**
  95680. * (Highcharts) Enable or disable the initial animation when a series is
  95681. * displayed. The animation can also be set as a configuration object.
  95682. * Please note that this option only applies to the initial animation of the
  95683. * series itself. For other animations, see chart.animation and the
  95684. * animation parameter under the API methods. The following properties are
  95685. * supported:
  95686. *
  95687. * - `defer`: The animation delay time in milliseconds.
  95688. *
  95689. * - `duration`: The duration of the animation in milliseconds.
  95690. *
  95691. * - `easing`: Can be a string reference to an easing function set on the
  95692. * `Math` object or a function. See the _Custom easing function_ demo below.
  95693. *
  95694. * Due to poor performance, animation is disabled in old IE browsers for
  95695. * several chart types.
  95696. */
  95697. animation?: (boolean|PlotVariablepieAnimationOptions|Partial<AnimationOptionsObject>);
  95698. /**
  95699. * (Highcharts) The color of the border surrounding each slice. When `null`,
  95700. * the border takes the same color as the slice fill. This can be used
  95701. * together with a `borderWidth` to fill drawing gaps created by
  95702. * antialiazing artefacts in borderless pies.
  95703. *
  95704. * In styled mode, the border stroke is given in the `.highcharts-point`
  95705. * class.
  95706. */
  95707. borderColor?: (ColorString|GradientColorObject|PatternObject);
  95708. /**
  95709. * (Highcharts) The width of the border surrounding each slice.
  95710. *
  95711. * When setting the border width to 0, there may be small gaps between the
  95712. * slices due to SVG antialiasing artefacts. To work around this, keep the
  95713. * border width at 0.5 or 1, but set the `borderColor` to `null` instead.
  95714. *
  95715. * In styled mode, the border stroke width is given in the
  95716. * `.highcharts-point` class.
  95717. */
  95718. borderWidth?: number;
  95719. /**
  95720. * (Highcharts) The center of the pie chart relative to the plot area. Can
  95721. * be percentages or pixel values. The default behaviour (as of 3.0) is to
  95722. * center the pie so that all slices and data labels are within the plot
  95723. * area. As a consequence, the pie may actually jump around in a chart with
  95724. * dynamic values, as the data labels move. In that case, the center should
  95725. * be explicitly set, for example to `["50%", "50%"]`.
  95726. */
  95727. center?: [(number|string|null), (number|string|null)];
  95728. /**
  95729. * (Highcharts) An additional class name to apply to the series' graphical
  95730. * elements. This option does not replace default class names of the
  95731. * graphical element.
  95732. */
  95733. className?: string;
  95734. /**
  95735. * (Highcharts) Disable this option to allow series rendering in the whole
  95736. * plotting area.
  95737. *
  95738. * **Note:** Clipping should be always enabled when chart.zoomType is set
  95739. */
  95740. clip?: boolean;
  95741. /**
  95742. * (Highcharts) The color of the pie series. A pie series is represented as
  95743. * an empty circle if the total sum of its values is 0. Use this property to
  95744. * define the color of its border.
  95745. *
  95746. * In styled mode, the color can be defined by the colorIndex option. Also,
  95747. * the series color can be set with the `.highcharts-series`,
  95748. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  95749. * `.highcharts-series-{n}` class, or individual classes given by the
  95750. * `className` option.
  95751. */
  95752. color?: (ColorString|GradientColorObject|PatternObject);
  95753. /**
  95754. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  95755. * this number defines which colorAxis the particular series is connected
  95756. * to. It refers to either the axis id or the index of the axis in the
  95757. * colorAxis array, with 0 being the first. Set this option to false to
  95758. * prevent a series from connecting to the default color axis.
  95759. *
  95760. * Since v7.2.0 the option can also be an axis id or an axis index instead
  95761. * of a boolean flag.
  95762. */
  95763. colorAxis?: (boolean|number|string);
  95764. /**
  95765. * (Highcharts) Styled mode only. A specific color index to use for the
  95766. * series, so its graphic representations are given the class name
  95767. * `highcharts-color-{n}`.
  95768. */
  95769. colorIndex?: number;
  95770. /**
  95771. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  95772. * used to calculate point color if `colorAxis` is used. Requires to set
  95773. * `min` and `max` if some custom point property is used or if approximation
  95774. * for data grouping is set to `'sum'`.
  95775. */
  95776. colorKey?: string;
  95777. /**
  95778. * (Highcharts) A series specific or series type specific color set to use
  95779. * instead of the global colors.
  95780. */
  95781. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  95782. /**
  95783. * (Highstock) Compare the values of the series against the first non-null,
  95784. * non- zero value in the visible range. The y axis will show percentage or
  95785. * absolute change depending on whether `compare` is set to `"percent"` or
  95786. * `"value"`. When this is applied to multiple series, it allows comparing
  95787. * the development of the series against each other. Adds a `change` field
  95788. * to every point object.
  95789. */
  95790. compare?: string;
  95791. /**
  95792. * (Highstock) When compare is `percent`, this option dictates whether to
  95793. * use 0 or 100 as the base of comparison.
  95794. */
  95795. compareBase?: (0|100);
  95796. /**
  95797. * (Highstock) Defines if comparison should start from the first point
  95798. * within the visible range or should start from the first point **before**
  95799. * the range.
  95800. *
  95801. * In other words, this flag determines if first point within the visible
  95802. * range will have 0% (`compareStart=true`) or should have been already
  95803. * calculated according to the previous point (`compareStart=false`).
  95804. */
  95805. compareStart?: boolean;
  95806. /**
  95807. * (Gantt) Override Pathfinder connector options for a series. Requires
  95808. * Highcharts Gantt to be loaded.
  95809. */
  95810. connectors?: SeriesConnectorsOptionsObject;
  95811. /**
  95812. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  95813. * rounded to its nearest pixel in order to render sharp on screen. In some
  95814. * cases, when there are a lot of densely packed columns, this leads to
  95815. * visible difference in column widths or distance between columns. In these
  95816. * cases, setting `crisp` to `false` may look better, even though each
  95817. * column is rendered blurry.
  95818. */
  95819. crisp?: boolean;
  95820. /**
  95821. * (Highcharts) You can set the cursor to "pointer" if you have click events
  95822. * attached to the series, to signal to the user that the points and lines
  95823. * can be clicked.
  95824. *
  95825. * In styled mode, the series cursor can be set with the same classes as
  95826. * listed under series.color.
  95827. */
  95828. cursor?: (string|CursorValue);
  95829. /**
  95830. * (Highcharts) A reserved subspace to store options and values for
  95831. * customized functionality. Here you can add additional data for your own
  95832. * event callbacks and formatter callbacks.
  95833. */
  95834. custom?: Dictionary<any>;
  95835. /**
  95836. * (Highstock) Data grouping is the concept of sampling the data values into
  95837. * larger blocks in order to ease readability and increase performance of
  95838. * the JavaScript charts. Highcharts Stock by default applies data grouping
  95839. * when the points become closer than a certain pixel value, determined by
  95840. * the `groupPixelWidth` option.
  95841. *
  95842. * If data grouping is applied, the grouping information of grouped points
  95843. * can be read from the Point.dataGroup. If point options other than the
  95844. * data itself are set, for example `name` or `color` or custom properties,
  95845. * the grouping logic doesn't know how to group it. In this case the options
  95846. * of the first point instance are copied over to the group point. This can
  95847. * be altered through a custom `approximation` callback function.
  95848. */
  95849. dataGrouping?: DataGroupingOptionsObject;
  95850. /**
  95851. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  95852. * labels, appearing next to each data point.
  95853. *
  95854. * Since v6.2.0, multiple data labels can be applied to each single point by
  95855. * defining them as an array of configs.
  95856. *
  95857. * In styled mode, the data labels can be styled with the
  95858. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  95859. * (see example).
  95860. */
  95861. dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
  95862. /**
  95863. * (Highcharts) The thickness of a 3D pie.
  95864. */
  95865. depth?: number;
  95866. /**
  95867. * (Highcharts) A description of the series to add to the screen reader
  95868. * information about the series.
  95869. */
  95870. description?: string;
  95871. /**
  95872. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  95873. * This includes point tooltips and click events on graphs and points. For
  95874. * large datasets it improves performance.
  95875. */
  95876. enableMouseTracking?: boolean;
  95877. /**
  95878. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  95879. * right. Defaults to `startAngle` plus 360.
  95880. */
  95881. endAngle?: number;
  95882. /**
  95883. * (Highcharts) General event handlers for the series items. These event
  95884. * hooks can also be attached to the series at run time using the
  95885. * `Highcharts.addEvent` function.
  95886. */
  95887. events?: SeriesEventsOptionsObject;
  95888. /**
  95889. * (Highcharts) If the total sum of the pie's values is 0, the series is
  95890. * represented as an empty circle . The `fillColor` option defines the color
  95891. * of that circle. Use pie.borderWidth to set the border thickness.
  95892. */
  95893. fillColor?: (ColorString|GradientColorObject|PatternObject);
  95894. /**
  95895. * (Highstock) Defines when to display a gap in the graph, together with the
  95896. * gapUnit option.
  95897. *
  95898. * In case when `dataGrouping` is enabled, points can be grouped into a
  95899. * larger time span. This can make the grouped points to have a greater
  95900. * distance than the absolute value of `gapSize` property, which will result
  95901. * in disappearing graph completely. To prevent this situation the mentioned
  95902. * distance between grouped points is used instead of previously defined
  95903. * `gapSize`.
  95904. *
  95905. * In practice, this option is most often used to visualize gaps in time
  95906. * series. In a stock chart, intraday data is available for daytime hours,
  95907. * while gaps will appear in nights and weekends.
  95908. */
  95909. gapSize?: number;
  95910. /**
  95911. * (Highstock) Together with gapSize, this option defines where to draw gaps
  95912. * in the graph.
  95913. *
  95914. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  95915. * if the distance between two points is greater than 5 times that of the
  95916. * two closest points, the graph will be broken.
  95917. *
  95918. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  95919. * values, which on a datetime axis is milliseconds. This also applies to
  95920. * the navigator series that inherits gap options from the base series.
  95921. */
  95922. gapUnit?: OptionsGapUnitValue;
  95923. /**
  95924. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  95925. * whether the series shall be redrawn as if the hidden point were `null`.
  95926. *
  95927. * The default value changed from `false` to `true` with Highcharts 3.0.
  95928. */
  95929. ignoreHiddenPoint?: boolean;
  95930. /**
  95931. * (Highcharts) When set to `false` will prevent the series data from being
  95932. * included in any form of data export.
  95933. *
  95934. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  95935. * `includeInCSVExport`.
  95936. */
  95937. includeInDataExport?: boolean;
  95938. /**
  95939. * (Highcharts) The size of the inner diameter for the pie. A size greater
  95940. * than 0 renders a donut chart. Can be a percentage or pixel value.
  95941. * Percentages are relative to the pie size. Pixel values are given as
  95942. * integers.
  95943. *
  95944. * Note: in Highcharts < 4.1.2, the percentage was relative to the plot
  95945. * area, not the pie size.
  95946. */
  95947. innerSize?: (number|string);
  95948. /**
  95949. * (Highmaps) What property to join the `mapData` to the value data. For
  95950. * example, if joinBy is "code", the mapData items with a specific code is
  95951. * merged into the data with the same code. For maps loaded from GeoJSON,
  95952. * the keys may be held in each point's `properties` object.
  95953. *
  95954. * The joinBy option can also be an array of two values, where the first
  95955. * points to a key in the `mapData`, and the second points to another key in
  95956. * the `data`.
  95957. *
  95958. * When joinBy is `null`, the map items are joined by their position in the
  95959. * array, which performs much better in maps with many data points. This is
  95960. * the recommended option if you are printing more than a thousand data
  95961. * points and have a backend that can preprocess the data into a parallel
  95962. * array of the mapData.
  95963. */
  95964. joinBy?: (string|Array<string>);
  95965. /**
  95966. * (Highcharts) An array specifying which option maps to which key in the
  95967. * data point array. This makes it convenient to work with unstructured data
  95968. * arrays from different sources.
  95969. */
  95970. keys?: Array<string>;
  95971. /**
  95972. * (Highstock) The line marks the last price from all points.
  95973. */
  95974. lastPrice?: SeriesLastPriceOptionsObject;
  95975. /**
  95976. * (Highstock) The line marks the last price from visible range of points.
  95977. */
  95978. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  95979. /**
  95980. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  95981. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  95982. * the ends and bends.
  95983. */
  95984. linecap?: SeriesLinecapValue;
  95985. /**
  95986. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  95987. * Additionally, the value can be ":previous" to link to the previous
  95988. * series. When two series are linked, only the first one appears in the
  95989. * legend. Toggling the visibility of this also toggles the linked series.
  95990. *
  95991. * If master series uses data sorting and linked series does not have its
  95992. * own sorting definition, the linked series will be sorted in the same
  95993. * order as the master one.
  95994. */
  95995. linkedTo?: string;
  95996. /**
  95997. * (Highcharts) The maximum size of the points' radius related to chart's
  95998. * `plotArea`. If a number is set, it applies in pixels.
  95999. */
  96000. maxPointSize?: (number|string);
  96001. /**
  96002. * (Highcharts) The minimum size of the points' radius related to chart's
  96003. * `plotArea`. If a number is set, it applies in pixels.
  96004. */
  96005. minPointSize?: (number|string);
  96006. /**
  96007. * (Highcharts) The minimum size for a pie in response to auto margins. The
  96008. * pie will try to shrink to make room for data labels in side the plot
  96009. * area, but only to this size.
  96010. */
  96011. minSize?: (number|string);
  96012. /**
  96013. * (Highstock) Options for the corresponding navigator series if
  96014. * `showInNavigator` is `true` for this series. Available options are the
  96015. * same as any series, documented at plotOptions and series.
  96016. *
  96017. * These options are merged with options in navigator.series, and will take
  96018. * precedence if the same option is defined both places.
  96019. */
  96020. navigatorOptions?: PlotSeriesOptions;
  96021. /**
  96022. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  96023. * dataLabels.
  96024. */
  96025. opacity?: number;
  96026. /**
  96027. * (Highcharts) Properties for each single point.
  96028. */
  96029. point?: PlotSeriesPointOptions;
  96030. /**
  96031. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  96032. * an individual series. Overrides the chart wide configuration.
  96033. */
  96034. pointDescriptionFormatter?: Function;
  96035. /**
  96036. * (Highstock) The width of each point on the x axis. For example in a
  96037. * column chart with one value each day, the pointRange would be 1 day (= 24
  96038. * * 3600
  96039. *
  96040. * * 1000 milliseconds). This is normally computed automatically, but this
  96041. * option can be used to override the automatic value.
  96042. */
  96043. pointRange?: number;
  96044. /**
  96045. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  96046. * true, the checkbox next to the series name in the legend will be checked
  96047. * for a selected series.
  96048. */
  96049. selected?: boolean;
  96050. /**
  96051. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  96052. * the shadow can be an object configuration containing `color`, `offsetX`,
  96053. * `offsetY`, `opacity` and `width`.
  96054. */
  96055. shadow?: (boolean|ShadowOptionsObject);
  96056. /**
  96057. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  96058. * allow selecting the series. The state of the checkbox is determined by
  96059. * the `selected` option.
  96060. */
  96061. showCheckbox?: boolean;
  96062. /**
  96063. * (Highcharts) Whether to display this particular series or series type in
  96064. * the legend. Since 2.1, pies are not shown in the legend by default.
  96065. */
  96066. showInLegend?: boolean;
  96067. /**
  96068. * (Highstock) Whether or not to show the series in the navigator. Takes
  96069. * precedence over navigator.baseSeries if defined.
  96070. */
  96071. showInNavigator?: boolean;
  96072. /**
  96073. * (Highcharts) The diameter of the pie relative to the plot area. Can be a
  96074. * percentage or pixel value. Pixel values are given as integers. The
  96075. * default behaviour (as of 3.0) is to scale to the plot area and give room
  96076. * for data labels within the plot area. slicedOffset is also included in
  96077. * the default size calculation. As a consequence, the size of the pie may
  96078. * vary when points are updated and data labels more around. In that case it
  96079. * is best to set a fixed value, for example `"75%"`.
  96080. */
  96081. size?: (number|string|null);
  96082. /**
  96083. * (Highcharts) Whether the pie slice's value should be represented by the
  96084. * area or the radius of the slice. Can be either `area` or `radius`. The
  96085. * default, `area`, corresponds best to the human perception of the size of
  96086. * each pie slice.
  96087. */
  96088. sizeBy?: VariablePieSizeByValue;
  96089. /**
  96090. * (Highcharts) If set to `true`, the accessibility module will skip past
  96091. * the points in this series for keyboard navigation.
  96092. */
  96093. skipKeyboardNavigation?: boolean;
  96094. /**
  96095. * (Highcharts) If a point is sliced, moved out from the center, how many
  96096. * pixels should it be moved?.
  96097. */
  96098. slicedOffset?: number;
  96099. /**
  96100. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  96101. * and 90 right.
  96102. */
  96103. startAngle?: number;
  96104. states?: SeriesStatesOptionsObject;
  96105. /**
  96106. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  96107. * event on a series isn't triggered until the mouse moves over another
  96108. * series, or out of the plot area. When false, the `mouseOut` event on a
  96109. * series is triggered when the mouse leaves the area around the series'
  96110. * graph or markers. This also implies the tooltip. When `stickyTracking` is
  96111. * false and `tooltip.shared` is false, the tooltip will be hidden when
  96112. * moving the mouse between series.
  96113. */
  96114. stickyTracking?: boolean;
  96115. /**
  96116. * (Highcharts) A configuration object for the tooltip rendering of each
  96117. * single series. Properties are inherited from tooltip, but only the
  96118. * following properties can be defined on a series level.
  96119. */
  96120. tooltip?: SeriesTooltipOptionsObject;
  96121. /**
  96122. * (Highstock) The parameter allows setting line series type and use OHLC
  96123. * indicators. Data in OHLC format is required.
  96124. */
  96125. useOhlcData?: boolean;
  96126. /**
  96127. * (Highcharts) Set the initial visibility of the series.
  96128. */
  96129. visible?: boolean;
  96130. /**
  96131. * (Highmaps) Define the z index of the series.
  96132. */
  96133. zIndex?: number;
  96134. /**
  96135. * (Highcharts) The maximum possible z value for the point's radius
  96136. * calculation. If the point's Z value is bigger than zMax, the slice will
  96137. * be drawn according to the zMax value
  96138. */
  96139. zMax?: number;
  96140. /**
  96141. * (Highcharts) The minimum possible z value for the point's radius
  96142. * calculation. If the point's Z value is smaller than zMin, the slice will
  96143. * be drawn according to the zMin value.
  96144. */
  96145. zMin?: number;
  96146. }
  96147. /**
  96148. * (Highcharts) Enable or disable the initial animation when a series is
  96149. * displayed. The animation can also be set as a configuration object. Please
  96150. * note that this option only applies to the initial animation of the series
  96151. * itself. For other animations, see chart.animation and the animation parameter
  96152. * under the API methods. The following properties are supported:
  96153. *
  96154. * - `defer`: The animation delay time in milliseconds.
  96155. *
  96156. * - `duration`: The duration of the animation in milliseconds.
  96157. *
  96158. * - `easing`: Can be a string reference to an easing function set on the `Math`
  96159. * object or a function. See the _Custom easing function_ demo below.
  96160. *
  96161. * Due to poor performance, animation is disabled in old IE browsers for several
  96162. * chart types.
  96163. */
  96164. export interface PlotVariwideAnimationOptions {
  96165. defer?: number;
  96166. }
  96167. /**
  96168. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96169. * animation when a series is displayed for the `dataLabels`. The animation can
  96170. * also be set as a configuration object. Please note that this option only
  96171. * applies to the initial animation. For other animations, see chart.animation
  96172. * and the animation parameter under the API methods. The following properties
  96173. * are supported:
  96174. *
  96175. * - `defer`: The animation delay time in milliseconds.
  96176. */
  96177. export interface PlotVariwideDataLabelsAnimationOptions {
  96178. /**
  96179. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  96180. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  96181. * inherits defer time from the series.animation.defer.
  96182. */
  96183. defer?: number;
  96184. }
  96185. /**
  96186. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  96187. * appearing next to each data point.
  96188. *
  96189. * Since v6.2.0, multiple data labels can be applied to each single point by
  96190. * defining them as an array of configs.
  96191. *
  96192. * In styled mode, the data labels can be styled with the
  96193. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  96194. * example).
  96195. */
  96196. export interface PlotVariwideDataLabelsOptions {
  96197. /**
  96198. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  96199. * compared to the point. If `right`, the right side of the label should be
  96200. * touching the point. For points with an extent, like columns, the
  96201. * alignments also dictates how to align it inside the box, as given with
  96202. * the inside option. Can be one of `left`, `center` or `right`.
  96203. */
  96204. align?: string;
  96205. /**
  96206. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  96207. * overlap. To make the labels less sensitive for overlapping, the
  96208. * dataLabels.padding can be set to 0.
  96209. */
  96210. allowOverlap?: boolean;
  96211. /**
  96212. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  96213. * animation when a series is displayed for the `dataLabels`. The animation
  96214. * can also be set as a configuration object. Please note that this option
  96215. * only applies to the initial animation. For other animations, see
  96216. * chart.animation and the animation parameter under the API methods. The
  96217. * following properties are supported:
  96218. *
  96219. * - `defer`: The animation delay time in milliseconds.
  96220. */
  96221. animation?: (boolean|PlotVariwideDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  96222. /**
  96223. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  96224. * for the data label.
  96225. */
  96226. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  96227. /**
  96228. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  96229. * label. Defaults to `undefined`.
  96230. */
  96231. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96232. /**
  96233. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  96234. * the data label.
  96235. */
  96236. borderRadius?: number;
  96237. /**
  96238. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  96239. * the data label.
  96240. */
  96241. borderWidth?: number;
  96242. /**
  96243. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  96244. * Particularly in styled mode, this can be used to give each series' or
  96245. * point's data label unique styling. In addition to this option, a default
  96246. * color class name is added so that we can give the labels a contrast text
  96247. * shadow.
  96248. */
  96249. className?: string;
  96250. /**
  96251. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  96252. * labels. Defaults to `undefined`. For certain series types, like column or
  96253. * map, the data labels can be drawn inside the points. In this case the
  96254. * data label will be drawn with maximum contrast by default. Additionally,
  96255. * it will be given a `text-outline` style with the opposite color, to
  96256. * further increase the contrast. This can be overridden by setting the
  96257. * `text-outline` style to `none` in the `dataLabels.style` option.
  96258. */
  96259. color?: (ColorString|GradientColorObject|PatternObject);
  96260. /**
  96261. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  96262. * are outside the plot area. By default, the data label is moved inside the
  96263. * plot area according to the overflow option.
  96264. */
  96265. crop?: boolean;
  96266. /**
  96267. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  96268. * labels until the initial series animation has finished. Setting to
  96269. * `false` renders the data label immediately. If set to `true` inherits the
  96270. * defer time set in plotOptions.series.animation. If set to a number, a
  96271. * defer time is specified in milliseconds.
  96272. */
  96273. defer?: (boolean|number);
  96274. /**
  96275. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  96276. * labels.
  96277. */
  96278. enabled?: boolean;
  96279. /**
  96280. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  96281. * of which data labels to display. The declarative filter is designed for
  96282. * use when callback functions are not available, like when the chart
  96283. * options require a pure JSON structure or for use with graphical editors.
  96284. * For programmatic control, use the `formatter` instead, and return
  96285. * `undefined` to disable a single data label.
  96286. */
  96287. filter?: DataLabelsFilterOptionsObject;
  96288. /**
  96289. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  96290. * label. Available variables are the same as for `formatter`.
  96291. */
  96292. format?: string;
  96293. /**
  96294. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  96295. * format the data label. Note that if a `format` is defined, the format
  96296. * takes precedence and the formatter is ignored.
  96297. */
  96298. formatter?: DataLabelsFormatterCallbackFunction;
  96299. /**
  96300. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  96301. * columns or map areas, whether to align the data label inside the box or
  96302. * to the actual value point. Defaults to `false` in most cases, `true` in
  96303. * stacked columns.
  96304. */
  96305. inside?: boolean;
  96306. /**
  96307. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  96308. * of null. Works analogously to format. `nullFormat` can be applied only to
  96309. * series which support displaying null points.
  96310. */
  96311. nullFormat?: (boolean|string);
  96312. /**
  96313. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  96314. * that defines formatting for points with the value of null. Works
  96315. * analogously to formatter. `nullPointFormatter` can be applied only to
  96316. * series which support displaying null points.
  96317. */
  96318. nullFormatter?: DataLabelsFormatterCallbackFunction;
  96319. /**
  96320. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  96321. * flow outside the plot area. The default is `"justify"`, which aligns them
  96322. * inside the plot area. For columns and bars, this means it will be moved
  96323. * inside the bar. To display data labels outside the plot area, set `crop`
  96324. * to `false` and `overflow` to `"allow"`.
  96325. */
  96326. overflow?: DataLabelsOverflowValue;
  96327. /**
  96328. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  96329. * the `backgroundColor` is set, this is the padding within the box.
  96330. */
  96331. padding?: number;
  96332. /**
  96333. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  96334. * points. If `center` alignment is not possible, it defaults to `right`.
  96335. */
  96336. position?: AlignValue;
  96337. /**
  96338. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  96339. * that due to a more complex structure, backgrounds, borders and padding
  96340. * will be lost on a rotated data label.
  96341. */
  96342. rotation?: number;
  96343. /**
  96344. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  96345. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  96346. * an object configuration containing `color`, `offsetX`, `offsetY`,
  96347. * `opacity` and `width`.
  96348. */
  96349. shadow?: (boolean|ShadowOptionsObject);
  96350. /**
  96351. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  96352. * the border around the label. Symbols are predefined functions on the
  96353. * Renderer object.
  96354. */
  96355. shape?: string;
  96356. /**
  96357. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  96358. * default `color` setting is `"contrast"`, which is a pseudo color that
  96359. * Highcharts picks up and applies the maximum contrast to the underlying
  96360. * point item, for example the bar in a bar chart.
  96361. *
  96362. * The `textOutline` is a pseudo property that applies an outline of the
  96363. * given width with the given color, which by default is the maximum
  96364. * contrast to the text. So a bright text color will result in a black text
  96365. * outline for maximum readability on a mixed background. In some cases,
  96366. * especially with grayscale text, the text outline doesn't work well, in
  96367. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  96368. * is true, the `textOutline` will not be picked up. In this, case, the same
  96369. * effect can be acheived through the `text-shadow` CSS property.
  96370. *
  96371. * For some series types, where each point has an extent, like for example
  96372. * tree maps, the data label may overflow the point. There are two
  96373. * strategies for handling overflow. By default, the text will wrap to
  96374. * multiple lines. The other strategy is to set `style.textOverflow` to
  96375. * `ellipsis`, which will keep the text on one line plus it will break
  96376. * inside long words.
  96377. */
  96378. style?: CSSObject;
  96379. /**
  96380. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  96381. * should follow marker's shape. Border and background are disabled for a
  96382. * label that follows a path.
  96383. *
  96384. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  96385. * to true will disable this option.
  96386. */
  96387. textPath?: DataLabelsTextPathOptionsObject;
  96388. /**
  96389. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  96390. * the labels.
  96391. */
  96392. useHTML?: boolean;
  96393. /**
  96394. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  96395. * label. Can be one of `top`, `middle` or `bottom`. The default value
  96396. * depends on the data, for instance in a column chart, the label is above
  96397. * positive values and below negative values.
  96398. */
  96399. verticalAlign?: string;
  96400. /**
  96401. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  96402. * label relative to the point in pixels.
  96403. */
  96404. x?: number;
  96405. /**
  96406. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  96407. * label relative to the point in pixels.
  96408. */
  96409. y?: number;
  96410. /**
  96411. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  96412. * The default Z index puts it above the series. Use a Z index of 2 to
  96413. * display it behind the series.
  96414. */
  96415. z?: number;
  96416. }
  96417. /**
  96418. * (Highcharts, Highstock) Options for the series data sorting.
  96419. */
  96420. export interface PlotVariwideDataSortingOptions {
  96421. /**
  96422. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  96423. * Use xAxis.reversed to change the sorting order.
  96424. */
  96425. enabled?: boolean;
  96426. /**
  96427. * (Highcharts, Highstock) Whether to allow matching points by name in an
  96428. * update. If this option is disabled, points will be matched by order.
  96429. */
  96430. matchByName?: boolean;
  96431. /**
  96432. * (Highcharts, Highstock) Determines what data value should be used to sort
  96433. * by.
  96434. */
  96435. sortKey?: string;
  96436. }
  96437. /**
  96438. * (Highcharts) Style options for the guide box. The guide box has one state by
  96439. * default, the `default` state.
  96440. */
  96441. export interface PlotVariwideDragDropGuideBoxOptions {
  96442. /**
  96443. * (Highcharts) Style options for the guide box default state.
  96444. */
  96445. default?: DragDropGuideBoxOptionsObject;
  96446. }
  96447. /**
  96448. * (Highcharts) A variwide chart (related to marimekko chart) is a column chart
  96449. * with a variable width expressing a third dimension.
  96450. *
  96451. * In TypeScript the type option must always be set.
  96452. *
  96453. * Configuration options for the series are given in three levels:
  96454. *
  96455. * 1. Options for all series in a chart are defined in the plotOptions.series
  96456. * object.
  96457. *
  96458. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  96459. *
  96460. * 3. Options for one single series are given in the series instance array. (see
  96461. * online documentation for example)
  96462. */
  96463. export interface PlotVariwideOptions {
  96464. /**
  96465. * (Highcharts) Accessibility options for a series.
  96466. */
  96467. accessibility?: SeriesAccessibilityOptionsObject;
  96468. /**
  96469. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  96470. * rendered. If `true`, areas which don't correspond to a data point, are
  96471. * rendered as `null` points. If `false`, those areas are skipped.
  96472. */
  96473. allAreas?: boolean;
  96474. /**
  96475. * (Highcharts) Allow this series' points to be selected by clicking on the
  96476. * graphic (columns, point markers, pie slices, map areas etc).
  96477. *
  96478. * The selected points can be handled by point select and unselect events,
  96479. * or collectively by the getSelectedPoints function.
  96480. *
  96481. * And alternative way of selecting points is through dragging.
  96482. */
  96483. allowPointSelect?: boolean;
  96484. /**
  96485. * (Highcharts) Enable or disable the initial animation when a series is
  96486. * displayed. The animation can also be set as a configuration object.
  96487. * Please note that this option only applies to the initial animation of the
  96488. * series itself. For other animations, see chart.animation and the
  96489. * animation parameter under the API methods. The following properties are
  96490. * supported:
  96491. *
  96492. * - `defer`: The animation delay time in milliseconds.
  96493. *
  96494. * - `duration`: The duration of the animation in milliseconds.
  96495. *
  96496. * - `easing`: Can be a string reference to an easing function set on the
  96497. * `Math` object or a function. See the _Custom easing function_ demo below.
  96498. *
  96499. * Due to poor performance, animation is disabled in old IE browsers for
  96500. * several chart types.
  96501. */
  96502. animation?: (boolean|PlotVariwideAnimationOptions|Partial<AnimationOptionsObject>);
  96503. /**
  96504. * (Highcharts) For some series, there is a limit that shuts down initial
  96505. * animation by default when the total number of points in the chart is too
  96506. * high. For example, for a column chart and its derivatives, animation does
  96507. * not run if there is more than 250 points totally. To disable this cap,
  96508. * set `animationLimit` to `Infinity`.
  96509. */
  96510. animationLimit?: number;
  96511. /**
  96512. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  96513. * column or bar.
  96514. *
  96515. * In styled mode, the border stroke can be set with the `.highcharts-point`
  96516. * rule.
  96517. */
  96518. borderColor?: (ColorString|GradientColorObject|PatternObject);
  96519. /**
  96520. * (Highcharts, Highstock, Gantt) The corner radius of the border
  96521. * surrounding each column or bar.
  96522. */
  96523. borderRadius?: number;
  96524. /**
  96525. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  96526. * column or bar. Defaults to `1` when there is room for a border, but to
  96527. * `0` when the columns are so dense that a border would cover the next
  96528. * column.
  96529. *
  96530. * In styled mode, the stroke width can be set with the `.highcharts-point`
  96531. * rule.
  96532. */
  96533. borderWidth?: number;
  96534. /**
  96535. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  96536. * the category, ignoring null or missing points. When `false`, space will
  96537. * be reserved for null or missing points.
  96538. */
  96539. centerInCategory?: boolean;
  96540. /**
  96541. * (Highcharts) An additional class name to apply to the series' graphical
  96542. * elements. This option does not replace default class names of the
  96543. * graphical element.
  96544. */
  96545. className?: string;
  96546. /**
  96547. * (Highcharts) Disable this option to allow series rendering in the whole
  96548. * plotting area.
  96549. *
  96550. * **Note:** Clipping should be always enabled when chart.zoomType is set
  96551. */
  96552. clip?: boolean;
  96553. /**
  96554. * (Highcharts) The main color of the series. In line type series it applies
  96555. * to the line and the point markers unless otherwise specified. In bar type
  96556. * series it applies to the bars unless a color is specified per point. The
  96557. * default value is pulled from the `options.colors` array.
  96558. *
  96559. * In styled mode, the color can be defined by the colorIndex option. Also,
  96560. * the series color can be set with the `.highcharts-series`,
  96561. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  96562. * `.highcharts-series-{n}` class, or individual classes given by the
  96563. * `className` option.
  96564. */
  96565. color?: (ColorString|GradientColorObject|PatternObject);
  96566. /**
  96567. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  96568. * this number defines which colorAxis the particular series is connected
  96569. * to. It refers to either the axis id or the index of the axis in the
  96570. * colorAxis array, with 0 being the first. Set this option to false to
  96571. * prevent a series from connecting to the default color axis.
  96572. *
  96573. * Since v7.2.0 the option can also be an axis id or an axis index instead
  96574. * of a boolean flag.
  96575. */
  96576. colorAxis?: (boolean|number|string);
  96577. /**
  96578. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  96579. * from the global colors or series-specific plotOptions.column.colors
  96580. * collections, this option determines whether the chart should receive one
  96581. * color per series or one color per point.
  96582. *
  96583. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  96584. * and instead this option gives the points individual color class names on
  96585. * the form `highcharts-color-{n}`.
  96586. */
  96587. colorByPoint?: boolean;
  96588. /**
  96589. * (Highcharts) Styled mode only. A specific color index to use for the
  96590. * series, so its graphic representations are given the class name
  96591. * `highcharts-color-{n}`.
  96592. */
  96593. colorIndex?: number;
  96594. /**
  96595. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  96596. * used to calculate point color if `colorAxis` is used. Requires to set
  96597. * `min` and `max` if some custom point property is used or if approximation
  96598. * for data grouping is set to `'sum'`.
  96599. */
  96600. colorKey?: string;
  96601. /**
  96602. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  96603. * color set to apply instead of the global colors when colorByPoint is
  96604. * true.
  96605. */
  96606. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  96607. /**
  96608. * (Highstock) Compare the values of the series against the first non-null,
  96609. * non- zero value in the visible range. The y axis will show percentage or
  96610. * absolute change depending on whether `compare` is set to `"percent"` or
  96611. * `"value"`. When this is applied to multiple series, it allows comparing
  96612. * the development of the series against each other. Adds a `change` field
  96613. * to every point object.
  96614. */
  96615. compare?: string;
  96616. /**
  96617. * (Highstock) When compare is `percent`, this option dictates whether to
  96618. * use 0 or 100 as the base of comparison.
  96619. */
  96620. compareBase?: (0|100);
  96621. /**
  96622. * (Highstock) Defines if comparison should start from the first point
  96623. * within the visible range or should start from the first point **before**
  96624. * the range.
  96625. *
  96626. * In other words, this flag determines if first point within the visible
  96627. * range will have 0% (`compareStart=true`) or should have been already
  96628. * calculated according to the previous point (`compareStart=false`).
  96629. */
  96630. compareStart?: boolean;
  96631. /**
  96632. * (Gantt) Override Pathfinder connector options for a series. Requires
  96633. * Highcharts Gantt to be loaded.
  96634. */
  96635. connectors?: SeriesConnectorsOptionsObject;
  96636. /**
  96637. * (Highcharts, Highstock, Gantt) When the series contains less points than
  96638. * the crop threshold, all points are drawn, event if the points fall
  96639. * outside the visible plot area at the current zoom. The advantage of
  96640. * drawing all points (including markers and columns), is that animation is
  96641. * performed on updates. On the other hand, when the series contains more
  96642. * points than the crop threshold, the series data is cropped to only
  96643. * contain points that fall within the plot area. The advantage of cropping
  96644. * away invisible points is to increase performance on large series.
  96645. */
  96646. cropThreshold?: number;
  96647. /**
  96648. * (Highcharts) You can set the cursor to "pointer" if you have click events
  96649. * attached to the series, to signal to the user that the points and lines
  96650. * can be clicked.
  96651. *
  96652. * In styled mode, the series cursor can be set with the same classes as
  96653. * listed under series.color.
  96654. */
  96655. cursor?: (string|CursorValue);
  96656. /**
  96657. * (Highcharts) A reserved subspace to store options and values for
  96658. * customized functionality. Here you can add additional data for your own
  96659. * event callbacks and formatter callbacks.
  96660. */
  96661. custom?: Dictionary<any>;
  96662. /**
  96663. * (Highcharts) Name of the dash style to use for the graph, or for some
  96664. * series types the outline of each shape.
  96665. *
  96666. * In styled mode, the stroke dash-array can be set with the same classes as
  96667. * listed under series.color.
  96668. */
  96669. dashStyle?: DashStyleValue;
  96670. /**
  96671. * (Highstock) Data grouping is the concept of sampling the data values into
  96672. * larger blocks in order to ease readability and increase performance of
  96673. * the JavaScript charts. Highcharts Stock by default applies data grouping
  96674. * when the points become closer than a certain pixel value, determined by
  96675. * the `groupPixelWidth` option.
  96676. *
  96677. * If data grouping is applied, the grouping information of grouped points
  96678. * can be read from the Point.dataGroup. If point options other than the
  96679. * data itself are set, for example `name` or `color` or custom properties,
  96680. * the grouping logic doesn't know how to group it. In this case the options
  96681. * of the first point instance are copied over to the group point. This can
  96682. * be altered through a custom `approximation` callback function.
  96683. */
  96684. dataGrouping?: DataGroupingOptionsObject;
  96685. /**
  96686. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  96687. * labels, appearing next to each data point.
  96688. *
  96689. * Since v6.2.0, multiple data labels can be applied to each single point by
  96690. * defining them as an array of configs.
  96691. *
  96692. * In styled mode, the data labels can be styled with the
  96693. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  96694. * (see example).
  96695. */
  96696. dataLabels?: (PlotVariwideDataLabelsOptions|Array<PlotVariwideDataLabelsOptions>);
  96697. /**
  96698. * (Highcharts, Highstock) Options for the series data sorting.
  96699. */
  96700. dataSorting?: (DataSortingOptionsObject|PlotVariwideDataSortingOptions);
  96701. /**
  96702. * (Highcharts) A description of the series to add to the screen reader
  96703. * information about the series.
  96704. */
  96705. description?: string;
  96706. /**
  96707. * (Highcharts) The draggable-points module allows points to be moved around
  96708. * or modified in the chart. In addition to the options mentioned under the
  96709. * `dragDrop` API structure, the module fires three events, point.dragStart,
  96710. * point.drag and point.drop.
  96711. */
  96712. dragDrop?: SeriesDragDropOptionsObject;
  96713. /**
  96714. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  96715. * This includes point tooltips and click events on graphs and points. For
  96716. * large datasets it improves performance.
  96717. */
  96718. enableMouseTracking?: boolean;
  96719. /**
  96720. * (Highcharts) General event handlers for the series items. These event
  96721. * hooks can also be attached to the series at run time using the
  96722. * `Highcharts.addEvent` function.
  96723. */
  96724. events?: SeriesEventsOptionsObject;
  96725. /**
  96726. * (Highcharts) Determines whether the series should look for the nearest
  96727. * point in both dimensions or just the x-dimension when hovering the
  96728. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  96729. * series. If the data has duplicate x-values, it is recommended to set this
  96730. * to `'xy'` to allow hovering over all points.
  96731. *
  96732. * Applies only to series types using nearest neighbor search (not direct
  96733. * hover) for tooltip.
  96734. */
  96735. findNearestPointBy?: OptionsFindNearestPointByValue;
  96736. /**
  96737. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  96738. * chart width or only the zoomed area when zooming in on parts of the X
  96739. * axis. By default, the Y axis adjusts to the min and max of the visible
  96740. * data. Cartesian series only.
  96741. */
  96742. getExtremesFromAll?: boolean;
  96743. /**
  96744. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  96745. * let them render independent of each other. Non-grouped columns will be
  96746. * laid out individually and overlap each other.
  96747. */
  96748. grouping?: boolean;
  96749. /**
  96750. * (Highcharts, Highstock, Gantt) In a variwide chart, the group padding is
  96751. * 0 in order to express the horizontal stacking of items.
  96752. */
  96753. groupPadding?: number;
  96754. /**
  96755. * (Highcharts) When set to `false` will prevent the series data from being
  96756. * included in any form of data export.
  96757. *
  96758. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  96759. * `includeInCSVExport`.
  96760. */
  96761. includeInDataExport?: boolean;
  96762. /**
  96763. * (Highmaps) What property to join the `mapData` to the value data. For
  96764. * example, if joinBy is "code", the mapData items with a specific code is
  96765. * merged into the data with the same code. For maps loaded from GeoJSON,
  96766. * the keys may be held in each point's `properties` object.
  96767. *
  96768. * The joinBy option can also be an array of two values, where the first
  96769. * points to a key in the `mapData`, and the second points to another key in
  96770. * the `data`.
  96771. *
  96772. * When joinBy is `null`, the map items are joined by their position in the
  96773. * array, which performs much better in maps with many data points. This is
  96774. * the recommended option if you are printing more than a thousand data
  96775. * points and have a backend that can preprocess the data into a parallel
  96776. * array of the mapData.
  96777. */
  96778. joinBy?: (string|Array<string>);
  96779. /**
  96780. * (Highcharts) An array specifying which option maps to which key in the
  96781. * data point array. This makes it convenient to work with unstructured data
  96782. * arrays from different sources.
  96783. */
  96784. keys?: Array<string>;
  96785. /**
  96786. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  96787. * series as possible in a natural way, seeking to avoid other series. The
  96788. * goal of this feature is to make the chart more easily readable, like if a
  96789. * human designer placed the labels in the optimal position.
  96790. *
  96791. * The series labels currently work with series types having a `graph` or an
  96792. * `area`.
  96793. */
  96794. label?: SeriesLabelOptionsObject;
  96795. /**
  96796. * (Highstock) The line marks the last price from all points.
  96797. */
  96798. lastPrice?: SeriesLastPriceOptionsObject;
  96799. /**
  96800. * (Highstock) The line marks the last price from visible range of points.
  96801. */
  96802. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  96803. /**
  96804. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  96805. * Additionally, the value can be ":previous" to link to the previous
  96806. * series. When two series are linked, only the first one appears in the
  96807. * legend. Toggling the visibility of this also toggles the linked series.
  96808. *
  96809. * If master series uses data sorting and linked series does not have its
  96810. * own sorting definition, the linked series will be sorted in the same
  96811. * order as the master one.
  96812. */
  96813. linkedTo?: string;
  96814. /**
  96815. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  96816. * column, translated to the height of a bar in a bar chart. This prevents
  96817. * the columns from becoming too wide when there is a small number of points
  96818. * in the chart.
  96819. */
  96820. maxPointWidth?: number;
  96821. /**
  96822. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  96823. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  96824. * to zero) point, set the minimal point length to a pixel value like 3\. In
  96825. * stacked column charts, minPointLength might not be respected for tightly
  96826. * packed values.
  96827. */
  96828. minPointLength?: number;
  96829. /**
  96830. * (Highstock) Options for the corresponding navigator series if
  96831. * `showInNavigator` is `true` for this series. Available options are the
  96832. * same as any series, documented at plotOptions and series.
  96833. *
  96834. * These options are merged with options in navigator.series, and will take
  96835. * precedence if the same option is defined both places.
  96836. */
  96837. navigatorOptions?: PlotSeriesOptions;
  96838. /**
  96839. * (Highcharts) The color for the parts of the graph or points that are
  96840. * below the threshold. Note that `zones` takes precedence over the negative
  96841. * color. Using `negativeColor` is equivalent to applying a zone with value
  96842. * of 0.
  96843. */
  96844. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  96845. /**
  96846. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  96847. * dataLabels.
  96848. */
  96849. opacity?: number;
  96850. /**
  96851. * (Highcharts) Properties for each single point.
  96852. */
  96853. point?: PlotSeriesPointOptions;
  96854. /**
  96855. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  96856. * an individual series. Overrides the chart wide configuration.
  96857. */
  96858. pointDescriptionFormatter?: Function;
  96859. /**
  96860. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96861. * a series, `pointInterval` defines the interval of the x values. For
  96862. * example, if a series contains one value every decade starting from year
  96863. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  96864. * `pointInterval` is set in milliseconds.
  96865. *
  96866. * It can be also be combined with `pointIntervalUnit` to draw irregular
  96867. * time intervals.
  96868. *
  96869. * Please note that this options applies to the _series data_, not the
  96870. * interval of the axis ticks, which is independent.
  96871. */
  96872. pointInterval?: number;
  96873. /**
  96874. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  96875. * setting the pointInterval to irregular time units, `day`, `month` and
  96876. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  96877. * also takes the DST crossover into consideration when dealing with local
  96878. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  96879. * months, 10 years etc.
  96880. *
  96881. * Please note that this options applies to the _series data_, not the
  96882. * interval of the axis ticks, which is independent.
  96883. */
  96884. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  96885. /**
  96886. * (Highcharts, Highstock, Gantt) In a variwide chart, the point padding is
  96887. * 0 in order to express the horizontal stacking of items.
  96888. */
  96889. pointPadding?: number;
  96890. /**
  96891. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  96892. * `number`.
  96893. *
  96894. * In a column chart, when pointPlacement is `"on"`, the point will not
  96895. * create any padding of the X axis. In a polar column chart this means that
  96896. * the first column points directly north. If the pointPlacement is
  96897. * `"between"`, the columns will be laid out between ticks. This is useful
  96898. * for example for visualising an amount between two points in time or in a
  96899. * certain sector of a polar chart.
  96900. *
  96901. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  96902. * is on the axis value, -0.5 is between this value and the previous, and
  96903. * 0.5 is between this value and the next. Unlike the textual options,
  96904. * numeric point placement options won't affect axis padding.
  96905. *
  96906. * Note that pointPlacement needs a pointRange to work. For column series
  96907. * this is computed, but for line-type series it needs to be set.
  96908. *
  96909. * For the `xrange` series type and gantt charts, if the Y axis is a
  96910. * category axis, the `pointPlacement` applies to the Y axis rather than the
  96911. * (typically datetime) X axis.
  96912. *
  96913. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  96914. */
  96915. pointPlacement?: (number|string);
  96916. /**
  96917. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  96918. * for. This determines the width of the column. On a categorized axis, the
  96919. * range will be 1 by default (one category unit). On linear and datetime
  96920. * axes, the range will be computed as the distance between the two closest
  96921. * data points.
  96922. *
  96923. * The default `null` means it is computed automatically, but this option
  96924. * can be used to override the automatic value.
  96925. *
  96926. * This option is set by default to 1 if data sorting is enabled.
  96927. */
  96928. pointRange?: (number|null);
  96929. /**
  96930. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  96931. * a series, pointStart defines on what value to start. For example, if a
  96932. * series contains one yearly value starting from 1945, set pointStart to
  96933. * 1945.
  96934. */
  96935. pointStart?: number;
  96936. /**
  96937. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  96938. * each column or bar point. When set to `undefined`, the width is
  96939. * calculated from the `pointPadding` and `groupPadding`. The width effects
  96940. * the dimension that is not based on the point value. For column series it
  96941. * is the hoizontal length and for bar series it is the vertical length.
  96942. */
  96943. pointWidth?: number;
  96944. /**
  96945. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  96946. * true, the checkbox next to the series name in the legend will be checked
  96947. * for a selected series.
  96948. */
  96949. selected?: boolean;
  96950. /**
  96951. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  96952. * the shadow can be an object configuration containing `color`, `offsetX`,
  96953. * `offsetY`, `opacity` and `width`.
  96954. */
  96955. shadow?: (boolean|ShadowOptionsObject);
  96956. /**
  96957. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  96958. * allow selecting the series. The state of the checkbox is determined by
  96959. * the `selected` option.
  96960. */
  96961. showCheckbox?: boolean;
  96962. /**
  96963. * (Highcharts) Whether to display this particular series or series type in
  96964. * the legend. Standalone series are shown in legend by default, and linked
  96965. * series are not. Since v7.2.0 it is possible to show series that use
  96966. * colorAxis by setting this option to `true`.
  96967. */
  96968. showInLegend?: boolean;
  96969. /**
  96970. * (Highstock) Whether or not to show the series in the navigator. Takes
  96971. * precedence over navigator.baseSeries if defined.
  96972. */
  96973. showInNavigator?: boolean;
  96974. /**
  96975. * (Highcharts) If set to `true`, the accessibility module will skip past
  96976. * the points in this series for keyboard navigation.
  96977. */
  96978. skipKeyboardNavigation?: boolean;
  96979. /**
  96980. * (Highcharts, Highstock) When this is true, the series will not cause the
  96981. * Y axis to cross the zero plane (or threshold option) unless the data
  96982. * actually crosses the plane.
  96983. *
  96984. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  96985. * make the Y axis show negative values according to the `minPadding`
  96986. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  96987. */
  96988. softThreshold?: boolean;
  96989. /**
  96990. * (Highcharts, Highstock) Whether to stack the values of each series on top
  96991. * of each other. Possible values are `undefined` to disable, `"normal"` to
  96992. * stack by value or `"percent"`.
  96993. *
  96994. * When stacking is enabled, data must be sorted in ascending X order.
  96995. *
  96996. * Some stacking options are related to specific series types. In the
  96997. * streamgraph series type, the stacking option is set to `"stream"`. The
  96998. * second one is `"overlap"`, which only applies to waterfall series.
  96999. */
  97000. stacking?: OptionsStackingValue;
  97001. states?: SeriesStatesOptionsObject;
  97002. /**
  97003. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  97004. * event on a series isn't triggered until the mouse moves over another
  97005. * series, or out of the plot area. When false, the `mouseOut` event on a
  97006. * series is triggered when the mouse leaves the area around the series'
  97007. * graph or markers. This also implies the tooltip when not shared. When
  97008. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  97009. * be hidden when moving the mouse between series. Defaults to true for line
  97010. * and area type series, but to false for columns, pies etc.
  97011. *
  97012. * **Note:** The boost module will force this option because of technical
  97013. * limitations.
  97014. */
  97015. stickyTracking?: boolean;
  97016. /**
  97017. * (Highcharts) The Y axis value to serve as the base for the columns, for
  97018. * distinguishing between values above and below a threshold. If `null`, the
  97019. * columns extend from the padding Y axis minimum.
  97020. */
  97021. threshold?: (number|null);
  97022. /**
  97023. * (Highcharts) A configuration object for the tooltip rendering of each
  97024. * single series. Properties are inherited from tooltip, but only the
  97025. * following properties can be defined on a series level.
  97026. */
  97027. tooltip?: SeriesTooltipOptionsObject;
  97028. /**
  97029. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  97030. * is longer than this, only one dimensional arrays of numbers, or two
  97031. * dimensional arrays with x and y values are allowed. Also, only the first
  97032. * point is tested, and the rest are assumed to be the same format. This
  97033. * saves expensive data checking and indexing in long series. Set it to `0`
  97034. * disable.
  97035. *
  97036. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  97037. * two dimensional arrays are allowed.
  97038. */
  97039. turboThreshold?: number;
  97040. /**
  97041. * (Highcharts) Set the initial visibility of the series.
  97042. */
  97043. visible?: boolean;
  97044. /**
  97045. * (Highmaps) Define the z index of the series.
  97046. */
  97047. zIndex?: number;
  97048. /**
  97049. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  97050. */
  97051. zoneAxis?: string;
  97052. /**
  97053. * (Highcharts, Highstock) An array defining zones within a series. Zones
  97054. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  97055. * the `zoneAxis` option. The zone definitions have to be in ascending order
  97056. * regarding to the value.
  97057. *
  97058. * In styled mode, the color zones are styled with the
  97059. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  97060. * option (view live demo).
  97061. */
  97062. zones?: Array<SeriesZonesOptionsObject>;
  97063. }
  97064. /**
  97065. * (Highstock) Enable or disable the initial animation when a series is
  97066. * displayed. The animation can also be set as a configuration object. Please
  97067. * note that this option only applies to the initial animation of the series
  97068. * itself. For other animations, see chart.animation and the animation parameter
  97069. * under the API methods. The following properties are supported:
  97070. *
  97071. * - `defer`: The animation delay time in milliseconds.
  97072. *
  97073. * - `duration`: The duration of the animation in milliseconds.
  97074. *
  97075. * - `easing`: Can be a string reference to an easing function set on the `Math`
  97076. * object or a function. See the _Custom easing function_ demo below.
  97077. *
  97078. * Due to poor performance, animation is disabled in old IE browsers for several
  97079. * chart types.
  97080. */
  97081. export interface PlotVbpAnimationOptions {
  97082. defer?: number;
  97083. }
  97084. /**
  97085. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97086. * animation when a series is displayed for the `dataLabels`. The animation can
  97087. * also be set as a configuration object. Please note that this option only
  97088. * applies to the initial animation. For other animations, see chart.animation
  97089. * and the animation parameter under the API methods. The following properties
  97090. * are supported:
  97091. *
  97092. * - `defer`: The animation delay time in milliseconds.
  97093. */
  97094. export interface PlotVbpDataLabelsAnimationOptions {
  97095. /**
  97096. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  97097. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  97098. * inherits defer time from the series.animation.defer.
  97099. */
  97100. defer?: number;
  97101. }
  97102. /**
  97103. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  97104. * appearing next to each data point.
  97105. *
  97106. * Since v6.2.0, multiple data labels can be applied to each single point by
  97107. * defining them as an array of configs.
  97108. *
  97109. * In styled mode, the data labels can be styled with the
  97110. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  97111. * example).
  97112. */
  97113. export interface PlotVbpDataLabelsOptions {
  97114. /**
  97115. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  97116. * compared to the point. If `right`, the right side of the label should be
  97117. * touching the point. For points with an extent, like columns, the
  97118. * alignments also dictates how to align it inside the box, as given with
  97119. * the inside option. Can be one of `left`, `center` or `right`.
  97120. */
  97121. align?: (AlignValue|null);
  97122. /**
  97123. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  97124. * overlap. To make the labels less sensitive for overlapping, the
  97125. * dataLabels.padding can be set to 0.
  97126. */
  97127. allowOverlap?: boolean;
  97128. /**
  97129. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  97130. * animation when a series is displayed for the `dataLabels`. The animation
  97131. * can also be set as a configuration object. Please note that this option
  97132. * only applies to the initial animation. For other animations, see
  97133. * chart.animation and the animation parameter under the API methods. The
  97134. * following properties are supported:
  97135. *
  97136. * - `defer`: The animation delay time in milliseconds.
  97137. */
  97138. animation?: (boolean|PlotVbpDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  97139. /**
  97140. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  97141. * for the data label.
  97142. */
  97143. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  97144. /**
  97145. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  97146. * label. Defaults to `undefined`.
  97147. */
  97148. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97149. /**
  97150. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  97151. * the data label.
  97152. */
  97153. borderRadius?: number;
  97154. /**
  97155. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  97156. * the data label.
  97157. */
  97158. borderWidth?: number;
  97159. /**
  97160. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  97161. * Particularly in styled mode, this can be used to give each series' or
  97162. * point's data label unique styling. In addition to this option, a default
  97163. * color class name is added so that we can give the labels a contrast text
  97164. * shadow.
  97165. */
  97166. className?: string;
  97167. /**
  97168. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  97169. * labels. Defaults to `undefined`. For certain series types, like column or
  97170. * map, the data labels can be drawn inside the points. In this case the
  97171. * data label will be drawn with maximum contrast by default. Additionally,
  97172. * it will be given a `text-outline` style with the opposite color, to
  97173. * further increase the contrast. This can be overridden by setting the
  97174. * `text-outline` style to `none` in the `dataLabels.style` option.
  97175. */
  97176. color?: (ColorString|GradientColorObject|PatternObject);
  97177. /**
  97178. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  97179. * are outside the plot area. By default, the data label is moved inside the
  97180. * plot area according to the overflow option.
  97181. */
  97182. crop?: boolean;
  97183. /**
  97184. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  97185. * labels until the initial series animation has finished. Setting to
  97186. * `false` renders the data label immediately. If set to `true` inherits the
  97187. * defer time set in plotOptions.series.animation. If set to a number, a
  97188. * defer time is specified in milliseconds.
  97189. */
  97190. defer?: (boolean|number);
  97191. /**
  97192. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  97193. * labels.
  97194. */
  97195. enabled?: boolean;
  97196. /**
  97197. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  97198. * of which data labels to display. The declarative filter is designed for
  97199. * use when callback functions are not available, like when the chart
  97200. * options require a pure JSON structure or for use with graphical editors.
  97201. * For programmatic control, use the `formatter` instead, and return
  97202. * `undefined` to disable a single data label.
  97203. */
  97204. filter?: DataLabelsFilterOptionsObject;
  97205. /**
  97206. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  97207. * label. Available variables are the same as for `formatter`.
  97208. */
  97209. format?: string;
  97210. /**
  97211. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  97212. * format the data label. Note that if a `format` is defined, the format
  97213. * takes precedence and the formatter is ignored.
  97214. */
  97215. formatter?: DataLabelsFormatterCallbackFunction;
  97216. /**
  97217. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  97218. * columns or map areas, whether to align the data label inside the box or
  97219. * to the actual value point. Defaults to `false` in most cases, `true` in
  97220. * stacked columns.
  97221. */
  97222. inside?: boolean;
  97223. /**
  97224. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  97225. * of null. Works analogously to format. `nullFormat` can be applied only to
  97226. * series which support displaying null points.
  97227. */
  97228. nullFormat?: (boolean|string);
  97229. /**
  97230. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  97231. * that defines formatting for points with the value of null. Works
  97232. * analogously to formatter. `nullPointFormatter` can be applied only to
  97233. * series which support displaying null points.
  97234. */
  97235. nullFormatter?: DataLabelsFormatterCallbackFunction;
  97236. /**
  97237. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  97238. * flow outside the plot area. The default is `"justify"`, which aligns them
  97239. * inside the plot area. For columns and bars, this means it will be moved
  97240. * inside the bar. To display data labels outside the plot area, set `crop`
  97241. * to `false` and `overflow` to `"allow"`.
  97242. */
  97243. overflow?: DataLabelsOverflowValue;
  97244. /**
  97245. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  97246. * the `backgroundColor` is set, this is the padding within the box.
  97247. */
  97248. padding?: number;
  97249. /**
  97250. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  97251. * points. If `center` alignment is not possible, it defaults to `right`.
  97252. */
  97253. position?: AlignValue;
  97254. /**
  97255. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  97256. * that due to a more complex structure, backgrounds, borders and padding
  97257. * will be lost on a rotated data label.
  97258. */
  97259. rotation?: number;
  97260. /**
  97261. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  97262. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  97263. * an object configuration containing `color`, `offsetX`, `offsetY`,
  97264. * `opacity` and `width`.
  97265. */
  97266. shadow?: (boolean|ShadowOptionsObject);
  97267. /**
  97268. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  97269. * the border around the label. Symbols are predefined functions on the
  97270. * Renderer object.
  97271. */
  97272. shape?: string;
  97273. /**
  97274. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  97275. * default `color` setting is `"contrast"`, which is a pseudo color that
  97276. * Highcharts picks up and applies the maximum contrast to the underlying
  97277. * point item, for example the bar in a bar chart.
  97278. *
  97279. * The `textOutline` is a pseudo property that applies an outline of the
  97280. * given width with the given color, which by default is the maximum
  97281. * contrast to the text. So a bright text color will result in a black text
  97282. * outline for maximum readability on a mixed background. In some cases,
  97283. * especially with grayscale text, the text outline doesn't work well, in
  97284. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  97285. * is true, the `textOutline` will not be picked up. In this, case, the same
  97286. * effect can be acheived through the `text-shadow` CSS property.
  97287. *
  97288. * For some series types, where each point has an extent, like for example
  97289. * tree maps, the data label may overflow the point. There are two
  97290. * strategies for handling overflow. By default, the text will wrap to
  97291. * multiple lines. The other strategy is to set `style.textOverflow` to
  97292. * `ellipsis`, which will keep the text on one line plus it will break
  97293. * inside long words.
  97294. */
  97295. style?: CSSObject;
  97296. /**
  97297. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  97298. * should follow marker's shape. Border and background are disabled for a
  97299. * label that follows a path.
  97300. *
  97301. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  97302. * to true will disable this option.
  97303. */
  97304. textPath?: DataLabelsTextPathOptionsObject;
  97305. /**
  97306. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  97307. * the labels.
  97308. */
  97309. useHTML?: boolean;
  97310. /**
  97311. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  97312. * label. Can be one of `top`, `middle` or `bottom`. The default value
  97313. * depends on the data, for instance in a column chart, the label is above
  97314. * positive values and below negative values.
  97315. */
  97316. verticalAlign?: string;
  97317. /**
  97318. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  97319. * label relative to the point in pixels.
  97320. */
  97321. x?: number;
  97322. /**
  97323. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  97324. * label relative to the point in pixels.
  97325. */
  97326. y?: number;
  97327. /**
  97328. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  97329. * The default Z index puts it above the series. Use a Z index of 2 to
  97330. * display it behind the series.
  97331. */
  97332. z?: number;
  97333. }
  97334. /**
  97335. * (Highcharts, Highstock) Options for the series data sorting.
  97336. */
  97337. export interface PlotVbpDataSortingOptions {
  97338. /**
  97339. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  97340. * Use xAxis.reversed to change the sorting order.
  97341. */
  97342. enabled?: boolean;
  97343. /**
  97344. * (Highcharts, Highstock) Whether to allow matching points by name in an
  97345. * update. If this option is disabled, points will be matched by order.
  97346. */
  97347. matchByName?: boolean;
  97348. /**
  97349. * (Highcharts, Highstock) Determines what data value should be used to sort
  97350. * by.
  97351. */
  97352. sortKey?: string;
  97353. }
  97354. /**
  97355. * (Highstock) Volume By Price indicator.
  97356. *
  97357. * This series requires `linkedTo` option to be set.
  97358. *
  97359. * In TypeScript the type option must always be set.
  97360. *
  97361. * Configuration options for the series are given in three levels:
  97362. *
  97363. * 1. Options for all series in a chart are defined in the plotOptions.series
  97364. * object.
  97365. *
  97366. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  97367. *
  97368. * 3. Options for one single series are given in the series instance array. (see
  97369. * online documentation for example)
  97370. */
  97371. export interface PlotVbpOptions {
  97372. /**
  97373. * (Highstock) Accessibility options for a series.
  97374. */
  97375. accessibility?: SeriesAccessibilityOptionsObject;
  97376. /**
  97377. * (Highstock) Allow this series' points to be selected by clicking on the
  97378. * graphic (columns, point markers, pie slices, map areas etc).
  97379. *
  97380. * The selected points can be handled by point select and unselect events,
  97381. * or collectively by the getSelectedPoints function.
  97382. *
  97383. * And alternative way of selecting points is through dragging.
  97384. */
  97385. allowPointSelect?: boolean;
  97386. /**
  97387. * (Highstock) Enable or disable the initial animation when a series is
  97388. * displayed. The animation can also be set as a configuration object.
  97389. * Please note that this option only applies to the initial animation of the
  97390. * series itself. For other animations, see chart.animation and the
  97391. * animation parameter under the API methods. The following properties are
  97392. * supported:
  97393. *
  97394. * - `defer`: The animation delay time in milliseconds.
  97395. *
  97396. * - `duration`: The duration of the animation in milliseconds.
  97397. *
  97398. * - `easing`: Can be a string reference to an easing function set on the
  97399. * `Math` object or a function. See the _Custom easing function_ demo below.
  97400. *
  97401. * Due to poor performance, animation is disabled in old IE browsers for
  97402. * several chart types.
  97403. */
  97404. animation?: (boolean|PlotVbpAnimationOptions|Partial<AnimationOptionsObject>);
  97405. /**
  97406. * (Highstock) For some series, there is a limit that shuts down initial
  97407. * animation by default when the total number of points in the chart is too
  97408. * high. For example, for a column chart and its derivatives, animation does
  97409. * not run if there is more than 250 points totally. To disable this cap,
  97410. * set `animationLimit` to `Infinity`.
  97411. */
  97412. animationLimit?: number;
  97413. /**
  97414. * (Highstock) Sets the color blending in the boost module.
  97415. */
  97416. boostBlending?: OptionsBoostBlendingValue;
  97417. /**
  97418. * (Highstock) Set the point threshold for when a series should enter boost
  97419. * mode.
  97420. *
  97421. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  97422. * there are 2000 or more points in the series.
  97423. *
  97424. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  97425. * it to 1 will force boosting.
  97426. *
  97427. * Note that the cropThreshold also affects this setting. When zooming in on
  97428. * a series that has fewer points than the `cropThreshold`, all points are
  97429. * rendered although outside the visible plot area, and the `boostThreshold`
  97430. * won't take effect.
  97431. */
  97432. boostThreshold?: number;
  97433. /**
  97434. * (Highmaps) The border color of the map areas.
  97435. *
  97436. * In styled mode, the border stroke is given in the `.highcharts-point`
  97437. * class.
  97438. */
  97439. borderColor?: (ColorString|GradientColorObject|PatternObject);
  97440. /**
  97441. * (Highmaps) The border width of each map area.
  97442. *
  97443. * In styled mode, the border stroke width is given in the
  97444. * `.highcharts-point` class.
  97445. */
  97446. borderWidth?: number;
  97447. /**
  97448. * (Highstock) An additional class name to apply to the series' graphical
  97449. * elements. This option does not replace default class names of the
  97450. * graphical element.
  97451. */
  97452. className?: string;
  97453. /**
  97454. * (Highstock) Disable this option to allow series rendering in the whole
  97455. * plotting area.
  97456. *
  97457. * **Note:** Clipping should be always enabled when chart.zoomType is set
  97458. */
  97459. clip?: boolean;
  97460. /**
  97461. * (Highstock) The main color of the series. In line type series it applies
  97462. * to the line and the point markers unless otherwise specified. In bar type
  97463. * series it applies to the bars unless a color is specified per point. The
  97464. * default value is pulled from the `options.colors` array.
  97465. *
  97466. * In styled mode, the color can be defined by the colorIndex option. Also,
  97467. * the series color can be set with the `.highcharts-series`,
  97468. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  97469. * `.highcharts-series-{n}` class, or individual classes given by the
  97470. * `className` option.
  97471. */
  97472. color?: (ColorString|GradientColorObject|PatternObject);
  97473. /**
  97474. * (Highstock) Styled mode only. A specific color index to use for the
  97475. * series, so its graphic representations are given the class name
  97476. * `highcharts-color-{n}`.
  97477. */
  97478. colorIndex?: number;
  97479. /**
  97480. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  97481. * used to calculate point color if `colorAxis` is used. Requires to set
  97482. * `min` and `max` if some custom point property is used or if approximation
  97483. * for data grouping is set to `'sum'`.
  97484. */
  97485. colorKey?: string;
  97486. /**
  97487. * (Highstock) Compare the values of the series against the first non-null,
  97488. * non- zero value in the visible range. The y axis will show percentage or
  97489. * absolute change depending on whether `compare` is set to `"percent"` or
  97490. * `"value"`. When this is applied to multiple series, it allows comparing
  97491. * the development of the series against each other. Adds a `change` field
  97492. * to every point object.
  97493. */
  97494. compare?: string;
  97495. /**
  97496. * (Highstock) When compare is `percent`, this option dictates whether to
  97497. * use 0 or 100 as the base of comparison.
  97498. */
  97499. compareBase?: (0|100);
  97500. /**
  97501. * (Highstock) Defines if comparison should start from the first point
  97502. * within the visible range or should start from the first point **before**
  97503. * the range.
  97504. *
  97505. * In other words, this flag determines if first point within the visible
  97506. * range will have 0% (`compareStart=true`) or should have been already
  97507. * calculated according to the previous point (`compareStart=false`).
  97508. */
  97509. compareStart?: boolean;
  97510. /**
  97511. * (Highstock) Whether to compare indicator to the main series values or
  97512. * indicator values.
  97513. */
  97514. compareToMain?: boolean;
  97515. /**
  97516. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  97517. * series plot across the extremes.
  97518. */
  97519. connectEnds?: boolean;
  97520. /**
  97521. * (Highcharts, Highstock) Whether to connect a graph line across null
  97522. * points, or render a gap between the two points on either side of the
  97523. * null.
  97524. */
  97525. connectNulls?: boolean;
  97526. /**
  97527. * (Gantt) Override Pathfinder connector options for a series. Requires
  97528. * Highcharts Gantt to be loaded.
  97529. */
  97530. connectors?: SeriesConnectorsOptionsObject;
  97531. /**
  97532. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  97533. * rounded to its nearest pixel in order to render sharp on screen. In some
  97534. * cases, when there are a lot of densely packed columns, this leads to
  97535. * visible difference in column widths or distance between columns. In these
  97536. * cases, setting `crisp` to `false` may look better, even though each
  97537. * column is rendered blurry.
  97538. */
  97539. crisp?: boolean;
  97540. /**
  97541. * (Highcharts, Highstock) When the series contains less points than the
  97542. * crop threshold, all points are drawn, even if the points fall outside the
  97543. * visible plot area at the current zoom. The advantage of drawing all
  97544. * points (including markers and columns), is that animation is performed on
  97545. * updates. On the other hand, when the series contains more points than the
  97546. * crop threshold, the series data is cropped to only contain points that
  97547. * fall within the plot area. The advantage of cropping away invisible
  97548. * points is to increase performance on large series.
  97549. */
  97550. cropThreshold?: number;
  97551. /**
  97552. * (Highstock) You can set the cursor to "pointer" if you have click events
  97553. * attached to the series, to signal to the user that the points and lines
  97554. * can be clicked.
  97555. *
  97556. * In styled mode, the series cursor can be set with the same classes as
  97557. * listed under series.color.
  97558. */
  97559. cursor?: (string|CursorValue);
  97560. /**
  97561. * (Highstock) A reserved subspace to store options and values for
  97562. * customized functionality. Here you can add additional data for your own
  97563. * event callbacks and formatter callbacks.
  97564. */
  97565. custom?: Dictionary<any>;
  97566. /**
  97567. * (Highstock) Name of the dash style to use for the graph, or for some
  97568. * series types the outline of each shape.
  97569. *
  97570. * In styled mode, the stroke dash-array can be set with the same classes as
  97571. * listed under series.color.
  97572. */
  97573. dashStyle?: DashStyleValue;
  97574. /**
  97575. * (Highstock) Data grouping is the concept of sampling the data values into
  97576. * larger blocks in order to ease readability and increase performance of
  97577. * the JavaScript charts. Highcharts Stock by default applies data grouping
  97578. * when the points become closer than a certain pixel value, determined by
  97579. * the `groupPixelWidth` option.
  97580. *
  97581. * If data grouping is applied, the grouping information of grouped points
  97582. * can be read from the Point.dataGroup. If point options other than the
  97583. * data itself are set, for example `name` or `color` or custom properties,
  97584. * the grouping logic doesn't know how to group it. In this case the options
  97585. * of the first point instance are copied over to the group point. This can
  97586. * be altered through a custom `approximation` callback function.
  97587. */
  97588. dataGrouping?: DataGroupingOptionsObject;
  97589. /**
  97590. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  97591. * labels, appearing next to each data point.
  97592. *
  97593. * Since v6.2.0, multiple data labels can be applied to each single point by
  97594. * defining them as an array of configs.
  97595. *
  97596. * In styled mode, the data labels can be styled with the
  97597. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  97598. * (see example).
  97599. */
  97600. dataLabels?: (PlotVbpDataLabelsOptions|Array<PlotVbpDataLabelsOptions>);
  97601. /**
  97602. * (Highcharts, Highstock) Options for the series data sorting.
  97603. */
  97604. dataSorting?: (DataSortingOptionsObject|PlotVbpDataSortingOptions);
  97605. /**
  97606. * (Highstock) A description of the series to add to the screen reader
  97607. * information about the series.
  97608. */
  97609. description?: string;
  97610. /**
  97611. * (Highstock) Enable or disable the mouse tracking for a specific series.
  97612. * This includes point tooltips and click events on graphs and points. For
  97613. * large datasets it improves performance.
  97614. */
  97615. enableMouseTracking?: boolean;
  97616. /**
  97617. * (Highstock) General event handlers for the series items. These event
  97618. * hooks can also be attached to the series at run time using the
  97619. * `Highcharts.addEvent` function.
  97620. */
  97621. events?: SeriesEventsOptionsObject;
  97622. /**
  97623. * (Highstock) Determines whether the series should look for the nearest
  97624. * point in both dimensions or just the x-dimension when hovering the
  97625. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  97626. * series. If the data has duplicate x-values, it is recommended to set this
  97627. * to `'xy'` to allow hovering over all points.
  97628. *
  97629. * Applies only to series types using nearest neighbor search (not direct
  97630. * hover) for tooltip.
  97631. */
  97632. findNearestPointBy?: OptionsFindNearestPointByValue;
  97633. /**
  97634. * (Highstock) Defines when to display a gap in the graph, together with the
  97635. * gapUnit option.
  97636. *
  97637. * In case when `dataGrouping` is enabled, points can be grouped into a
  97638. * larger time span. This can make the grouped points to have a greater
  97639. * distance than the absolute value of `gapSize` property, which will result
  97640. * in disappearing graph completely. To prevent this situation the mentioned
  97641. * distance between grouped points is used instead of previously defined
  97642. * `gapSize`.
  97643. *
  97644. * In practice, this option is most often used to visualize gaps in time
  97645. * series. In a stock chart, intraday data is available for daytime hours,
  97646. * while gaps will appear in nights and weekends.
  97647. */
  97648. gapSize?: number;
  97649. /**
  97650. * (Highstock) Together with gapSize, this option defines where to draw gaps
  97651. * in the graph.
  97652. *
  97653. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  97654. * if the distance between two points is greater than 5 times that of the
  97655. * two closest points, the graph will be broken.
  97656. *
  97657. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  97658. * values, which on a datetime axis is milliseconds. This also applies to
  97659. * the navigator series that inherits gap options from the base series.
  97660. */
  97661. gapUnit?: OptionsGapUnitValue;
  97662. /**
  97663. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  97664. * chart width or only the zoomed area when zooming in on parts of the X
  97665. * axis. By default, the Y axis adjusts to the min and max of the visible
  97666. * data. Cartesian series only.
  97667. */
  97668. getExtremesFromAll?: boolean;
  97669. /**
  97670. * (Highstock) When set to `false` will prevent the series data from being
  97671. * included in any form of data export.
  97672. *
  97673. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  97674. * `includeInCSVExport`.
  97675. */
  97676. includeInDataExport?: boolean;
  97677. /**
  97678. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  97679. * series as possible in a natural way, seeking to avoid other series. The
  97680. * goal of this feature is to make the chart more easily readable, like if a
  97681. * human designer placed the labels in the optimal position.
  97682. *
  97683. * The series labels currently work with series types having a `graph` or an
  97684. * `area`.
  97685. */
  97686. label?: SeriesLabelOptionsObject;
  97687. /**
  97688. * (Highstock) The line marks the last price from all points.
  97689. */
  97690. lastPrice?: SeriesLastPriceOptionsObject;
  97691. /**
  97692. * (Highstock) The line marks the last price from visible range of points.
  97693. */
  97694. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  97695. /**
  97696. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  97697. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  97698. * the ends and bends.
  97699. */
  97700. linecap?: SeriesLinecapValue;
  97701. /**
  97702. * (Highcharts, Highstock) Pixel width of the graph line.
  97703. */
  97704. lineWidth?: number;
  97705. /**
  97706. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  97707. * based on. Required for this indicator.
  97708. */
  97709. linkedTo?: string;
  97710. /**
  97711. * (Highstock) Options for the point markers of line-like series. Properties
  97712. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  97713. * appearance of the markers. Other series types, like column series, don't
  97714. * have markers, but have visual options on the series level instead.
  97715. *
  97716. * In styled mode, the markers can be styled with the `.highcharts-point`,
  97717. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  97718. */
  97719. marker?: PointMarkerOptionsObject;
  97720. /**
  97721. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  97722. * If not set, it will be based on a technical indicator type and default
  97723. * params.
  97724. */
  97725. name?: string;
  97726. /**
  97727. * (Highstock) The color for the parts of the graph or points that are below
  97728. * the threshold. Note that `zones` takes precedence over the negative
  97729. * color. Using `negativeColor` is equivalent to applying a zone with value
  97730. * of 0.
  97731. */
  97732. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  97733. /**
  97734. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  97735. * dataLabels.
  97736. */
  97737. opacity?: number;
  97738. /**
  97739. * (Highstock) Paramters used in calculation of regression series' points.
  97740. */
  97741. params?: PlotVbpParamsOptions;
  97742. /**
  97743. * (Highstock) Properties for each single point.
  97744. */
  97745. point?: PlotSeriesPointOptions;
  97746. /**
  97747. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  97748. * individual series. Overrides the chart wide configuration.
  97749. */
  97750. pointDescriptionFormatter?: Function;
  97751. pointPadding?: number;
  97752. /**
  97753. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  97754. * true, the checkbox next to the series name in the legend will be checked
  97755. * for a selected series.
  97756. */
  97757. selected?: boolean;
  97758. /**
  97759. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  97760. * the shadow can be an object configuration containing `color`, `offsetX`,
  97761. * `offsetY`, `opacity` and `width`.
  97762. */
  97763. shadow?: (boolean|ShadowOptionsObject);
  97764. /**
  97765. * (Highstock) If true, a checkbox is displayed next to the legend item to
  97766. * allow selecting the series. The state of the checkbox is determined by
  97767. * the `selected` option.
  97768. */
  97769. showCheckbox?: boolean;
  97770. /**
  97771. * (Highstock) Whether to display this particular series or series type in
  97772. * the legend. Standalone series are shown in legend by default, and linked
  97773. * series are not. Since v7.2.0 it is possible to show series that use
  97774. * colorAxis by setting this option to `true`.
  97775. */
  97776. showInLegend?: boolean;
  97777. /**
  97778. * (Highstock) If set to `true`, the accessibility module will skip past the
  97779. * points in this series for keyboard navigation.
  97780. */
  97781. skipKeyboardNavigation?: boolean;
  97782. /**
  97783. * (Highcharts, Highstock) When this is true, the series will not cause the
  97784. * Y axis to cross the zero plane (or threshold option) unless the data
  97785. * actually crosses the plane.
  97786. *
  97787. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  97788. * make the Y axis show negative values according to the `minPadding`
  97789. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  97790. */
  97791. softThreshold?: boolean;
  97792. states?: SeriesStatesOptionsObject;
  97793. /**
  97794. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  97795. * values are `left`, `center` and `right`.
  97796. */
  97797. step?: OptionsStepValue;
  97798. /**
  97799. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  97800. * event on a series isn't triggered until the mouse moves over another
  97801. * series, or out of the plot area. When false, the `mouseOut` event on a
  97802. * series is triggered when the mouse leaves the area around the series'
  97803. * graph or markers. This also implies the tooltip when not shared. When
  97804. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  97805. * be hidden when moving the mouse between series. Defaults to true for line
  97806. * and area type series, but to false for columns, pies etc.
  97807. *
  97808. * **Note:** The boost module will force this option because of technical
  97809. * limitations.
  97810. */
  97811. stickyTracking?: boolean;
  97812. /**
  97813. * (Highcharts, Highstock) The threshold, also called zero level or base
  97814. * level. For line type series this is only used in conjunction with
  97815. * negativeColor.
  97816. */
  97817. threshold?: (number|null);
  97818. /**
  97819. * (Highstock) A configuration object for the tooltip rendering of each
  97820. * single series. Properties are inherited from tooltip, but only the
  97821. * following properties can be defined on a series level.
  97822. */
  97823. tooltip?: SeriesTooltipOptionsObject;
  97824. /**
  97825. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  97826. * is longer than this, only one dimensional arrays of numbers, or two
  97827. * dimensional arrays with x and y values are allowed. Also, only the first
  97828. * point is tested, and the rest are assumed to be the same format. This
  97829. * saves expensive data checking and indexing in long series. Set it to `0`
  97830. * disable.
  97831. *
  97832. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  97833. * two dimensional arrays are allowed.
  97834. */
  97835. turboThreshold?: number;
  97836. /**
  97837. * (Highstock) Set the initial visibility of the series.
  97838. */
  97839. visible?: boolean;
  97840. /**
  97841. * (Highstock) The styles for bars when volume is divided into
  97842. * positive/negative.
  97843. */
  97844. volumeDivision?: PlotVbpVolumeDivisionOptions;
  97845. /**
  97846. * (Highmaps) Define the z index of the series.
  97847. */
  97848. zIndex?: number;
  97849. /**
  97850. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  97851. */
  97852. zoneAxis?: string;
  97853. /**
  97854. * (Highstock) The styles for lines which determine price zones.
  97855. */
  97856. zoneLines?: PlotVbpZoneLinesOptions;
  97857. /**
  97858. * (Highcharts, Highstock) An array defining zones within a series. Zones
  97859. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  97860. * the `zoneAxis` option. The zone definitions have to be in ascending order
  97861. * regarding to the value.
  97862. *
  97863. * In styled mode, the color zones are styled with the
  97864. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  97865. * option (view live demo).
  97866. */
  97867. zones?: Array<SeriesZonesOptionsObject>;
  97868. }
  97869. /**
  97870. * (Highstock) Paramters used in calculation of regression series' points.
  97871. */
  97872. export interface PlotVbpParamsOptions {
  97873. index?: string;
  97874. period?: string;
  97875. /**
  97876. * (Highstock) The number of price zones.
  97877. */
  97878. ranges?: number;
  97879. /**
  97880. * (Highstock) The id of volume series which is mandatory. For example using
  97881. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  97882. * using OHLC and volume values.
  97883. */
  97884. volumeSeriesID?: string;
  97885. }
  97886. /**
  97887. * (Highstock) The styles for bars when volume is divided into
  97888. * positive/negative.
  97889. */
  97890. export interface PlotVbpVolumeDivisionOptions {
  97891. /**
  97892. * (Highstock) Option to control if volume is divided.
  97893. */
  97894. enabled?: boolean;
  97895. styles?: PlotVbpVolumeDivisionStylesOptions;
  97896. }
  97897. export interface PlotVbpVolumeDivisionStylesOptions {
  97898. /**
  97899. * (Highstock) Color of negative volume bars.
  97900. */
  97901. negativeColor?: ColorString;
  97902. /**
  97903. * (Highstock) Color of positive volume bars.
  97904. */
  97905. positiveColor?: ColorString;
  97906. }
  97907. /**
  97908. * (Highstock) The styles for lines which determine price zones.
  97909. */
  97910. export interface PlotVbpZoneLinesOptions {
  97911. /**
  97912. * (Highstock) Enable/disable zone lines.
  97913. */
  97914. enabled?: boolean;
  97915. /**
  97916. * (Highstock) Specify the style of zone lines.
  97917. */
  97918. styles?: CSSObject;
  97919. }
  97920. /**
  97921. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  97922. * is displayed. The animation can also be set as a configuration object. Please
  97923. * note that this option only applies to the initial animation of the series
  97924. * itself. For other animations, see chart.animation and the animation parameter
  97925. * under the API methods. The following properties are supported:
  97926. *
  97927. * - `defer`: The animation delay time in milliseconds.
  97928. *
  97929. * - `duration`: The duration of the animation in milliseconds.
  97930. *
  97931. * - `easing`: Can be a string reference to an easing function set on the `Math`
  97932. * object or a function. See the _Custom easing function_ demo below.
  97933. *
  97934. * Due to poor performance, animation is disabled in old IE browsers for several
  97935. * chart types.
  97936. */
  97937. export interface PlotVectorAnimationOptions {
  97938. defer?: number;
  97939. }
  97940. export interface PlotVectorClusterEventsOptions {
  97941. /**
  97942. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  97943. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  97944. * function. The default action is to zoom to the cluster points range. This
  97945. * can be prevented by calling `event.preventDefault()`.
  97946. */
  97947. drillToCluster?: MarkerClusterDrillCallbackFunction;
  97948. }
  97949. /**
  97950. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  97951. * to change the type of the algorithm, gridSize, distance or iterations.
  97952. */
  97953. export interface PlotVectorClusterLayoutAlgorithmOptions {
  97954. /**
  97955. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  97956. * maximum distance between point and cluster center so that this point will
  97957. * be inside the cluster. The distance is either a number defining pixels or
  97958. * a percentage defining a percentage of the plot area width.
  97959. */
  97960. distance?: (number|string);
  97961. /**
  97962. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  97963. * size of a grid square element either as a number defining pixels, or a
  97964. * percentage defining a percentage of the plot area width.
  97965. */
  97966. gridSize?: (number|string);
  97967. /**
  97968. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  97969. * the number of iterations that this algorithm will be repeated to find
  97970. * clusters positions.
  97971. */
  97972. iterations?: number;
  97973. /**
  97974. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  97975. * more visible points than the kmeansThreshold the `grid` algorithm is used
  97976. * to find clusters, otherwise `kmeans`. It ensures good performance on
  97977. * large datasets and better clusters arrangement after the zoom.
  97978. */
  97979. kmeansThreshold?: number;
  97980. /**
  97981. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  97982. * a cluster. There are three available algorithms:
  97983. *
  97984. * 1) `grid` - grid-based clustering technique. Points are assigned to
  97985. * squares of set size depending on their position on the plot area. Points
  97986. * inside the grid square are combined into a cluster. The grid size can be
  97987. * controlled by `gridSize` property (grid size changes at certain zoom
  97988. * levels).
  97989. *
  97990. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  97991. * points are divided using the grid method (distance property is a grid
  97992. * size) to find the initial amount of clusters. Next, each point is
  97993. * classified by computing the distance between each cluster center and that
  97994. * point. When the closest cluster distance is lower than distance property
  97995. * set by a user the point is added to this cluster otherwise is classified
  97996. * as `noise`. The algorithm is repeated until each cluster center not
  97997. * change its previous position more than one pixel. This technique is more
  97998. * accurate but also more time consuming than the `grid` algorithm,
  97999. * especially for big datasets.
  98000. *
  98001. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  98002. * algorithm uses k-means algorithm only on the chart initialization or when
  98003. * chart extremes have greater range than on initialization. When a chart is
  98004. * redrawn the algorithm checks only clustered points distance from the
  98005. * cluster center and rebuild it when the point is spaced enough to be
  98006. * outside the cluster. It provides performance improvement and more stable
  98007. * clusters position yet can be used rather on small and sparse datasets.
  98008. *
  98009. * By default, the algorithm depends on visible quantity of points and
  98010. * `kmeansThreshold`. When there are more visible points than the
  98011. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  98012. *
  98013. * The custom clustering algorithm can be added by assigning a callback
  98014. * function as the type property. This function takes an array of
  98015. * `processedXData`, `processedYData`, `processedXData` indexes and
  98016. * `layoutAlgorithm` options as arguments and should return an object with
  98017. * grouped data.
  98018. *
  98019. * The algorithm should return an object like that: (see online
  98020. * documentation for example)
  98021. *
  98022. * `clusterId` (example above - unique id of a cluster or noise) is an array
  98023. * of points belonging to a cluster. If the array has only one point or
  98024. * fewer points than set in `cluster.minimumClusterSize` it won't be
  98025. * combined into a cluster.
  98026. */
  98027. type?: (string|Function);
  98028. }
  98029. /**
  98030. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  98031. * the data values into larger blocks in order to ease readability and increase
  98032. * performance of the JavaScript charts.
  98033. *
  98034. * Note: marker clusters module is not working with `boost` and
  98035. * `draggable-points` modules.
  98036. *
  98037. * The marker clusters feature requires the marker-clusters.js file to be
  98038. * loaded, found in the modules directory of the download package, or online at
  98039. * code.highcharts.com/modules/marker-clusters.js.
  98040. */
  98041. export interface PlotVectorClusterOptions {
  98042. /**
  98043. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  98044. * this option works only when `layoutAlgorithm.type = "grid"`.
  98045. */
  98046. allowOverlap?: boolean;
  98047. /**
  98048. * (Highcharts, Highmaps) Options for the cluster marker animation.
  98049. */
  98050. animation?: (boolean|Partial<AnimationOptionsObject>);
  98051. /**
  98052. * (Highcharts, Highmaps) Options for the cluster data labels.
  98053. */
  98054. dataLabels?: DataLabelsOptions;
  98055. /**
  98056. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  98057. * when a cluster is clicked.
  98058. */
  98059. drillToCluster?: boolean;
  98060. /**
  98061. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  98062. */
  98063. enabled?: boolean;
  98064. events?: PlotVectorClusterEventsOptions;
  98065. /**
  98066. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  98067. * options to change the type of the algorithm, gridSize, distance or
  98068. * iterations.
  98069. */
  98070. layoutAlgorithm?: PlotVectorClusterLayoutAlgorithmOptions;
  98071. /**
  98072. * (Highcharts, Highmaps) Options for the cluster marker.
  98073. */
  98074. marker?: PointMarkerOptionsObject;
  98075. /**
  98076. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  98077. * cluster. This value has to be greater or equal to 2.
  98078. */
  98079. minimumClusterSize?: number;
  98080. states?: PlotVectorClusterStatesOptions;
  98081. /**
  98082. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  98083. *
  98084. * In styled mode, the color zones are styled with the
  98085. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  98086. * `className` option.
  98087. */
  98088. zones?: Array<PlotVectorClusterZonesOptions>;
  98089. }
  98090. export interface PlotVectorClusterStatesHoverOptions {
  98091. /**
  98092. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  98093. * state. When `undefined`, the series' or point's fillColor for normal
  98094. * state is used.
  98095. */
  98096. fillColor?: ColorType;
  98097. }
  98098. export interface PlotVectorClusterStatesOptions {
  98099. hover?: PlotVectorClusterStatesHoverOptions;
  98100. }
  98101. /**
  98102. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  98103. *
  98104. * In styled mode, the color zones are styled with the
  98105. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  98106. * option.
  98107. */
  98108. export interface PlotVectorClusterZonesOptions {
  98109. /**
  98110. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  98111. * zone.
  98112. */
  98113. className?: string;
  98114. /**
  98115. * (Highcharts, Highmaps) The value where the zone starts.
  98116. */
  98117. from?: number;
  98118. /**
  98119. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  98120. * zone.
  98121. */
  98122. marker?: PointMarkerOptionsObject;
  98123. /**
  98124. * (Highcharts, Highmaps) The value where the zone ends.
  98125. */
  98126. to?: number;
  98127. }
  98128. /**
  98129. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98130. * animation when a series is displayed for the `dataLabels`. The animation can
  98131. * also be set as a configuration object. Please note that this option only
  98132. * applies to the initial animation. For other animations, see chart.animation
  98133. * and the animation parameter under the API methods. The following properties
  98134. * are supported:
  98135. *
  98136. * - `defer`: The animation delay time in milliseconds.
  98137. */
  98138. export interface PlotVectorDataLabelsAnimationOptions {
  98139. /**
  98140. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  98141. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  98142. * inherits defer time from the series.animation.defer.
  98143. */
  98144. defer?: number;
  98145. }
  98146. /**
  98147. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  98148. * appearing next to each data point.
  98149. *
  98150. * Since v6.2.0, multiple data labels can be applied to each single point by
  98151. * defining them as an array of configs.
  98152. *
  98153. * In styled mode, the data labels can be styled with the
  98154. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  98155. * example).
  98156. */
  98157. export interface PlotVectorDataLabelsOptions {
  98158. /**
  98159. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  98160. * compared to the point. If `right`, the right side of the label should be
  98161. * touching the point. For points with an extent, like columns, the
  98162. * alignments also dictates how to align it inside the box, as given with
  98163. * the inside option. Can be one of `left`, `center` or `right`.
  98164. */
  98165. align?: (AlignValue|null);
  98166. /**
  98167. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  98168. * overlap. To make the labels less sensitive for overlapping, the
  98169. * dataLabels.padding can be set to 0.
  98170. */
  98171. allowOverlap?: boolean;
  98172. /**
  98173. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  98174. * animation when a series is displayed for the `dataLabels`. The animation
  98175. * can also be set as a configuration object. Please note that this option
  98176. * only applies to the initial animation. For other animations, see
  98177. * chart.animation and the animation parameter under the API methods. The
  98178. * following properties are supported:
  98179. *
  98180. * - `defer`: The animation delay time in milliseconds.
  98181. */
  98182. animation?: (boolean|PlotVectorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  98183. /**
  98184. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  98185. * for the data label.
  98186. */
  98187. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  98188. /**
  98189. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  98190. * label. Defaults to `undefined`.
  98191. */
  98192. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98193. /**
  98194. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  98195. * the data label.
  98196. */
  98197. borderRadius?: number;
  98198. /**
  98199. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  98200. * the data label.
  98201. */
  98202. borderWidth?: number;
  98203. /**
  98204. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  98205. * Particularly in styled mode, this can be used to give each series' or
  98206. * point's data label unique styling. In addition to this option, a default
  98207. * color class name is added so that we can give the labels a contrast text
  98208. * shadow.
  98209. */
  98210. className?: string;
  98211. /**
  98212. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  98213. * labels. Defaults to `undefined`. For certain series types, like column or
  98214. * map, the data labels can be drawn inside the points. In this case the
  98215. * data label will be drawn with maximum contrast by default. Additionally,
  98216. * it will be given a `text-outline` style with the opposite color, to
  98217. * further increase the contrast. This can be overridden by setting the
  98218. * `text-outline` style to `none` in the `dataLabels.style` option.
  98219. */
  98220. color?: (ColorString|GradientColorObject|PatternObject);
  98221. /**
  98222. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  98223. * are outside the plot area. By default, the data label is moved inside the
  98224. * plot area according to the overflow option.
  98225. */
  98226. crop?: boolean;
  98227. /**
  98228. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  98229. * labels until the initial series animation has finished. Setting to
  98230. * `false` renders the data label immediately. If set to `true` inherits the
  98231. * defer time set in plotOptions.series.animation. If set to a number, a
  98232. * defer time is specified in milliseconds.
  98233. */
  98234. defer?: (boolean|number);
  98235. /**
  98236. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  98237. * labels.
  98238. */
  98239. enabled?: boolean;
  98240. /**
  98241. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  98242. * of which data labels to display. The declarative filter is designed for
  98243. * use when callback functions are not available, like when the chart
  98244. * options require a pure JSON structure or for use with graphical editors.
  98245. * For programmatic control, use the `formatter` instead, and return
  98246. * `undefined` to disable a single data label.
  98247. */
  98248. filter?: DataLabelsFilterOptionsObject;
  98249. /**
  98250. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  98251. * label. Available variables are the same as for `formatter`.
  98252. */
  98253. format?: string;
  98254. /**
  98255. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  98256. * format the data label. Note that if a `format` is defined, the format
  98257. * takes precedence and the formatter is ignored.
  98258. */
  98259. formatter?: DataLabelsFormatterCallbackFunction;
  98260. /**
  98261. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  98262. * columns or map areas, whether to align the data label inside the box or
  98263. * to the actual value point. Defaults to `false` in most cases, `true` in
  98264. * stacked columns.
  98265. */
  98266. inside?: boolean;
  98267. /**
  98268. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  98269. * of null. Works analogously to format. `nullFormat` can be applied only to
  98270. * series which support displaying null points.
  98271. */
  98272. nullFormat?: (boolean|string);
  98273. /**
  98274. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  98275. * that defines formatting for points with the value of null. Works
  98276. * analogously to formatter. `nullPointFormatter` can be applied only to
  98277. * series which support displaying null points.
  98278. */
  98279. nullFormatter?: DataLabelsFormatterCallbackFunction;
  98280. /**
  98281. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  98282. * flow outside the plot area. The default is `"justify"`, which aligns them
  98283. * inside the plot area. For columns and bars, this means it will be moved
  98284. * inside the bar. To display data labels outside the plot area, set `crop`
  98285. * to `false` and `overflow` to `"allow"`.
  98286. */
  98287. overflow?: DataLabelsOverflowValue;
  98288. /**
  98289. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  98290. * the `backgroundColor` is set, this is the padding within the box.
  98291. */
  98292. padding?: number;
  98293. /**
  98294. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  98295. * points. If `center` alignment is not possible, it defaults to `right`.
  98296. */
  98297. position?: AlignValue;
  98298. /**
  98299. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  98300. * that due to a more complex structure, backgrounds, borders and padding
  98301. * will be lost on a rotated data label.
  98302. */
  98303. rotation?: number;
  98304. /**
  98305. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  98306. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  98307. * an object configuration containing `color`, `offsetX`, `offsetY`,
  98308. * `opacity` and `width`.
  98309. */
  98310. shadow?: (boolean|ShadowOptionsObject);
  98311. /**
  98312. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  98313. * the border around the label. Symbols are predefined functions on the
  98314. * Renderer object.
  98315. */
  98316. shape?: string;
  98317. /**
  98318. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  98319. * default `color` setting is `"contrast"`, which is a pseudo color that
  98320. * Highcharts picks up and applies the maximum contrast to the underlying
  98321. * point item, for example the bar in a bar chart.
  98322. *
  98323. * The `textOutline` is a pseudo property that applies an outline of the
  98324. * given width with the given color, which by default is the maximum
  98325. * contrast to the text. So a bright text color will result in a black text
  98326. * outline for maximum readability on a mixed background. In some cases,
  98327. * especially with grayscale text, the text outline doesn't work well, in
  98328. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  98329. * is true, the `textOutline` will not be picked up. In this, case, the same
  98330. * effect can be acheived through the `text-shadow` CSS property.
  98331. *
  98332. * For some series types, where each point has an extent, like for example
  98333. * tree maps, the data label may overflow the point. There are two
  98334. * strategies for handling overflow. By default, the text will wrap to
  98335. * multiple lines. The other strategy is to set `style.textOverflow` to
  98336. * `ellipsis`, which will keep the text on one line plus it will break
  98337. * inside long words.
  98338. */
  98339. style?: CSSObject;
  98340. /**
  98341. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  98342. * should follow marker's shape. Border and background are disabled for a
  98343. * label that follows a path.
  98344. *
  98345. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  98346. * to true will disable this option.
  98347. */
  98348. textPath?: DataLabelsTextPathOptionsObject;
  98349. /**
  98350. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  98351. * the labels.
  98352. */
  98353. useHTML?: boolean;
  98354. /**
  98355. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  98356. * label. Can be one of `top`, `middle` or `bottom`. The default value
  98357. * depends on the data, for instance in a column chart, the label is above
  98358. * positive values and below negative values.
  98359. */
  98360. verticalAlign?: (VerticalAlignValue|null);
  98361. /**
  98362. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  98363. * label relative to the point in pixels.
  98364. */
  98365. x?: number;
  98366. /**
  98367. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  98368. * label relative to the point in pixels.
  98369. */
  98370. y?: number;
  98371. /**
  98372. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  98373. * The default Z index puts it above the series. Use a Z index of 2 to
  98374. * display it behind the series.
  98375. */
  98376. z?: number;
  98377. }
  98378. /**
  98379. * (Highcharts, Highstock) Options for the series data sorting.
  98380. */
  98381. export interface PlotVectorDataSortingOptions {
  98382. /**
  98383. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  98384. * Use xAxis.reversed to change the sorting order.
  98385. */
  98386. enabled?: boolean;
  98387. /**
  98388. * (Highcharts, Highstock) Whether to allow matching points by name in an
  98389. * update. If this option is disabled, points will be matched by order.
  98390. */
  98391. matchByName?: boolean;
  98392. /**
  98393. * (Highcharts, Highstock) Determines what data value should be used to sort
  98394. * by.
  98395. */
  98396. sortKey?: string;
  98397. }
  98398. /**
  98399. * (Highcharts, Highstock) A vector plot is a type of cartesian chart where each
  98400. * point has an X and Y position, a length and a direction. Vectors are drawn as
  98401. * arrows.
  98402. *
  98403. * In TypeScript the type option must always be set.
  98404. *
  98405. * Configuration options for the series are given in three levels:
  98406. *
  98407. * 1. Options for all series in a chart are defined in the plotOptions.series
  98408. * object.
  98409. *
  98410. * 2. Options for all `vector` series are defined in plotOptions.vector.
  98411. *
  98412. * 3. Options for one single series are given in the series instance array. (see
  98413. * online documentation for example)
  98414. */
  98415. export interface PlotVectorOptions {
  98416. /**
  98417. * (Highcharts, Highstock) Accessibility options for a series.
  98418. */
  98419. accessibility?: SeriesAccessibilityOptionsObject;
  98420. /**
  98421. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  98422. * rendered. If `true`, areas which don't correspond to a data point, are
  98423. * rendered as `null` points. If `false`, those areas are skipped.
  98424. */
  98425. allAreas?: boolean;
  98426. /**
  98427. * (Highcharts, Highstock) Allow this series' points to be selected by
  98428. * clicking on the graphic (columns, point markers, pie slices, map areas
  98429. * etc).
  98430. *
  98431. * The selected points can be handled by point select and unselect events,
  98432. * or collectively by the getSelectedPoints function.
  98433. *
  98434. * And alternative way of selecting points is through dragging.
  98435. */
  98436. allowPointSelect?: boolean;
  98437. /**
  98438. * (Highcharts, Highstock) Enable or disable the initial animation when a
  98439. * series is displayed. The animation can also be set as a configuration
  98440. * object. Please note that this option only applies to the initial
  98441. * animation of the series itself. For other animations, see chart.animation
  98442. * and the animation parameter under the API methods. The following
  98443. * properties are supported:
  98444. *
  98445. * - `defer`: The animation delay time in milliseconds.
  98446. *
  98447. * - `duration`: The duration of the animation in milliseconds.
  98448. *
  98449. * - `easing`: Can be a string reference to an easing function set on the
  98450. * `Math` object or a function. See the _Custom easing function_ demo below.
  98451. *
  98452. * Due to poor performance, animation is disabled in old IE browsers for
  98453. * several chart types.
  98454. */
  98455. animation?: (boolean|PlotVectorAnimationOptions|Partial<AnimationOptionsObject>);
  98456. /**
  98457. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  98458. * initial animation by default when the total number of points in the chart
  98459. * is too high. For example, for a column chart and its derivatives,
  98460. * animation does not run if there is more than 250 points totally. To
  98461. * disable this cap, set `animationLimit` to `Infinity`.
  98462. */
  98463. animationLimit?: number;
  98464. /**
  98465. * (Highmaps) The border color of the map areas.
  98466. *
  98467. * In styled mode, the border stroke is given in the `.highcharts-point`
  98468. * class.
  98469. */
  98470. borderColor?: (ColorString|GradientColorObject|PatternObject);
  98471. /**
  98472. * (Highmaps) The border width of each map area.
  98473. *
  98474. * In styled mode, the border stroke width is given in the
  98475. * `.highcharts-point` class.
  98476. */
  98477. borderWidth?: number;
  98478. /**
  98479. * (Highcharts, Highstock) An additional class name to apply to the series'
  98480. * graphical elements. This option does not replace default class names of
  98481. * the graphical element.
  98482. */
  98483. className?: string;
  98484. /**
  98485. * (Highcharts, Highstock) Disable this option to allow series rendering in
  98486. * the whole plotting area.
  98487. *
  98488. * **Note:** Clipping should be always enabled when chart.zoomType is set
  98489. */
  98490. clip?: boolean;
  98491. /**
  98492. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  98493. * sampling the data values into larger blocks in order to ease readability
  98494. * and increase performance of the JavaScript charts.
  98495. *
  98496. * Note: marker clusters module is not working with `boost` and
  98497. * `draggable-points` modules.
  98498. *
  98499. * The marker clusters feature requires the marker-clusters.js file to be
  98500. * loaded, found in the modules directory of the download package, or online
  98501. * at code.highcharts.com/modules/marker-clusters.js.
  98502. */
  98503. cluster?: PlotVectorClusterOptions;
  98504. /**
  98505. * (Highcharts, Highstock) The main color of the series. In line type series
  98506. * it applies to the line and the point markers unless otherwise specified.
  98507. * In bar type series it applies to the bars unless a color is specified per
  98508. * point. The default value is pulled from the `options.colors` array.
  98509. *
  98510. * In styled mode, the color can be defined by the colorIndex option. Also,
  98511. * the series color can be set with the `.highcharts-series`,
  98512. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  98513. * `.highcharts-series-{n}` class, or individual classes given by the
  98514. * `className` option.
  98515. */
  98516. color?: (ColorString|GradientColorObject|PatternObject);
  98517. /**
  98518. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  98519. * this number defines which colorAxis the particular series is connected
  98520. * to. It refers to either the axis id or the index of the axis in the
  98521. * colorAxis array, with 0 being the first. Set this option to false to
  98522. * prevent a series from connecting to the default color axis.
  98523. *
  98524. * Since v7.2.0 the option can also be an axis id or an axis index instead
  98525. * of a boolean flag.
  98526. */
  98527. colorAxis?: (boolean|number|string);
  98528. /**
  98529. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  98530. * for the series, so its graphic representations are given the class name
  98531. * `highcharts-color-{n}`.
  98532. */
  98533. colorIndex?: number;
  98534. /**
  98535. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  98536. * used to calculate point color if `colorAxis` is used. Requires to set
  98537. * `min` and `max` if some custom point property is used or if approximation
  98538. * for data grouping is set to `'sum'`.
  98539. */
  98540. colorKey?: string;
  98541. /**
  98542. * (Highstock) Compare the values of the series against the first non-null,
  98543. * non- zero value in the visible range. The y axis will show percentage or
  98544. * absolute change depending on whether `compare` is set to `"percent"` or
  98545. * `"value"`. When this is applied to multiple series, it allows comparing
  98546. * the development of the series against each other. Adds a `change` field
  98547. * to every point object.
  98548. */
  98549. compare?: string;
  98550. /**
  98551. * (Highstock) When compare is `percent`, this option dictates whether to
  98552. * use 0 or 100 as the base of comparison.
  98553. */
  98554. compareBase?: (0|100);
  98555. /**
  98556. * (Highstock) Defines if comparison should start from the first point
  98557. * within the visible range or should start from the first point **before**
  98558. * the range.
  98559. *
  98560. * In other words, this flag determines if first point within the visible
  98561. * range will have 0% (`compareStart=true`) or should have been already
  98562. * calculated according to the previous point (`compareStart=false`).
  98563. */
  98564. compareStart?: boolean;
  98565. /**
  98566. * (Gantt) Override Pathfinder connector options for a series. Requires
  98567. * Highcharts Gantt to be loaded.
  98568. */
  98569. connectors?: SeriesConnectorsOptionsObject;
  98570. /**
  98571. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  98572. * rounded to its nearest pixel in order to render sharp on screen. In some
  98573. * cases, when there are a lot of densely packed columns, this leads to
  98574. * visible difference in column widths or distance between columns. In these
  98575. * cases, setting `crisp` to `false` may look better, even though each
  98576. * column is rendered blurry.
  98577. */
  98578. crisp?: boolean;
  98579. /**
  98580. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  98581. * click events attached to the series, to signal to the user that the
  98582. * points and lines can be clicked.
  98583. *
  98584. * In styled mode, the series cursor can be set with the same classes as
  98585. * listed under series.color.
  98586. */
  98587. cursor?: (string|CursorValue);
  98588. /**
  98589. * (Highcharts, Highstock) A reserved subspace to store options and values
  98590. * for customized functionality. Here you can add additional data for your
  98591. * own event callbacks and formatter callbacks.
  98592. */
  98593. custom?: Dictionary<any>;
  98594. /**
  98595. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  98596. * labels, appearing next to each data point.
  98597. *
  98598. * Since v6.2.0, multiple data labels can be applied to each single point by
  98599. * defining them as an array of configs.
  98600. *
  98601. * In styled mode, the data labels can be styled with the
  98602. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  98603. * (see example).
  98604. */
  98605. dataLabels?: (PlotVectorDataLabelsOptions|Array<PlotVectorDataLabelsOptions>);
  98606. /**
  98607. * (Highcharts, Highstock) Options for the series data sorting.
  98608. */
  98609. dataSorting?: (DataSortingOptionsObject|PlotVectorDataSortingOptions);
  98610. /**
  98611. * (Highcharts, Highstock) A description of the series to add to the screen
  98612. * reader information about the series.
  98613. */
  98614. description?: string;
  98615. /**
  98616. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  98617. * specific series. This includes point tooltips and click events on graphs
  98618. * and points. For large datasets it improves performance.
  98619. */
  98620. enableMouseTracking?: boolean;
  98621. /**
  98622. * (Highcharts, Highstock) General event handlers for the series items.
  98623. * These event hooks can also be attached to the series at run time using
  98624. * the `Highcharts.addEvent` function.
  98625. */
  98626. events?: SeriesEventsOptionsObject;
  98627. /**
  98628. * (Highcharts, Highstock) Determines whether the series should look for the
  98629. * nearest point in both dimensions or just the x-dimension when hovering
  98630. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  98631. * other series. If the data has duplicate x-values, it is recommended to
  98632. * set this to `'xy'` to allow hovering over all points.
  98633. *
  98634. * Applies only to series types using nearest neighbor search (not direct
  98635. * hover) for tooltip.
  98636. */
  98637. findNearestPointBy?: OptionsFindNearestPointByValue;
  98638. /**
  98639. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  98640. * chart width or only the zoomed area when zooming in on parts of the X
  98641. * axis. By default, the Y axis adjusts to the min and max of the visible
  98642. * data. Cartesian series only.
  98643. */
  98644. getExtremesFromAll?: boolean;
  98645. /**
  98646. * (Highcharts, Highstock) When set to `false` will prevent the series data
  98647. * from being included in any form of data export.
  98648. *
  98649. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  98650. * `includeInCSVExport`.
  98651. */
  98652. includeInDataExport?: boolean;
  98653. /**
  98654. * (Highmaps) What property to join the `mapData` to the value data. For
  98655. * example, if joinBy is "code", the mapData items with a specific code is
  98656. * merged into the data with the same code. For maps loaded from GeoJSON,
  98657. * the keys may be held in each point's `properties` object.
  98658. *
  98659. * The joinBy option can also be an array of two values, where the first
  98660. * points to a key in the `mapData`, and the second points to another key in
  98661. * the `data`.
  98662. *
  98663. * When joinBy is `null`, the map items are joined by their position in the
  98664. * array, which performs much better in maps with many data points. This is
  98665. * the recommended option if you are printing more than a thousand data
  98666. * points and have a backend that can preprocess the data into a parallel
  98667. * array of the mapData.
  98668. */
  98669. joinBy?: (string|Array<string>);
  98670. /**
  98671. * (Highcharts, Highstock) An array specifying which option maps to which
  98672. * key in the data point array. This makes it convenient to work with
  98673. * unstructured data arrays from different sources.
  98674. */
  98675. keys?: Array<string>;
  98676. /**
  98677. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  98678. * series as possible in a natural way, seeking to avoid other series. The
  98679. * goal of this feature is to make the chart more easily readable, like if a
  98680. * human designer placed the labels in the optimal position.
  98681. *
  98682. * The series labels currently work with series types having a `graph` or an
  98683. * `area`.
  98684. */
  98685. label?: SeriesLabelOptionsObject;
  98686. /**
  98687. * (Highstock) The line marks the last price from all points.
  98688. */
  98689. lastPrice?: SeriesLastPriceOptionsObject;
  98690. /**
  98691. * (Highstock) The line marks the last price from visible range of points.
  98692. */
  98693. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  98694. /**
  98695. * (Highcharts, Highstock) The line width for each vector arrow.
  98696. */
  98697. lineWidth?: number;
  98698. /**
  98699. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  98700. * Additionally, the value can be ":previous" to link to the previous
  98701. * series. When two series are linked, only the first one appears in the
  98702. * legend. Toggling the visibility of this also toggles the linked series.
  98703. *
  98704. * If master series uses data sorting and linked series does not have its
  98705. * own sorting definition, the linked series will be sorted in the same
  98706. * order as the master one.
  98707. */
  98708. linkedTo?: string;
  98709. /**
  98710. * (Highstock) Options for the corresponding navigator series if
  98711. * `showInNavigator` is `true` for this series. Available options are the
  98712. * same as any series, documented at plotOptions and series.
  98713. *
  98714. * These options are merged with options in navigator.series, and will take
  98715. * precedence if the same option is defined both places.
  98716. */
  98717. navigatorOptions?: PlotSeriesOptions;
  98718. /**
  98719. * (Highcharts, Highstock) The color for the parts of the graph or points
  98720. * that are below the threshold. Note that `zones` takes precedence over the
  98721. * negative color. Using `negativeColor` is equivalent to applying a zone
  98722. * with value of 0.
  98723. */
  98724. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  98725. /**
  98726. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  98727. * and dataLabels.
  98728. */
  98729. opacity?: number;
  98730. /**
  98731. * (Highcharts, Highstock) Properties for each single point.
  98732. */
  98733. point?: PlotSeriesPointOptions;
  98734. /**
  98735. * (Highcharts, Highstock) Same as
  98736. * accessibility.series.descriptionFormatter, but for an individual series.
  98737. * Overrides the chart wide configuration.
  98738. */
  98739. pointDescriptionFormatter?: Function;
  98740. /**
  98741. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98742. * a series, `pointInterval` defines the interval of the x values. For
  98743. * example, if a series contains one value every decade starting from year
  98744. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  98745. * `pointInterval` is set in milliseconds.
  98746. *
  98747. * It can be also be combined with `pointIntervalUnit` to draw irregular
  98748. * time intervals.
  98749. *
  98750. * Please note that this options applies to the _series data_, not the
  98751. * interval of the axis ticks, which is independent.
  98752. */
  98753. pointInterval?: number;
  98754. /**
  98755. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  98756. * setting the pointInterval to irregular time units, `day`, `month` and
  98757. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  98758. * also takes the DST crossover into consideration when dealing with local
  98759. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  98760. * months, 10 years etc.
  98761. *
  98762. * Please note that this options applies to the _series data_, not the
  98763. * interval of the axis ticks, which is independent.
  98764. */
  98765. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  98766. /**
  98767. * (Highstock) The width of each point on the x axis. For example in a
  98768. * column chart with one value each day, the pointRange would be 1 day (= 24
  98769. * * 3600
  98770. *
  98771. * * 1000 milliseconds). This is normally computed automatically, but this
  98772. * option can be used to override the automatic value.
  98773. */
  98774. pointRange?: number;
  98775. /**
  98776. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  98777. * a series, pointStart defines on what value to start. For example, if a
  98778. * series contains one yearly value starting from 1945, set pointStart to
  98779. * 1945.
  98780. */
  98781. pointStart?: number;
  98782. /**
  98783. * (Highcharts, Highstock) What part of the vector it should be rotated
  98784. * around. Can be one of `start`, `center` and `end`. When `start`, the
  98785. * vectors will start from the given [x, y] position, and when `end` the
  98786. * vectors will end in the [x, y] position.
  98787. */
  98788. rotationOrigin?: OptionsRotationOriginValue;
  98789. /**
  98790. * (Highcharts, Highstock) Whether to select the series initially. If
  98791. * `showCheckbox` is true, the checkbox next to the series name in the
  98792. * legend will be checked for a selected series.
  98793. */
  98794. selected?: boolean;
  98795. /**
  98796. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  98797. * legend item to allow selecting the series. The state of the checkbox is
  98798. * determined by the `selected` option.
  98799. */
  98800. showCheckbox?: boolean;
  98801. /**
  98802. * (Highcharts, Highstock) Whether to display this particular series or
  98803. * series type in the legend. Standalone series are shown in legend by
  98804. * default, and linked series are not. Since v7.2.0 it is possible to show
  98805. * series that use colorAxis by setting this option to `true`.
  98806. */
  98807. showInLegend?: boolean;
  98808. /**
  98809. * (Highstock) Whether or not to show the series in the navigator. Takes
  98810. * precedence over navigator.baseSeries if defined.
  98811. */
  98812. showInNavigator?: boolean;
  98813. /**
  98814. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  98815. * skip past the points in this series for keyboard navigation.
  98816. */
  98817. skipKeyboardNavigation?: boolean;
  98818. /**
  98819. * (Highcharts, Highstock) When this is true, the series will not cause the
  98820. * Y axis to cross the zero plane (or threshold option) unless the data
  98821. * actually crosses the plane.
  98822. *
  98823. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  98824. * make the Y axis show negative values according to the `minPadding`
  98825. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  98826. */
  98827. softThreshold?: boolean;
  98828. states?: SeriesStatesOptionsObject;
  98829. /**
  98830. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  98831. * `mouseOut` event on a series isn't triggered until the mouse moves over
  98832. * another series, or out of the plot area. When false, the `mouseOut` event
  98833. * on a series is triggered when the mouse leaves the area around the
  98834. * series' graph or markers. This also implies the tooltip. When
  98835. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  98836. * be hidden when moving the mouse between series.
  98837. */
  98838. stickyTracking?: boolean;
  98839. /**
  98840. * (Highcharts, Highstock) The threshold, also called zero level or base
  98841. * level. For line type series this is only used in conjunction with
  98842. * negativeColor.
  98843. */
  98844. threshold?: (number|null);
  98845. /**
  98846. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  98847. * of each single series. Properties are inherited from tooltip. Overridable
  98848. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  98849. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  98850. * series.name by default shows in the headerFormat and point.x and point.y
  98851. * in the pointFormat.
  98852. */
  98853. tooltip?: SeriesTooltipOptionsObject;
  98854. /**
  98855. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  98856. * is longer than this, only one dimensional arrays of numbers, or two
  98857. * dimensional arrays with x and y values are allowed. Also, only the first
  98858. * point is tested, and the rest are assumed to be the same format. This
  98859. * saves expensive data checking and indexing in long series. Set it to `0`
  98860. * disable.
  98861. *
  98862. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  98863. * two dimensional arrays are allowed.
  98864. */
  98865. turboThreshold?: number;
  98866. /**
  98867. * (Highcharts, Highstock) Maximum length of the arrows in the vector plot.
  98868. * The individual arrow length is computed between 0 and this value.
  98869. */
  98870. vectorLength?: number;
  98871. /**
  98872. * (Highcharts, Highstock) Set the initial visibility of the series.
  98873. */
  98874. visible?: boolean;
  98875. /**
  98876. * (Highmaps) Define the z index of the series.
  98877. */
  98878. zIndex?: number;
  98879. /**
  98880. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  98881. */
  98882. zoneAxis?: string;
  98883. /**
  98884. * (Highcharts, Highstock) An array defining zones within a series. Zones
  98885. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  98886. * the `zoneAxis` option. The zone definitions have to be in ascending order
  98887. * regarding to the value.
  98888. *
  98889. * In styled mode, the color zones are styled with the
  98890. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  98891. * option (view live demo).
  98892. */
  98893. zones?: Array<SeriesZonesOptionsObject>;
  98894. }
  98895. /**
  98896. * (Highcharts) Enable or disable the initial animation when a series is
  98897. * displayed. The animation can also be set as a configuration object. Please
  98898. * note that this option only applies to the initial animation of the series
  98899. * itself. For other animations, see chart.animation and the animation parameter
  98900. * under the API methods. The following properties are supported:
  98901. *
  98902. * - `defer`: The animation delay time in milliseconds.
  98903. *
  98904. * - `duration`: The duration of the animation in milliseconds.
  98905. *
  98906. * - `easing`: Can be a string reference to an easing function set on the `Math`
  98907. * object or a function. See the _Custom easing function_ demo below.
  98908. *
  98909. * Due to poor performance, animation is disabled in old IE browsers for several
  98910. * chart types.
  98911. */
  98912. export interface PlotVennAnimationOptions {
  98913. defer?: number;
  98914. }
  98915. export interface PlotVennClusterEventsOptions {
  98916. /**
  98917. * (Highcharts, Highmaps) Fires when the cluster point is clicked and
  98918. * `drillToCluster` is enabled. One parameter, `event`, is passed to the
  98919. * function. The default action is to zoom to the cluster points range. This
  98920. * can be prevented by calling `event.preventDefault()`.
  98921. */
  98922. drillToCluster?: MarkerClusterDrillCallbackFunction;
  98923. }
  98924. /**
  98925. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
  98926. * to change the type of the algorithm, gridSize, distance or iterations.
  98927. */
  98928. export interface PlotVennClusterLayoutAlgorithmOptions {
  98929. /**
  98930. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
  98931. * maximum distance between point and cluster center so that this point will
  98932. * be inside the cluster. The distance is either a number defining pixels or
  98933. * a percentage defining a percentage of the plot area width.
  98934. */
  98935. distance?: (number|string);
  98936. /**
  98937. * (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
  98938. * size of a grid square element either as a number defining pixels, or a
  98939. * percentage defining a percentage of the plot area width.
  98940. */
  98941. gridSize?: (number|string);
  98942. /**
  98943. * (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
  98944. * the number of iterations that this algorithm will be repeated to find
  98945. * clusters positions.
  98946. */
  98947. iterations?: number;
  98948. /**
  98949. * (Highcharts, Highmaps) When `type` is set to `undefined` and there are
  98950. * more visible points than the kmeansThreshold the `grid` algorithm is used
  98951. * to find clusters, otherwise `kmeans`. It ensures good performance on
  98952. * large datasets and better clusters arrangement after the zoom.
  98953. */
  98954. kmeansThreshold?: number;
  98955. /**
  98956. * (Highcharts, Highmaps) Type of the algorithm used to combine points into
  98957. * a cluster. There are three available algorithms:
  98958. *
  98959. * 1) `grid` - grid-based clustering technique. Points are assigned to
  98960. * squares of set size depending on their position on the plot area. Points
  98961. * inside the grid square are combined into a cluster. The grid size can be
  98962. * controlled by `gridSize` property (grid size changes at certain zoom
  98963. * levels).
  98964. *
  98965. * 2) `kmeans` - based on K-Means clustering technique. In the first step,
  98966. * points are divided using the grid method (distance property is a grid
  98967. * size) to find the initial amount of clusters. Next, each point is
  98968. * classified by computing the distance between each cluster center and that
  98969. * point. When the closest cluster distance is lower than distance property
  98970. * set by a user the point is added to this cluster otherwise is classified
  98971. * as `noise`. The algorithm is repeated until each cluster center not
  98972. * change its previous position more than one pixel. This technique is more
  98973. * accurate but also more time consuming than the `grid` algorithm,
  98974. * especially for big datasets.
  98975. *
  98976. * 3) `optimizedKmeans` - based on K-Means clustering technique. This
  98977. * algorithm uses k-means algorithm only on the chart initialization or when
  98978. * chart extremes have greater range than on initialization. When a chart is
  98979. * redrawn the algorithm checks only clustered points distance from the
  98980. * cluster center and rebuild it when the point is spaced enough to be
  98981. * outside the cluster. It provides performance improvement and more stable
  98982. * clusters position yet can be used rather on small and sparse datasets.
  98983. *
  98984. * By default, the algorithm depends on visible quantity of points and
  98985. * `kmeansThreshold`. When there are more visible points than the
  98986. * `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
  98987. *
  98988. * The custom clustering algorithm can be added by assigning a callback
  98989. * function as the type property. This function takes an array of
  98990. * `processedXData`, `processedYData`, `processedXData` indexes and
  98991. * `layoutAlgorithm` options as arguments and should return an object with
  98992. * grouped data.
  98993. *
  98994. * The algorithm should return an object like that: (see online
  98995. * documentation for example)
  98996. *
  98997. * `clusterId` (example above - unique id of a cluster or noise) is an array
  98998. * of points belonging to a cluster. If the array has only one point or
  98999. * fewer points than set in `cluster.minimumClusterSize` it won't be
  99000. * combined into a cluster.
  99001. */
  99002. type?: (string|Function);
  99003. }
  99004. /**
  99005. * (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
  99006. * the data values into larger blocks in order to ease readability and increase
  99007. * performance of the JavaScript charts.
  99008. *
  99009. * Note: marker clusters module is not working with `boost` and
  99010. * `draggable-points` modules.
  99011. *
  99012. * The marker clusters feature requires the marker-clusters.js file to be
  99013. * loaded, found in the modules directory of the download package, or online at
  99014. * code.highcharts.com/modules/marker-clusters.js.
  99015. */
  99016. export interface PlotVennClusterOptions {
  99017. /**
  99018. * (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
  99019. * this option works only when `layoutAlgorithm.type = "grid"`.
  99020. */
  99021. allowOverlap?: boolean;
  99022. /**
  99023. * (Highcharts, Highmaps) Options for the cluster marker animation.
  99024. */
  99025. animation?: (boolean|Partial<AnimationOptionsObject>);
  99026. /**
  99027. * (Highcharts, Highmaps) Options for the cluster data labels.
  99028. */
  99029. dataLabels?: DataLabelsOptions;
  99030. /**
  99031. * (Highcharts, Highmaps) Zoom the plot area to the cluster points range
  99032. * when a cluster is clicked.
  99033. */
  99034. drillToCluster?: boolean;
  99035. /**
  99036. * (Highcharts, Highmaps) Whether to enable the marker-clusters module.
  99037. */
  99038. enabled?: boolean;
  99039. events?: PlotVennClusterEventsOptions;
  99040. /**
  99041. * (Highcharts, Highmaps) Options for layout algorithm. Inside there are
  99042. * options to change the type of the algorithm, gridSize, distance or
  99043. * iterations.
  99044. */
  99045. layoutAlgorithm?: PlotVennClusterLayoutAlgorithmOptions;
  99046. /**
  99047. * (Highcharts, Highmaps) Options for the cluster marker.
  99048. */
  99049. marker?: PointMarkerOptionsObject;
  99050. /**
  99051. * (Highcharts, Highmaps) The minimum amount of points to be combined into a
  99052. * cluster. This value has to be greater or equal to 2.
  99053. */
  99054. minimumClusterSize?: number;
  99055. states?: PlotVennClusterStatesOptions;
  99056. /**
  99057. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  99058. *
  99059. * In styled mode, the color zones are styled with the
  99060. * `.highcharts-cluster-zone-{n}` class, or custom classed from the
  99061. * `className` option.
  99062. */
  99063. zones?: Array<PlotVennClusterZonesOptions>;
  99064. }
  99065. export interface PlotVennClusterStatesHoverOptions {
  99066. /**
  99067. * (Highcharts, Highmaps) The fill color of the cluster marker in hover
  99068. * state. When `undefined`, the series' or point's fillColor for normal
  99069. * state is used.
  99070. */
  99071. fillColor?: ColorType;
  99072. }
  99073. export interface PlotVennClusterStatesOptions {
  99074. hover?: PlotVennClusterStatesHoverOptions;
  99075. }
  99076. /**
  99077. * (Highcharts, Highmaps) An array defining zones within marker clusters.
  99078. *
  99079. * In styled mode, the color zones are styled with the
  99080. * `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
  99081. * option.
  99082. */
  99083. export interface PlotVennClusterZonesOptions {
  99084. /**
  99085. * (Highcharts, Highmaps) Styled mode only. A custom class name for the
  99086. * zone.
  99087. */
  99088. className?: string;
  99089. /**
  99090. * (Highcharts, Highmaps) The value where the zone starts.
  99091. */
  99092. from?: number;
  99093. /**
  99094. * (Highcharts, Highmaps) Settings for the cluster marker belonging to the
  99095. * zone.
  99096. */
  99097. marker?: PointMarkerOptionsObject;
  99098. /**
  99099. * (Highcharts, Highmaps) The value where the zone ends.
  99100. */
  99101. to?: number;
  99102. }
  99103. /**
  99104. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99105. * animation when a series is displayed for the `dataLabels`. The animation can
  99106. * also be set as a configuration object. Please note that this option only
  99107. * applies to the initial animation. For other animations, see chart.animation
  99108. * and the animation parameter under the API methods. The following properties
  99109. * are supported:
  99110. *
  99111. * - `defer`: The animation delay time in milliseconds.
  99112. */
  99113. export interface PlotVennDataLabelsAnimationOptions {
  99114. /**
  99115. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  99116. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  99117. * inherits defer time from the series.animation.defer.
  99118. */
  99119. defer?: number;
  99120. }
  99121. /**
  99122. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  99123. * appearing next to each data point.
  99124. *
  99125. * Since v6.2.0, multiple data labels can be applied to each single point by
  99126. * defining them as an array of configs.
  99127. *
  99128. * In styled mode, the data labels can be styled with the
  99129. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  99130. * example).
  99131. */
  99132. export interface PlotVennDataLabelsOptions {
  99133. /**
  99134. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  99135. * compared to the point. If `right`, the right side of the label should be
  99136. * touching the point. For points with an extent, like columns, the
  99137. * alignments also dictates how to align it inside the box, as given with
  99138. * the inside option. Can be one of `left`, `center` or `right`.
  99139. */
  99140. align?: (AlignValue|null);
  99141. /**
  99142. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  99143. * overlap. To make the labels less sensitive for overlapping, the
  99144. * dataLabels.padding can be set to 0.
  99145. */
  99146. allowOverlap?: boolean;
  99147. /**
  99148. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99149. * animation when a series is displayed for the `dataLabels`. The animation
  99150. * can also be set as a configuration object. Please note that this option
  99151. * only applies to the initial animation. For other animations, see
  99152. * chart.animation and the animation parameter under the API methods. The
  99153. * following properties are supported:
  99154. *
  99155. * - `defer`: The animation delay time in milliseconds.
  99156. */
  99157. animation?: (boolean|PlotVennDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  99158. /**
  99159. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  99160. * for the data label.
  99161. */
  99162. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  99163. /**
  99164. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  99165. * label. Defaults to `undefined`.
  99166. */
  99167. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99168. /**
  99169. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  99170. * the data label.
  99171. */
  99172. borderRadius?: number;
  99173. /**
  99174. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  99175. * the data label.
  99176. */
  99177. borderWidth?: number;
  99178. /**
  99179. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  99180. * Particularly in styled mode, this can be used to give each series' or
  99181. * point's data label unique styling. In addition to this option, a default
  99182. * color class name is added so that we can give the labels a contrast text
  99183. * shadow.
  99184. */
  99185. className?: string;
  99186. /**
  99187. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  99188. * labels. Defaults to `undefined`. For certain series types, like column or
  99189. * map, the data labels can be drawn inside the points. In this case the
  99190. * data label will be drawn with maximum contrast by default. Additionally,
  99191. * it will be given a `text-outline` style with the opposite color, to
  99192. * further increase the contrast. This can be overridden by setting the
  99193. * `text-outline` style to `none` in the `dataLabels.style` option.
  99194. */
  99195. color?: (ColorString|GradientColorObject|PatternObject);
  99196. /**
  99197. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  99198. * are outside the plot area. By default, the data label is moved inside the
  99199. * plot area according to the overflow option.
  99200. */
  99201. crop?: boolean;
  99202. /**
  99203. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  99204. * labels until the initial series animation has finished. Setting to
  99205. * `false` renders the data label immediately. If set to `true` inherits the
  99206. * defer time set in plotOptions.series.animation. If set to a number, a
  99207. * defer time is specified in milliseconds.
  99208. */
  99209. defer?: (boolean|number);
  99210. /**
  99211. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  99212. * labels.
  99213. */
  99214. enabled?: boolean;
  99215. /**
  99216. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  99217. * of which data labels to display. The declarative filter is designed for
  99218. * use when callback functions are not available, like when the chart
  99219. * options require a pure JSON structure or for use with graphical editors.
  99220. * For programmatic control, use the `formatter` instead, and return
  99221. * `undefined` to disable a single data label.
  99222. */
  99223. filter?: DataLabelsFilterOptionsObject;
  99224. /**
  99225. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  99226. * label. Available variables are the same as for `formatter`.
  99227. */
  99228. format?: string;
  99229. /**
  99230. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  99231. * format the data label. Note that if a `format` is defined, the format
  99232. * takes precedence and the formatter is ignored.
  99233. */
  99234. formatter?: DataLabelsFormatterCallbackFunction;
  99235. /**
  99236. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  99237. * columns or map areas, whether to align the data label inside the box or
  99238. * to the actual value point. Defaults to `false` in most cases, `true` in
  99239. * stacked columns.
  99240. */
  99241. inside?: boolean;
  99242. /**
  99243. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  99244. * of null. Works analogously to format. `nullFormat` can be applied only to
  99245. * series which support displaying null points.
  99246. */
  99247. nullFormat?: (boolean|string);
  99248. /**
  99249. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  99250. * that defines formatting for points with the value of null. Works
  99251. * analogously to formatter. `nullPointFormatter` can be applied only to
  99252. * series which support displaying null points.
  99253. */
  99254. nullFormatter?: DataLabelsFormatterCallbackFunction;
  99255. /**
  99256. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  99257. * flow outside the plot area. The default is `"justify"`, which aligns them
  99258. * inside the plot area. For columns and bars, this means it will be moved
  99259. * inside the bar. To display data labels outside the plot area, set `crop`
  99260. * to `false` and `overflow` to `"allow"`.
  99261. */
  99262. overflow?: DataLabelsOverflowValue;
  99263. /**
  99264. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  99265. * the `backgroundColor` is set, this is the padding within the box.
  99266. */
  99267. padding?: number;
  99268. /**
  99269. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  99270. * points. If `center` alignment is not possible, it defaults to `right`.
  99271. */
  99272. position?: AlignValue;
  99273. /**
  99274. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  99275. * that due to a more complex structure, backgrounds, borders and padding
  99276. * will be lost on a rotated data label.
  99277. */
  99278. rotation?: number;
  99279. /**
  99280. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  99281. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  99282. * an object configuration containing `color`, `offsetX`, `offsetY`,
  99283. * `opacity` and `width`.
  99284. */
  99285. shadow?: (boolean|ShadowOptionsObject);
  99286. /**
  99287. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  99288. * the border around the label. Symbols are predefined functions on the
  99289. * Renderer object.
  99290. */
  99291. shape?: string;
  99292. /**
  99293. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  99294. * default `color` setting is `"contrast"`, which is a pseudo color that
  99295. * Highcharts picks up and applies the maximum contrast to the underlying
  99296. * point item, for example the bar in a bar chart.
  99297. *
  99298. * The `textOutline` is a pseudo property that applies an outline of the
  99299. * given width with the given color, which by default is the maximum
  99300. * contrast to the text. So a bright text color will result in a black text
  99301. * outline for maximum readability on a mixed background. In some cases,
  99302. * especially with grayscale text, the text outline doesn't work well, in
  99303. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  99304. * is true, the `textOutline` will not be picked up. In this, case, the same
  99305. * effect can be acheived through the `text-shadow` CSS property.
  99306. *
  99307. * For some series types, where each point has an extent, like for example
  99308. * tree maps, the data label may overflow the point. There are two
  99309. * strategies for handling overflow. By default, the text will wrap to
  99310. * multiple lines. The other strategy is to set `style.textOverflow` to
  99311. * `ellipsis`, which will keep the text on one line plus it will break
  99312. * inside long words.
  99313. */
  99314. style?: CSSObject;
  99315. /**
  99316. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  99317. * should follow marker's shape. Border and background are disabled for a
  99318. * label that follows a path.
  99319. *
  99320. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  99321. * to true will disable this option.
  99322. */
  99323. textPath?: DataLabelsTextPathOptionsObject;
  99324. /**
  99325. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  99326. * the labels.
  99327. */
  99328. useHTML?: boolean;
  99329. /**
  99330. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  99331. * label. Can be one of `top`, `middle` or `bottom`. The default value
  99332. * depends on the data, for instance in a column chart, the label is above
  99333. * positive values and below negative values.
  99334. */
  99335. verticalAlign?: string;
  99336. /**
  99337. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  99338. * label relative to the point in pixels.
  99339. */
  99340. x?: number;
  99341. /**
  99342. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  99343. * label relative to the point in pixels.
  99344. */
  99345. y?: number;
  99346. /**
  99347. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  99348. * The default Z index puts it above the series. Use a Z index of 2 to
  99349. * display it behind the series.
  99350. */
  99351. z?: number;
  99352. }
  99353. /**
  99354. * (Highcharts) A Venn diagram displays all possible logical relations between a
  99355. * collection of different sets. The sets are represented by circles, and the
  99356. * relation between the sets are displayed by the overlap or lack of overlap
  99357. * between them. The venn diagram is a special case of Euler diagrams, which can
  99358. * also be displayed by this series type.
  99359. *
  99360. * In TypeScript the type option must always be set.
  99361. *
  99362. * Configuration options for the series are given in three levels:
  99363. *
  99364. * 1. Options for all series in a chart are defined in the plotOptions.series
  99365. * object.
  99366. *
  99367. * 2. Options for all `venn` series are defined in plotOptions.venn.
  99368. *
  99369. * 3. Options for one single series are given in the series instance array. (see
  99370. * online documentation for example)
  99371. */
  99372. export interface PlotVennOptions {
  99373. /**
  99374. * (Highcharts) Accessibility options for a series.
  99375. */
  99376. accessibility?: SeriesAccessibilityOptionsObject;
  99377. /**
  99378. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  99379. * rendered. If `true`, areas which don't correspond to a data point, are
  99380. * rendered as `null` points. If `false`, those areas are skipped.
  99381. */
  99382. allAreas?: boolean;
  99383. /**
  99384. * (Highcharts) Allow this series' points to be selected by clicking on the
  99385. * graphic (columns, point markers, pie slices, map areas etc).
  99386. *
  99387. * The selected points can be handled by point select and unselect events,
  99388. * or collectively by the getSelectedPoints function.
  99389. *
  99390. * And alternative way of selecting points is through dragging.
  99391. */
  99392. allowPointSelect?: boolean;
  99393. /**
  99394. * (Highcharts) Enable or disable the initial animation when a series is
  99395. * displayed. The animation can also be set as a configuration object.
  99396. * Please note that this option only applies to the initial animation of the
  99397. * series itself. For other animations, see chart.animation and the
  99398. * animation parameter under the API methods. The following properties are
  99399. * supported:
  99400. *
  99401. * - `defer`: The animation delay time in milliseconds.
  99402. *
  99403. * - `duration`: The duration of the animation in milliseconds.
  99404. *
  99405. * - `easing`: Can be a string reference to an easing function set on the
  99406. * `Math` object or a function. See the _Custom easing function_ demo below.
  99407. *
  99408. * Due to poor performance, animation is disabled in old IE browsers for
  99409. * several chart types.
  99410. */
  99411. animation?: (boolean|PlotVennAnimationOptions|Partial<AnimationOptionsObject>);
  99412. /**
  99413. * (Highcharts) For some series, there is a limit that shuts down initial
  99414. * animation by default when the total number of points in the chart is too
  99415. * high. For example, for a column chart and its derivatives, animation does
  99416. * not run if there is more than 250 points totally. To disable this cap,
  99417. * set `animationLimit` to `Infinity`.
  99418. */
  99419. animationLimit?: number;
  99420. /**
  99421. * (Highmaps) The border color of the map areas.
  99422. *
  99423. * In styled mode, the border stroke is given in the `.highcharts-point`
  99424. * class.
  99425. */
  99426. borderColor?: string;
  99427. borderDashStyle?: string;
  99428. /**
  99429. * (Highmaps) The border width of each map area.
  99430. *
  99431. * In styled mode, the border stroke width is given in the
  99432. * `.highcharts-point` class.
  99433. */
  99434. borderWidth?: number;
  99435. brighten?: number;
  99436. /**
  99437. * (Highcharts) An additional class name to apply to the series' graphical
  99438. * elements. This option does not replace default class names of the
  99439. * graphical element.
  99440. */
  99441. className?: string;
  99442. /**
  99443. * (Highcharts) Disable this option to allow series rendering in the whole
  99444. * plotting area.
  99445. *
  99446. * **Note:** Clipping should be always enabled when chart.zoomType is set
  99447. */
  99448. clip?: boolean;
  99449. /**
  99450. * (Highcharts, Highmaps) Options for marker clusters, the concept of
  99451. * sampling the data values into larger blocks in order to ease readability
  99452. * and increase performance of the JavaScript charts.
  99453. *
  99454. * Note: marker clusters module is not working with `boost` and
  99455. * `draggable-points` modules.
  99456. *
  99457. * The marker clusters feature requires the marker-clusters.js file to be
  99458. * loaded, found in the modules directory of the download package, or online
  99459. * at code.highcharts.com/modules/marker-clusters.js.
  99460. */
  99461. cluster?: PlotVennClusterOptions;
  99462. /**
  99463. * (Highcharts) The main color of the series. In line type series it applies
  99464. * to the line and the point markers unless otherwise specified. In bar type
  99465. * series it applies to the bars unless a color is specified per point. The
  99466. * default value is pulled from the `options.colors` array.
  99467. *
  99468. * In styled mode, the color can be defined by the colorIndex option. Also,
  99469. * the series color can be set with the `.highcharts-series`,
  99470. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  99471. * `.highcharts-series-{n}` class, or individual classes given by the
  99472. * `className` option.
  99473. */
  99474. color?: (ColorString|GradientColorObject|PatternObject);
  99475. /**
  99476. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  99477. * this number defines which colorAxis the particular series is connected
  99478. * to. It refers to either the axis id or the index of the axis in the
  99479. * colorAxis array, with 0 being the first. Set this option to false to
  99480. * prevent a series from connecting to the default color axis.
  99481. *
  99482. * Since v7.2.0 the option can also be an axis id or an axis index instead
  99483. * of a boolean flag.
  99484. */
  99485. colorAxis?: (boolean|number|string);
  99486. colorByPoint?: boolean;
  99487. /**
  99488. * (Highcharts) Styled mode only. A specific color index to use for the
  99489. * series, so its graphic representations are given the class name
  99490. * `highcharts-color-{n}`.
  99491. */
  99492. colorIndex?: number;
  99493. /**
  99494. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  99495. * used to calculate point color if `colorAxis` is used. Requires to set
  99496. * `min` and `max` if some custom point property is used or if approximation
  99497. * for data grouping is set to `'sum'`.
  99498. */
  99499. colorKey?: string;
  99500. /**
  99501. * (Highstock) Compare the values of the series against the first non-null,
  99502. * non- zero value in the visible range. The y axis will show percentage or
  99503. * absolute change depending on whether `compare` is set to `"percent"` or
  99504. * `"value"`. When this is applied to multiple series, it allows comparing
  99505. * the development of the series against each other. Adds a `change` field
  99506. * to every point object.
  99507. */
  99508. compare?: string;
  99509. /**
  99510. * (Highstock) When compare is `percent`, this option dictates whether to
  99511. * use 0 or 100 as the base of comparison.
  99512. */
  99513. compareBase?: (0|100);
  99514. /**
  99515. * (Highstock) Defines if comparison should start from the first point
  99516. * within the visible range or should start from the first point **before**
  99517. * the range.
  99518. *
  99519. * In other words, this flag determines if first point within the visible
  99520. * range will have 0% (`compareStart=true`) or should have been already
  99521. * calculated according to the previous point (`compareStart=false`).
  99522. */
  99523. compareStart?: boolean;
  99524. /**
  99525. * (Gantt) Override Pathfinder connector options for a series. Requires
  99526. * Highcharts Gantt to be loaded.
  99527. */
  99528. connectors?: SeriesConnectorsOptionsObject;
  99529. /**
  99530. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  99531. * rounded to its nearest pixel in order to render sharp on screen. In some
  99532. * cases, when there are a lot of densely packed columns, this leads to
  99533. * visible difference in column widths or distance between columns. In these
  99534. * cases, setting `crisp` to `false` may look better, even though each
  99535. * column is rendered blurry.
  99536. */
  99537. crisp?: boolean;
  99538. /**
  99539. * (Highcharts) You can set the cursor to "pointer" if you have click events
  99540. * attached to the series, to signal to the user that the points and lines
  99541. * can be clicked.
  99542. *
  99543. * In styled mode, the series cursor can be set with the same classes as
  99544. * listed under series.color.
  99545. */
  99546. cursor?: (string|CursorValue);
  99547. /**
  99548. * (Highcharts) A reserved subspace to store options and values for
  99549. * customized functionality. Here you can add additional data for your own
  99550. * event callbacks and formatter callbacks.
  99551. */
  99552. custom?: Dictionary<any>;
  99553. /**
  99554. * (Highcharts) Name of the dash style to use for the graph, or for some
  99555. * series types the outline of each shape.
  99556. *
  99557. * In styled mode, the stroke dash-array can be set with the same classes as
  99558. * listed under series.color.
  99559. */
  99560. dashStyle?: DashStyleValue;
  99561. /**
  99562. * (Highstock) Data grouping is the concept of sampling the data values into
  99563. * larger blocks in order to ease readability and increase performance of
  99564. * the JavaScript charts. Highcharts Stock by default applies data grouping
  99565. * when the points become closer than a certain pixel value, determined by
  99566. * the `groupPixelWidth` option.
  99567. *
  99568. * If data grouping is applied, the grouping information of grouped points
  99569. * can be read from the Point.dataGroup. If point options other than the
  99570. * data itself are set, for example `name` or `color` or custom properties,
  99571. * the grouping logic doesn't know how to group it. In this case the options
  99572. * of the first point instance are copied over to the group point. This can
  99573. * be altered through a custom `approximation` callback function.
  99574. */
  99575. dataGrouping?: DataGroupingOptionsObject;
  99576. /**
  99577. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  99578. * labels, appearing next to each data point.
  99579. *
  99580. * Since v6.2.0, multiple data labels can be applied to each single point by
  99581. * defining them as an array of configs.
  99582. *
  99583. * In styled mode, the data labels can be styled with the
  99584. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  99585. * (see example).
  99586. */
  99587. dataLabels?: (PlotVennDataLabelsOptions|Array<PlotVennDataLabelsOptions>);
  99588. /**
  99589. * (Highcharts) A description of the series to add to the screen reader
  99590. * information about the series.
  99591. */
  99592. description?: string;
  99593. /**
  99594. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  99595. * This includes point tooltips and click events on graphs and points. For
  99596. * large datasets it improves performance.
  99597. */
  99598. enableMouseTracking?: boolean;
  99599. /**
  99600. * (Highcharts) General event handlers for the series items. These event
  99601. * hooks can also be attached to the series at run time using the
  99602. * `Highcharts.addEvent` function.
  99603. */
  99604. events?: SeriesEventsOptionsObject;
  99605. /**
  99606. * (Highstock) Defines when to display a gap in the graph, together with the
  99607. * gapUnit option.
  99608. *
  99609. * In case when `dataGrouping` is enabled, points can be grouped into a
  99610. * larger time span. This can make the grouped points to have a greater
  99611. * distance than the absolute value of `gapSize` property, which will result
  99612. * in disappearing graph completely. To prevent this situation the mentioned
  99613. * distance between grouped points is used instead of previously defined
  99614. * `gapSize`.
  99615. *
  99616. * In practice, this option is most often used to visualize gaps in time
  99617. * series. In a stock chart, intraday data is available for daytime hours,
  99618. * while gaps will appear in nights and weekends.
  99619. */
  99620. gapSize?: number;
  99621. /**
  99622. * (Highstock) Together with gapSize, this option defines where to draw gaps
  99623. * in the graph.
  99624. *
  99625. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  99626. * if the distance between two points is greater than 5 times that of the
  99627. * two closest points, the graph will be broken.
  99628. *
  99629. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  99630. * values, which on a datetime axis is milliseconds. This also applies to
  99631. * the navigator series that inherits gap options from the base series.
  99632. */
  99633. gapUnit?: OptionsGapUnitValue;
  99634. /**
  99635. * (Highcharts) When set to `false` will prevent the series data from being
  99636. * included in any form of data export.
  99637. *
  99638. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  99639. * `includeInCSVExport`.
  99640. */
  99641. includeInDataExport?: boolean;
  99642. /**
  99643. * (Highmaps) What property to join the `mapData` to the value data. For
  99644. * example, if joinBy is "code", the mapData items with a specific code is
  99645. * merged into the data with the same code. For maps loaded from GeoJSON,
  99646. * the keys may be held in each point's `properties` object.
  99647. *
  99648. * The joinBy option can also be an array of two values, where the first
  99649. * points to a key in the `mapData`, and the second points to another key in
  99650. * the `data`.
  99651. *
  99652. * When joinBy is `null`, the map items are joined by their position in the
  99653. * array, which performs much better in maps with many data points. This is
  99654. * the recommended option if you are printing more than a thousand data
  99655. * points and have a backend that can preprocess the data into a parallel
  99656. * array of the mapData.
  99657. */
  99658. joinBy?: (string|Array<string>);
  99659. /**
  99660. * (Highcharts) An array specifying which option maps to which key in the
  99661. * data point array. This makes it convenient to work with unstructured data
  99662. * arrays from different sources.
  99663. */
  99664. keys?: Array<string>;
  99665. /**
  99666. * (Highstock) The line marks the last price from all points.
  99667. */
  99668. lastPrice?: SeriesLastPriceOptionsObject;
  99669. /**
  99670. * (Highstock) The line marks the last price from visible range of points.
  99671. */
  99672. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  99673. marker?: boolean;
  99674. /**
  99675. * (Highstock) Options for the corresponding navigator series if
  99676. * `showInNavigator` is `true` for this series. Available options are the
  99677. * same as any series, documented at plotOptions and series.
  99678. *
  99679. * These options are merged with options in navigator.series, and will take
  99680. * precedence if the same option is defined both places.
  99681. */
  99682. navigatorOptions?: PlotSeriesOptions;
  99683. /**
  99684. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  99685. * dataLabels.
  99686. */
  99687. opacity?: number;
  99688. /**
  99689. * (Highcharts) Properties for each single point.
  99690. */
  99691. point?: PlotSeriesPointOptions;
  99692. /**
  99693. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  99694. * an individual series. Overrides the chart wide configuration.
  99695. */
  99696. pointDescriptionFormatter?: Function;
  99697. /**
  99698. * (Highstock) The width of each point on the x axis. For example in a
  99699. * column chart with one value each day, the pointRange would be 1 day (= 24
  99700. * * 3600
  99701. *
  99702. * * 1000 milliseconds). This is normally computed automatically, but this
  99703. * option can be used to override the automatic value.
  99704. */
  99705. pointRange?: number;
  99706. /**
  99707. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  99708. * true, the checkbox next to the series name in the legend will be checked
  99709. * for a selected series.
  99710. */
  99711. selected?: boolean;
  99712. /**
  99713. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  99714. * allow selecting the series. The state of the checkbox is determined by
  99715. * the `selected` option.
  99716. */
  99717. showCheckbox?: boolean;
  99718. /**
  99719. * (Highcharts) Whether to display this particular series or series type in
  99720. * the legend. Standalone series are shown in legend by default, and linked
  99721. * series are not. Since v7.2.0 it is possible to show series that use
  99722. * colorAxis by setting this option to `true`.
  99723. */
  99724. showInLegend?: boolean;
  99725. /**
  99726. * (Highstock) Whether or not to show the series in the navigator. Takes
  99727. * precedence over navigator.baseSeries if defined.
  99728. */
  99729. showInNavigator?: boolean;
  99730. /**
  99731. * (Highcharts) If set to `true`, the accessibility module will skip past
  99732. * the points in this series for keyboard navigation.
  99733. */
  99734. skipKeyboardNavigation?: boolean;
  99735. states?: SeriesStatesOptionsObject;
  99736. /**
  99737. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  99738. * values are `left`, `center` and `right`.
  99739. */
  99740. step?: OptionsStepValue;
  99741. /**
  99742. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  99743. * `mouseOut` event on a series isn't triggered until the mouse moves over
  99744. * another series, or out of the plot area. When false, the `mouseOut` event
  99745. * on a series is triggered when the mouse leaves the area around the
  99746. * series' graph or markers. This also implies the tooltip. When
  99747. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  99748. * be hidden when moving the mouse between series.
  99749. */
  99750. stickyTracking?: boolean;
  99751. /**
  99752. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  99753. * of each single series. Properties are inherited from tooltip. Overridable
  99754. * properties are `headerFormat`, `pointFormat`, `yDecimals`, `xDateFormat`,
  99755. * `yPrefix` and `ySuffix`. Unlike other series, in a scatter plot the
  99756. * series.name by default shows in the headerFormat and point.x and point.y
  99757. * in the pointFormat.
  99758. */
  99759. tooltip?: SeriesTooltipOptionsObject;
  99760. /**
  99761. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  99762. * is longer than this, only one dimensional arrays of numbers, or two
  99763. * dimensional arrays with x and y values are allowed. Also, only the first
  99764. * point is tested, and the rest are assumed to be the same format. This
  99765. * saves expensive data checking and indexing in long series. Set it to `0`
  99766. * disable.
  99767. *
  99768. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  99769. * two dimensional arrays are allowed.
  99770. */
  99771. turboThreshold?: number;
  99772. /**
  99773. * (Highcharts) Set the initial visibility of the series.
  99774. */
  99775. visible?: boolean;
  99776. /**
  99777. * (Highmaps) Define the z index of the series.
  99778. */
  99779. zIndex?: number;
  99780. }
  99781. /**
  99782. * (Highstock) Enable or disable the initial animation when a series is
  99783. * displayed. The animation can also be set as a configuration object. Please
  99784. * note that this option only applies to the initial animation of the series
  99785. * itself. For other animations, see chart.animation and the animation parameter
  99786. * under the API methods. The following properties are supported:
  99787. *
  99788. * - `defer`: The animation delay time in milliseconds.
  99789. *
  99790. * - `duration`: The duration of the animation in milliseconds.
  99791. *
  99792. * - `easing`: Can be a string reference to an easing function set on the `Math`
  99793. * object or a function. See the _Custom easing function_ demo below.
  99794. *
  99795. * Due to poor performance, animation is disabled in old IE browsers for several
  99796. * chart types.
  99797. */
  99798. export interface PlotVwapAnimationOptions {
  99799. defer?: number;
  99800. }
  99801. /**
  99802. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99803. * animation when a series is displayed for the `dataLabels`. The animation can
  99804. * also be set as a configuration object. Please note that this option only
  99805. * applies to the initial animation. For other animations, see chart.animation
  99806. * and the animation parameter under the API methods. The following properties
  99807. * are supported:
  99808. *
  99809. * - `defer`: The animation delay time in milliseconds.
  99810. */
  99811. export interface PlotVwapDataLabelsAnimationOptions {
  99812. /**
  99813. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  99814. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  99815. * inherits defer time from the series.animation.defer.
  99816. */
  99817. defer?: number;
  99818. }
  99819. /**
  99820. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  99821. * appearing next to each data point.
  99822. *
  99823. * Since v6.2.0, multiple data labels can be applied to each single point by
  99824. * defining them as an array of configs.
  99825. *
  99826. * In styled mode, the data labels can be styled with the
  99827. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  99828. * example).
  99829. */
  99830. export interface PlotVwapDataLabelsOptions {
  99831. /**
  99832. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  99833. * compared to the point. If `right`, the right side of the label should be
  99834. * touching the point. For points with an extent, like columns, the
  99835. * alignments also dictates how to align it inside the box, as given with
  99836. * the inside option. Can be one of `left`, `center` or `right`.
  99837. */
  99838. align?: (AlignValue|null);
  99839. /**
  99840. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  99841. * overlap. To make the labels less sensitive for overlapping, the
  99842. * dataLabels.padding can be set to 0.
  99843. */
  99844. allowOverlap?: boolean;
  99845. /**
  99846. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  99847. * animation when a series is displayed for the `dataLabels`. The animation
  99848. * can also be set as a configuration object. Please note that this option
  99849. * only applies to the initial animation. For other animations, see
  99850. * chart.animation and the animation parameter under the API methods. The
  99851. * following properties are supported:
  99852. *
  99853. * - `defer`: The animation delay time in milliseconds.
  99854. */
  99855. animation?: (boolean|PlotVwapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  99856. /**
  99857. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  99858. * for the data label.
  99859. */
  99860. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  99861. /**
  99862. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  99863. * label. Defaults to `undefined`.
  99864. */
  99865. borderColor?: (ColorString|GradientColorObject|PatternObject);
  99866. /**
  99867. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  99868. * the data label.
  99869. */
  99870. borderRadius?: number;
  99871. /**
  99872. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  99873. * the data label.
  99874. */
  99875. borderWidth?: number;
  99876. /**
  99877. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  99878. * Particularly in styled mode, this can be used to give each series' or
  99879. * point's data label unique styling. In addition to this option, a default
  99880. * color class name is added so that we can give the labels a contrast text
  99881. * shadow.
  99882. */
  99883. className?: string;
  99884. /**
  99885. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  99886. * labels. Defaults to `undefined`. For certain series types, like column or
  99887. * map, the data labels can be drawn inside the points. In this case the
  99888. * data label will be drawn with maximum contrast by default. Additionally,
  99889. * it will be given a `text-outline` style with the opposite color, to
  99890. * further increase the contrast. This can be overridden by setting the
  99891. * `text-outline` style to `none` in the `dataLabels.style` option.
  99892. */
  99893. color?: (ColorString|GradientColorObject|PatternObject);
  99894. /**
  99895. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  99896. * are outside the plot area. By default, the data label is moved inside the
  99897. * plot area according to the overflow option.
  99898. */
  99899. crop?: boolean;
  99900. /**
  99901. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  99902. * labels until the initial series animation has finished. Setting to
  99903. * `false` renders the data label immediately. If set to `true` inherits the
  99904. * defer time set in plotOptions.series.animation. If set to a number, a
  99905. * defer time is specified in milliseconds.
  99906. */
  99907. defer?: (boolean|number);
  99908. /**
  99909. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  99910. * labels.
  99911. */
  99912. enabled?: boolean;
  99913. /**
  99914. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  99915. * of which data labels to display. The declarative filter is designed for
  99916. * use when callback functions are not available, like when the chart
  99917. * options require a pure JSON structure or for use with graphical editors.
  99918. * For programmatic control, use the `formatter` instead, and return
  99919. * `undefined` to disable a single data label.
  99920. */
  99921. filter?: DataLabelsFilterOptionsObject;
  99922. /**
  99923. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  99924. * label. Available variables are the same as for `formatter`.
  99925. */
  99926. format?: string;
  99927. /**
  99928. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  99929. * format the data label. Note that if a `format` is defined, the format
  99930. * takes precedence and the formatter is ignored.
  99931. */
  99932. formatter?: DataLabelsFormatterCallbackFunction;
  99933. /**
  99934. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  99935. * columns or map areas, whether to align the data label inside the box or
  99936. * to the actual value point. Defaults to `false` in most cases, `true` in
  99937. * stacked columns.
  99938. */
  99939. inside?: boolean;
  99940. /**
  99941. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  99942. * of null. Works analogously to format. `nullFormat` can be applied only to
  99943. * series which support displaying null points.
  99944. */
  99945. nullFormat?: (boolean|string);
  99946. /**
  99947. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  99948. * that defines formatting for points with the value of null. Works
  99949. * analogously to formatter. `nullPointFormatter` can be applied only to
  99950. * series which support displaying null points.
  99951. */
  99952. nullFormatter?: DataLabelsFormatterCallbackFunction;
  99953. /**
  99954. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  99955. * flow outside the plot area. The default is `"justify"`, which aligns them
  99956. * inside the plot area. For columns and bars, this means it will be moved
  99957. * inside the bar. To display data labels outside the plot area, set `crop`
  99958. * to `false` and `overflow` to `"allow"`.
  99959. */
  99960. overflow?: DataLabelsOverflowValue;
  99961. /**
  99962. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  99963. * the `backgroundColor` is set, this is the padding within the box.
  99964. */
  99965. padding?: number;
  99966. /**
  99967. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  99968. * points. If `center` alignment is not possible, it defaults to `right`.
  99969. */
  99970. position?: AlignValue;
  99971. /**
  99972. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  99973. * that due to a more complex structure, backgrounds, borders and padding
  99974. * will be lost on a rotated data label.
  99975. */
  99976. rotation?: number;
  99977. /**
  99978. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  99979. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  99980. * an object configuration containing `color`, `offsetX`, `offsetY`,
  99981. * `opacity` and `width`.
  99982. */
  99983. shadow?: (boolean|ShadowOptionsObject);
  99984. /**
  99985. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  99986. * the border around the label. Symbols are predefined functions on the
  99987. * Renderer object.
  99988. */
  99989. shape?: string;
  99990. /**
  99991. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  99992. * default `color` setting is `"contrast"`, which is a pseudo color that
  99993. * Highcharts picks up and applies the maximum contrast to the underlying
  99994. * point item, for example the bar in a bar chart.
  99995. *
  99996. * The `textOutline` is a pseudo property that applies an outline of the
  99997. * given width with the given color, which by default is the maximum
  99998. * contrast to the text. So a bright text color will result in a black text
  99999. * outline for maximum readability on a mixed background. In some cases,
  100000. * especially with grayscale text, the text outline doesn't work well, in
  100001. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  100002. * is true, the `textOutline` will not be picked up. In this, case, the same
  100003. * effect can be acheived through the `text-shadow` CSS property.
  100004. *
  100005. * For some series types, where each point has an extent, like for example
  100006. * tree maps, the data label may overflow the point. There are two
  100007. * strategies for handling overflow. By default, the text will wrap to
  100008. * multiple lines. The other strategy is to set `style.textOverflow` to
  100009. * `ellipsis`, which will keep the text on one line plus it will break
  100010. * inside long words.
  100011. */
  100012. style?: CSSObject;
  100013. /**
  100014. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  100015. * should follow marker's shape. Border and background are disabled for a
  100016. * label that follows a path.
  100017. *
  100018. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  100019. * to true will disable this option.
  100020. */
  100021. textPath?: DataLabelsTextPathOptionsObject;
  100022. /**
  100023. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  100024. * the labels.
  100025. */
  100026. useHTML?: boolean;
  100027. /**
  100028. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  100029. * label. Can be one of `top`, `middle` or `bottom`. The default value
  100030. * depends on the data, for instance in a column chart, the label is above
  100031. * positive values and below negative values.
  100032. */
  100033. verticalAlign?: (VerticalAlignValue|null);
  100034. /**
  100035. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  100036. * label relative to the point in pixels.
  100037. */
  100038. x?: number;
  100039. /**
  100040. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  100041. * label relative to the point in pixels.
  100042. */
  100043. y?: number;
  100044. /**
  100045. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  100046. * The default Z index puts it above the series. Use a Z index of 2 to
  100047. * display it behind the series.
  100048. */
  100049. z?: number;
  100050. }
  100051. /**
  100052. * (Highcharts, Highstock) Options for the series data sorting.
  100053. */
  100054. export interface PlotVwapDataSortingOptions {
  100055. /**
  100056. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  100057. * Use xAxis.reversed to change the sorting order.
  100058. */
  100059. enabled?: boolean;
  100060. /**
  100061. * (Highcharts, Highstock) Whether to allow matching points by name in an
  100062. * update. If this option is disabled, points will be matched by order.
  100063. */
  100064. matchByName?: boolean;
  100065. /**
  100066. * (Highcharts, Highstock) Determines what data value should be used to sort
  100067. * by.
  100068. */
  100069. sortKey?: string;
  100070. }
  100071. /**
  100072. * (Highstock) Volume Weighted Average Price indicator.
  100073. *
  100074. * This series requires `linkedTo` option to be set.
  100075. *
  100076. * In TypeScript the type option must always be set.
  100077. *
  100078. * Configuration options for the series are given in three levels:
  100079. *
  100080. * 1. Options for all series in a chart are defined in the plotOptions.series
  100081. * object.
  100082. *
  100083. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  100084. *
  100085. * 3. Options for one single series are given in the series instance array. (see
  100086. * online documentation for example)
  100087. */
  100088. export interface PlotVwapOptions {
  100089. /**
  100090. * (Highstock) Accessibility options for a series.
  100091. */
  100092. accessibility?: SeriesAccessibilityOptionsObject;
  100093. /**
  100094. * (Highstock) Allow this series' points to be selected by clicking on the
  100095. * graphic (columns, point markers, pie slices, map areas etc).
  100096. *
  100097. * The selected points can be handled by point select and unselect events,
  100098. * or collectively by the getSelectedPoints function.
  100099. *
  100100. * And alternative way of selecting points is through dragging.
  100101. */
  100102. allowPointSelect?: boolean;
  100103. /**
  100104. * (Highstock) Enable or disable the initial animation when a series is
  100105. * displayed. The animation can also be set as a configuration object.
  100106. * Please note that this option only applies to the initial animation of the
  100107. * series itself. For other animations, see chart.animation and the
  100108. * animation parameter under the API methods. The following properties are
  100109. * supported:
  100110. *
  100111. * - `defer`: The animation delay time in milliseconds.
  100112. *
  100113. * - `duration`: The duration of the animation in milliseconds.
  100114. *
  100115. * - `easing`: Can be a string reference to an easing function set on the
  100116. * `Math` object or a function. See the _Custom easing function_ demo below.
  100117. *
  100118. * Due to poor performance, animation is disabled in old IE browsers for
  100119. * several chart types.
  100120. */
  100121. animation?: (boolean|PlotVwapAnimationOptions|Partial<AnimationOptionsObject>);
  100122. /**
  100123. * (Highstock) For some series, there is a limit that shuts down initial
  100124. * animation by default when the total number of points in the chart is too
  100125. * high. For example, for a column chart and its derivatives, animation does
  100126. * not run if there is more than 250 points totally. To disable this cap,
  100127. * set `animationLimit` to `Infinity`.
  100128. */
  100129. animationLimit?: number;
  100130. /**
  100131. * (Highstock) Sets the color blending in the boost module.
  100132. */
  100133. boostBlending?: OptionsBoostBlendingValue;
  100134. /**
  100135. * (Highstock) Set the point threshold for when a series should enter boost
  100136. * mode.
  100137. *
  100138. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  100139. * there are 2000 or more points in the series.
  100140. *
  100141. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  100142. * it to 1 will force boosting.
  100143. *
  100144. * Note that the cropThreshold also affects this setting. When zooming in on
  100145. * a series that has fewer points than the `cropThreshold`, all points are
  100146. * rendered although outside the visible plot area, and the `boostThreshold`
  100147. * won't take effect.
  100148. */
  100149. boostThreshold?: number;
  100150. /**
  100151. * (Highmaps) The border color of the map areas.
  100152. *
  100153. * In styled mode, the border stroke is given in the `.highcharts-point`
  100154. * class.
  100155. */
  100156. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100157. /**
  100158. * (Highmaps) The border width of each map area.
  100159. *
  100160. * In styled mode, the border stroke width is given in the
  100161. * `.highcharts-point` class.
  100162. */
  100163. borderWidth?: number;
  100164. /**
  100165. * (Highstock) An additional class name to apply to the series' graphical
  100166. * elements. This option does not replace default class names of the
  100167. * graphical element.
  100168. */
  100169. className?: string;
  100170. /**
  100171. * (Highstock) Disable this option to allow series rendering in the whole
  100172. * plotting area.
  100173. *
  100174. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100175. */
  100176. clip?: boolean;
  100177. /**
  100178. * (Highstock) The main color of the series. In line type series it applies
  100179. * to the line and the point markers unless otherwise specified. In bar type
  100180. * series it applies to the bars unless a color is specified per point. The
  100181. * default value is pulled from the `options.colors` array.
  100182. *
  100183. * In styled mode, the color can be defined by the colorIndex option. Also,
  100184. * the series color can be set with the `.highcharts-series`,
  100185. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  100186. * `.highcharts-series-{n}` class, or individual classes given by the
  100187. * `className` option.
  100188. */
  100189. color?: (ColorString|GradientColorObject|PatternObject);
  100190. /**
  100191. * (Highstock) Styled mode only. A specific color index to use for the
  100192. * series, so its graphic representations are given the class name
  100193. * `highcharts-color-{n}`.
  100194. */
  100195. colorIndex?: number;
  100196. /**
  100197. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  100198. * used to calculate point color if `colorAxis` is used. Requires to set
  100199. * `min` and `max` if some custom point property is used or if approximation
  100200. * for data grouping is set to `'sum'`.
  100201. */
  100202. colorKey?: string;
  100203. /**
  100204. * (Highstock) Compare the values of the series against the first non-null,
  100205. * non- zero value in the visible range. The y axis will show percentage or
  100206. * absolute change depending on whether `compare` is set to `"percent"` or
  100207. * `"value"`. When this is applied to multiple series, it allows comparing
  100208. * the development of the series against each other. Adds a `change` field
  100209. * to every point object.
  100210. */
  100211. compare?: string;
  100212. /**
  100213. * (Highstock) When compare is `percent`, this option dictates whether to
  100214. * use 0 or 100 as the base of comparison.
  100215. */
  100216. compareBase?: (0|100);
  100217. /**
  100218. * (Highstock) Defines if comparison should start from the first point
  100219. * within the visible range or should start from the first point **before**
  100220. * the range.
  100221. *
  100222. * In other words, this flag determines if first point within the visible
  100223. * range will have 0% (`compareStart=true`) or should have been already
  100224. * calculated according to the previous point (`compareStart=false`).
  100225. */
  100226. compareStart?: boolean;
  100227. /**
  100228. * (Highstock) Whether to compare indicator to the main series values or
  100229. * indicator values.
  100230. */
  100231. compareToMain?: boolean;
  100232. /**
  100233. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  100234. * series plot across the extremes.
  100235. */
  100236. connectEnds?: boolean;
  100237. /**
  100238. * (Highcharts, Highstock) Whether to connect a graph line across null
  100239. * points, or render a gap between the two points on either side of the
  100240. * null.
  100241. */
  100242. connectNulls?: boolean;
  100243. /**
  100244. * (Gantt) Override Pathfinder connector options for a series. Requires
  100245. * Highcharts Gantt to be loaded.
  100246. */
  100247. connectors?: SeriesConnectorsOptionsObject;
  100248. /**
  100249. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  100250. * rounded to its nearest pixel in order to render sharp on screen. In some
  100251. * cases, when there are a lot of densely packed columns, this leads to
  100252. * visible difference in column widths or distance between columns. In these
  100253. * cases, setting `crisp` to `false` may look better, even though each
  100254. * column is rendered blurry.
  100255. */
  100256. crisp?: boolean;
  100257. /**
  100258. * (Highcharts, Highstock) When the series contains less points than the
  100259. * crop threshold, all points are drawn, even if the points fall outside the
  100260. * visible plot area at the current zoom. The advantage of drawing all
  100261. * points (including markers and columns), is that animation is performed on
  100262. * updates. On the other hand, when the series contains more points than the
  100263. * crop threshold, the series data is cropped to only contain points that
  100264. * fall within the plot area. The advantage of cropping away invisible
  100265. * points is to increase performance on large series.
  100266. */
  100267. cropThreshold?: number;
  100268. /**
  100269. * (Highstock) You can set the cursor to "pointer" if you have click events
  100270. * attached to the series, to signal to the user that the points and lines
  100271. * can be clicked.
  100272. *
  100273. * In styled mode, the series cursor can be set with the same classes as
  100274. * listed under series.color.
  100275. */
  100276. cursor?: (string|CursorValue);
  100277. /**
  100278. * (Highstock) A reserved subspace to store options and values for
  100279. * customized functionality. Here you can add additional data for your own
  100280. * event callbacks and formatter callbacks.
  100281. */
  100282. custom?: Dictionary<any>;
  100283. /**
  100284. * (Highstock) Name of the dash style to use for the graph, or for some
  100285. * series types the outline of each shape.
  100286. *
  100287. * In styled mode, the stroke dash-array can be set with the same classes as
  100288. * listed under series.color.
  100289. */
  100290. dashStyle?: DashStyleValue;
  100291. /**
  100292. * (Highstock) Data grouping is the concept of sampling the data values into
  100293. * larger blocks in order to ease readability and increase performance of
  100294. * the JavaScript charts. Highcharts Stock by default applies data grouping
  100295. * when the points become closer than a certain pixel value, determined by
  100296. * the `groupPixelWidth` option.
  100297. *
  100298. * If data grouping is applied, the grouping information of grouped points
  100299. * can be read from the Point.dataGroup. If point options other than the
  100300. * data itself are set, for example `name` or `color` or custom properties,
  100301. * the grouping logic doesn't know how to group it. In this case the options
  100302. * of the first point instance are copied over to the group point. This can
  100303. * be altered through a custom `approximation` callback function.
  100304. */
  100305. dataGrouping?: DataGroupingOptionsObject;
  100306. /**
  100307. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  100308. * labels, appearing next to each data point.
  100309. *
  100310. * Since v6.2.0, multiple data labels can be applied to each single point by
  100311. * defining them as an array of configs.
  100312. *
  100313. * In styled mode, the data labels can be styled with the
  100314. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  100315. * (see example).
  100316. */
  100317. dataLabels?: (PlotVwapDataLabelsOptions|Array<PlotVwapDataLabelsOptions>);
  100318. /**
  100319. * (Highcharts, Highstock) Options for the series data sorting.
  100320. */
  100321. dataSorting?: (DataSortingOptionsObject|PlotVwapDataSortingOptions);
  100322. /**
  100323. * (Highstock) A description of the series to add to the screen reader
  100324. * information about the series.
  100325. */
  100326. description?: string;
  100327. /**
  100328. * (Highstock) Enable or disable the mouse tracking for a specific series.
  100329. * This includes point tooltips and click events on graphs and points. For
  100330. * large datasets it improves performance.
  100331. */
  100332. enableMouseTracking?: boolean;
  100333. /**
  100334. * (Highstock) General event handlers for the series items. These event
  100335. * hooks can also be attached to the series at run time using the
  100336. * `Highcharts.addEvent` function.
  100337. */
  100338. events?: SeriesEventsOptionsObject;
  100339. /**
  100340. * (Highstock) Determines whether the series should look for the nearest
  100341. * point in both dimensions or just the x-dimension when hovering the
  100342. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  100343. * series. If the data has duplicate x-values, it is recommended to set this
  100344. * to `'xy'` to allow hovering over all points.
  100345. *
  100346. * Applies only to series types using nearest neighbor search (not direct
  100347. * hover) for tooltip.
  100348. */
  100349. findNearestPointBy?: OptionsFindNearestPointByValue;
  100350. /**
  100351. * (Highstock) Defines when to display a gap in the graph, together with the
  100352. * gapUnit option.
  100353. *
  100354. * In case when `dataGrouping` is enabled, points can be grouped into a
  100355. * larger time span. This can make the grouped points to have a greater
  100356. * distance than the absolute value of `gapSize` property, which will result
  100357. * in disappearing graph completely. To prevent this situation the mentioned
  100358. * distance between grouped points is used instead of previously defined
  100359. * `gapSize`.
  100360. *
  100361. * In practice, this option is most often used to visualize gaps in time
  100362. * series. In a stock chart, intraday data is available for daytime hours,
  100363. * while gaps will appear in nights and weekends.
  100364. */
  100365. gapSize?: number;
  100366. /**
  100367. * (Highstock) Together with gapSize, this option defines where to draw gaps
  100368. * in the graph.
  100369. *
  100370. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  100371. * if the distance between two points is greater than 5 times that of the
  100372. * two closest points, the graph will be broken.
  100373. *
  100374. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  100375. * values, which on a datetime axis is milliseconds. This also applies to
  100376. * the navigator series that inherits gap options from the base series.
  100377. */
  100378. gapUnit?: OptionsGapUnitValue;
  100379. /**
  100380. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  100381. * chart width or only the zoomed area when zooming in on parts of the X
  100382. * axis. By default, the Y axis adjusts to the min and max of the visible
  100383. * data. Cartesian series only.
  100384. */
  100385. getExtremesFromAll?: boolean;
  100386. /**
  100387. * (Highstock) When set to `false` will prevent the series data from being
  100388. * included in any form of data export.
  100389. *
  100390. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  100391. * `includeInCSVExport`.
  100392. */
  100393. includeInDataExport?: boolean;
  100394. /**
  100395. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  100396. * series as possible in a natural way, seeking to avoid other series. The
  100397. * goal of this feature is to make the chart more easily readable, like if a
  100398. * human designer placed the labels in the optimal position.
  100399. *
  100400. * The series labels currently work with series types having a `graph` or an
  100401. * `area`.
  100402. */
  100403. label?: SeriesLabelOptionsObject;
  100404. /**
  100405. * (Highstock) The line marks the last price from all points.
  100406. */
  100407. lastPrice?: SeriesLastPriceOptionsObject;
  100408. /**
  100409. * (Highstock) The line marks the last price from visible range of points.
  100410. */
  100411. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  100412. /**
  100413. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  100414. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  100415. * the ends and bends.
  100416. */
  100417. linecap?: SeriesLinecapValue;
  100418. /**
  100419. * (Highcharts, Highstock) Pixel width of the graph line.
  100420. */
  100421. lineWidth?: number;
  100422. /**
  100423. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  100424. * based on. Required for this indicator.
  100425. */
  100426. linkedTo?: string;
  100427. /**
  100428. * (Highstock) Options for the point markers of line-like series. Properties
  100429. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  100430. * appearance of the markers. Other series types, like column series, don't
  100431. * have markers, but have visual options on the series level instead.
  100432. *
  100433. * In styled mode, the markers can be styled with the `.highcharts-point`,
  100434. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  100435. */
  100436. marker?: PointMarkerOptionsObject;
  100437. /**
  100438. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  100439. * If not set, it will be based on a technical indicator type and default
  100440. * params.
  100441. */
  100442. name?: string;
  100443. /**
  100444. * (Highstock) The color for the parts of the graph or points that are below
  100445. * the threshold. Note that `zones` takes precedence over the negative
  100446. * color. Using `negativeColor` is equivalent to applying a zone with value
  100447. * of 0.
  100448. */
  100449. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  100450. /**
  100451. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  100452. * dataLabels.
  100453. */
  100454. opacity?: number;
  100455. /**
  100456. * (Highstock) Paramters used in calculation of regression series' points.
  100457. */
  100458. params?: PlotVwapParamsOptions;
  100459. /**
  100460. * (Highstock) Properties for each single point.
  100461. */
  100462. point?: PlotSeriesPointOptions;
  100463. /**
  100464. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  100465. * individual series. Overrides the chart wide configuration.
  100466. */
  100467. pointDescriptionFormatter?: Function;
  100468. /**
  100469. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  100470. * true, the checkbox next to the series name in the legend will be checked
  100471. * for a selected series.
  100472. */
  100473. selected?: boolean;
  100474. /**
  100475. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  100476. * the shadow can be an object configuration containing `color`, `offsetX`,
  100477. * `offsetY`, `opacity` and `width`.
  100478. */
  100479. shadow?: (boolean|ShadowOptionsObject);
  100480. /**
  100481. * (Highstock) If true, a checkbox is displayed next to the legend item to
  100482. * allow selecting the series. The state of the checkbox is determined by
  100483. * the `selected` option.
  100484. */
  100485. showCheckbox?: boolean;
  100486. /**
  100487. * (Highstock) Whether to display this particular series or series type in
  100488. * the legend. Standalone series are shown in legend by default, and linked
  100489. * series are not. Since v7.2.0 it is possible to show series that use
  100490. * colorAxis by setting this option to `true`.
  100491. */
  100492. showInLegend?: boolean;
  100493. /**
  100494. * (Highstock) If set to `true`, the accessibility module will skip past the
  100495. * points in this series for keyboard navigation.
  100496. */
  100497. skipKeyboardNavigation?: boolean;
  100498. /**
  100499. * (Highcharts, Highstock) When this is true, the series will not cause the
  100500. * Y axis to cross the zero plane (or threshold option) unless the data
  100501. * actually crosses the plane.
  100502. *
  100503. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  100504. * make the Y axis show negative values according to the `minPadding`
  100505. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  100506. */
  100507. softThreshold?: boolean;
  100508. states?: SeriesStatesOptionsObject;
  100509. /**
  100510. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  100511. * values are `left`, `center` and `right`.
  100512. */
  100513. step?: OptionsStepValue;
  100514. /**
  100515. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  100516. * event on a series isn't triggered until the mouse moves over another
  100517. * series, or out of the plot area. When false, the `mouseOut` event on a
  100518. * series is triggered when the mouse leaves the area around the series'
  100519. * graph or markers. This also implies the tooltip when not shared. When
  100520. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  100521. * be hidden when moving the mouse between series. Defaults to true for line
  100522. * and area type series, but to false for columns, pies etc.
  100523. *
  100524. * **Note:** The boost module will force this option because of technical
  100525. * limitations.
  100526. */
  100527. stickyTracking?: boolean;
  100528. /**
  100529. * (Highcharts, Highstock) The threshold, also called zero level or base
  100530. * level. For line type series this is only used in conjunction with
  100531. * negativeColor.
  100532. */
  100533. threshold?: (number|null);
  100534. /**
  100535. * (Highstock) A configuration object for the tooltip rendering of each
  100536. * single series. Properties are inherited from tooltip, but only the
  100537. * following properties can be defined on a series level.
  100538. */
  100539. tooltip?: SeriesTooltipOptionsObject;
  100540. /**
  100541. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  100542. * is longer than this, only one dimensional arrays of numbers, or two
  100543. * dimensional arrays with x and y values are allowed. Also, only the first
  100544. * point is tested, and the rest are assumed to be the same format. This
  100545. * saves expensive data checking and indexing in long series. Set it to `0`
  100546. * disable.
  100547. *
  100548. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  100549. * two dimensional arrays are allowed.
  100550. */
  100551. turboThreshold?: number;
  100552. /**
  100553. * (Highstock) Set the initial visibility of the series.
  100554. */
  100555. visible?: boolean;
  100556. /**
  100557. * (Highmaps) Define the z index of the series.
  100558. */
  100559. zIndex?: number;
  100560. /**
  100561. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  100562. */
  100563. zoneAxis?: string;
  100564. /**
  100565. * (Highcharts, Highstock) An array defining zones within a series. Zones
  100566. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  100567. * the `zoneAxis` option. The zone definitions have to be in ascending order
  100568. * regarding to the value.
  100569. *
  100570. * In styled mode, the color zones are styled with the
  100571. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  100572. * option (view live demo).
  100573. */
  100574. zones?: Array<SeriesZonesOptionsObject>;
  100575. }
  100576. /**
  100577. * (Highstock) Paramters used in calculation of regression series' points.
  100578. */
  100579. export interface PlotVwapParamsOptions {
  100580. index?: string;
  100581. /**
  100582. * (Highstock) The base period for indicator calculations. This is the
  100583. * number of data points which are taken into account for the indicator
  100584. * calculations.
  100585. */
  100586. period?: number;
  100587. /**
  100588. * (Highstock) The id of volume series which is mandatory. For example using
  100589. * OHLC data, volumeSeriesID='volume' means the indicator will be calculated
  100590. * using OHLC and volume values.
  100591. */
  100592. volumeSeriesID?: string;
  100593. }
  100594. /**
  100595. * (Highcharts) Enable or disable the initial animation when a series is
  100596. * displayed. The animation can also be set as a configuration object. Please
  100597. * note that this option only applies to the initial animation of the series
  100598. * itself. For other animations, see chart.animation and the animation parameter
  100599. * under the API methods. The following properties are supported:
  100600. *
  100601. * - `defer`: The animation delay time in milliseconds.
  100602. *
  100603. * - `duration`: The duration of the animation in milliseconds.
  100604. *
  100605. * - `easing`: Can be a string reference to an easing function set on the `Math`
  100606. * object or a function. See the _Custom easing function_ demo below.
  100607. *
  100608. * Due to poor performance, animation is disabled in old IE browsers for several
  100609. * chart types.
  100610. */
  100611. export interface PlotWaterfallAnimationOptions {
  100612. defer?: number;
  100613. }
  100614. /**
  100615. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100616. * animation when a series is displayed for the `dataLabels`. The animation can
  100617. * also be set as a configuration object. Please note that this option only
  100618. * applies to the initial animation. For other animations, see chart.animation
  100619. * and the animation parameter under the API methods. The following properties
  100620. * are supported:
  100621. *
  100622. * - `defer`: The animation delay time in milliseconds.
  100623. */
  100624. export interface PlotWaterfallDataLabelsAnimationOptions {
  100625. /**
  100626. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  100627. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  100628. * inherits defer time from the series.animation.defer.
  100629. */
  100630. defer?: number;
  100631. }
  100632. /**
  100633. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  100634. * appearing next to each data point.
  100635. *
  100636. * Since v6.2.0, multiple data labels can be applied to each single point by
  100637. * defining them as an array of configs.
  100638. *
  100639. * In styled mode, the data labels can be styled with the
  100640. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  100641. * example).
  100642. */
  100643. export interface PlotWaterfallDataLabelsOptions {
  100644. /**
  100645. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  100646. * compared to the point. If `right`, the right side of the label should be
  100647. * touching the point. For points with an extent, like columns, the
  100648. * alignments also dictates how to align it inside the box, as given with
  100649. * the inside option. Can be one of `left`, `center` or `right`.
  100650. */
  100651. align?: string;
  100652. /**
  100653. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  100654. * overlap. To make the labels less sensitive for overlapping, the
  100655. * dataLabels.padding can be set to 0.
  100656. */
  100657. allowOverlap?: boolean;
  100658. /**
  100659. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  100660. * animation when a series is displayed for the `dataLabels`. The animation
  100661. * can also be set as a configuration object. Please note that this option
  100662. * only applies to the initial animation. For other animations, see
  100663. * chart.animation and the animation parameter under the API methods. The
  100664. * following properties are supported:
  100665. *
  100666. * - `defer`: The animation delay time in milliseconds.
  100667. */
  100668. animation?: (boolean|PlotWaterfallDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  100669. /**
  100670. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  100671. * for the data label.
  100672. */
  100673. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  100674. /**
  100675. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  100676. * label. Defaults to `undefined`.
  100677. */
  100678. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100679. /**
  100680. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  100681. * the data label.
  100682. */
  100683. borderRadius?: number;
  100684. /**
  100685. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  100686. * the data label.
  100687. */
  100688. borderWidth?: number;
  100689. /**
  100690. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  100691. * Particularly in styled mode, this can be used to give each series' or
  100692. * point's data label unique styling. In addition to this option, a default
  100693. * color class name is added so that we can give the labels a contrast text
  100694. * shadow.
  100695. */
  100696. className?: string;
  100697. /**
  100698. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  100699. * labels. Defaults to `undefined`. For certain series types, like column or
  100700. * map, the data labels can be drawn inside the points. In this case the
  100701. * data label will be drawn with maximum contrast by default. Additionally,
  100702. * it will be given a `text-outline` style with the opposite color, to
  100703. * further increase the contrast. This can be overridden by setting the
  100704. * `text-outline` style to `none` in the `dataLabels.style` option.
  100705. */
  100706. color?: (ColorString|GradientColorObject|PatternObject);
  100707. /**
  100708. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  100709. * are outside the plot area. By default, the data label is moved inside the
  100710. * plot area according to the overflow option.
  100711. */
  100712. crop?: boolean;
  100713. /**
  100714. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  100715. * labels until the initial series animation has finished. Setting to
  100716. * `false` renders the data label immediately. If set to `true` inherits the
  100717. * defer time set in plotOptions.series.animation. If set to a number, a
  100718. * defer time is specified in milliseconds.
  100719. */
  100720. defer?: (boolean|number);
  100721. /**
  100722. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  100723. * labels.
  100724. */
  100725. enabled?: boolean;
  100726. /**
  100727. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  100728. * of which data labels to display. The declarative filter is designed for
  100729. * use when callback functions are not available, like when the chart
  100730. * options require a pure JSON structure or for use with graphical editors.
  100731. * For programmatic control, use the `formatter` instead, and return
  100732. * `undefined` to disable a single data label.
  100733. */
  100734. filter?: DataLabelsFilterOptionsObject;
  100735. /**
  100736. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  100737. * label. Available variables are the same as for `formatter`.
  100738. */
  100739. format?: string;
  100740. /**
  100741. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  100742. * format the data label. Note that if a `format` is defined, the format
  100743. * takes precedence and the formatter is ignored.
  100744. */
  100745. formatter?: DataLabelsFormatterCallbackFunction;
  100746. /**
  100747. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  100748. * columns or map areas, whether to align the data label inside the box or
  100749. * to the actual value point. Defaults to `false` in most cases, `true` in
  100750. * stacked columns.
  100751. */
  100752. inside?: boolean;
  100753. /**
  100754. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  100755. * of null. Works analogously to format. `nullFormat` can be applied only to
  100756. * series which support displaying null points.
  100757. */
  100758. nullFormat?: (boolean|string);
  100759. /**
  100760. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  100761. * that defines formatting for points with the value of null. Works
  100762. * analogously to formatter. `nullPointFormatter` can be applied only to
  100763. * series which support displaying null points.
  100764. */
  100765. nullFormatter?: DataLabelsFormatterCallbackFunction;
  100766. /**
  100767. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  100768. * flow outside the plot area. The default is `"justify"`, which aligns them
  100769. * inside the plot area. For columns and bars, this means it will be moved
  100770. * inside the bar. To display data labels outside the plot area, set `crop`
  100771. * to `false` and `overflow` to `"allow"`.
  100772. */
  100773. overflow?: DataLabelsOverflowValue;
  100774. /**
  100775. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  100776. * the `backgroundColor` is set, this is the padding within the box.
  100777. */
  100778. padding?: number;
  100779. /**
  100780. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  100781. * points. If `center` alignment is not possible, it defaults to `right`.
  100782. */
  100783. position?: AlignValue;
  100784. /**
  100785. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  100786. * that due to a more complex structure, backgrounds, borders and padding
  100787. * will be lost on a rotated data label.
  100788. */
  100789. rotation?: number;
  100790. /**
  100791. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  100792. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  100793. * an object configuration containing `color`, `offsetX`, `offsetY`,
  100794. * `opacity` and `width`.
  100795. */
  100796. shadow?: (boolean|ShadowOptionsObject);
  100797. /**
  100798. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  100799. * the border around the label. Symbols are predefined functions on the
  100800. * Renderer object.
  100801. */
  100802. shape?: string;
  100803. /**
  100804. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  100805. * default `color` setting is `"contrast"`, which is a pseudo color that
  100806. * Highcharts picks up and applies the maximum contrast to the underlying
  100807. * point item, for example the bar in a bar chart.
  100808. *
  100809. * The `textOutline` is a pseudo property that applies an outline of the
  100810. * given width with the given color, which by default is the maximum
  100811. * contrast to the text. So a bright text color will result in a black text
  100812. * outline for maximum readability on a mixed background. In some cases,
  100813. * especially with grayscale text, the text outline doesn't work well, in
  100814. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  100815. * is true, the `textOutline` will not be picked up. In this, case, the same
  100816. * effect can be acheived through the `text-shadow` CSS property.
  100817. *
  100818. * For some series types, where each point has an extent, like for example
  100819. * tree maps, the data label may overflow the point. There are two
  100820. * strategies for handling overflow. By default, the text will wrap to
  100821. * multiple lines. The other strategy is to set `style.textOverflow` to
  100822. * `ellipsis`, which will keep the text on one line plus it will break
  100823. * inside long words.
  100824. */
  100825. style?: CSSObject;
  100826. /**
  100827. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  100828. * should follow marker's shape. Border and background are disabled for a
  100829. * label that follows a path.
  100830. *
  100831. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  100832. * to true will disable this option.
  100833. */
  100834. textPath?: DataLabelsTextPathOptionsObject;
  100835. /**
  100836. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  100837. * the labels.
  100838. */
  100839. useHTML?: boolean;
  100840. /**
  100841. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  100842. * label. Can be one of `top`, `middle` or `bottom`. The default value
  100843. * depends on the data, for instance in a column chart, the label is above
  100844. * positive values and below negative values.
  100845. */
  100846. verticalAlign?: string;
  100847. /**
  100848. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  100849. * label relative to the point in pixels.
  100850. */
  100851. x?: number;
  100852. /**
  100853. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  100854. * label relative to the point in pixels.
  100855. */
  100856. y?: number;
  100857. /**
  100858. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  100859. * The default Z index puts it above the series. Use a Z index of 2 to
  100860. * display it behind the series.
  100861. */
  100862. z?: number;
  100863. }
  100864. /**
  100865. * (Highcharts, Highstock) Options for the series data sorting.
  100866. */
  100867. export interface PlotWaterfallDataSortingOptions {
  100868. /**
  100869. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  100870. * Use xAxis.reversed to change the sorting order.
  100871. */
  100872. enabled?: boolean;
  100873. /**
  100874. * (Highcharts, Highstock) Whether to allow matching points by name in an
  100875. * update. If this option is disabled, points will be matched by order.
  100876. */
  100877. matchByName?: boolean;
  100878. /**
  100879. * (Highcharts, Highstock) Determines what data value should be used to sort
  100880. * by.
  100881. */
  100882. sortKey?: string;
  100883. }
  100884. /**
  100885. * (Highcharts) Style options for the guide box. The guide box has one state by
  100886. * default, the `default` state.
  100887. */
  100888. export interface PlotWaterfallDragDropGuideBoxOptions {
  100889. /**
  100890. * (Highcharts) Style options for the guide box default state.
  100891. */
  100892. default?: DragDropGuideBoxOptionsObject;
  100893. }
  100894. /**
  100895. * (Highcharts) A waterfall chart displays sequentially introduced positive or
  100896. * negative values in cumulative columns.
  100897. *
  100898. * In TypeScript the type option must always be set.
  100899. *
  100900. * Configuration options for the series are given in three levels:
  100901. *
  100902. * 1. Options for all series in a chart are defined in the plotOptions.series
  100903. * object.
  100904. *
  100905. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  100906. *
  100907. * 3. Options for one single series are given in the series instance array. (see
  100908. * online documentation for example)
  100909. */
  100910. export interface PlotWaterfallOptions {
  100911. /**
  100912. * (Highcharts) Accessibility options for a series.
  100913. */
  100914. accessibility?: SeriesAccessibilityOptionsObject;
  100915. /**
  100916. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  100917. * rendered. If `true`, areas which don't correspond to a data point, are
  100918. * rendered as `null` points. If `false`, those areas are skipped.
  100919. */
  100920. allAreas?: boolean;
  100921. /**
  100922. * (Highcharts) Allow this series' points to be selected by clicking on the
  100923. * graphic (columns, point markers, pie slices, map areas etc).
  100924. *
  100925. * The selected points can be handled by point select and unselect events,
  100926. * or collectively by the getSelectedPoints function.
  100927. *
  100928. * And alternative way of selecting points is through dragging.
  100929. */
  100930. allowPointSelect?: boolean;
  100931. /**
  100932. * (Highcharts) Enable or disable the initial animation when a series is
  100933. * displayed. The animation can also be set as a configuration object.
  100934. * Please note that this option only applies to the initial animation of the
  100935. * series itself. For other animations, see chart.animation and the
  100936. * animation parameter under the API methods. The following properties are
  100937. * supported:
  100938. *
  100939. * - `defer`: The animation delay time in milliseconds.
  100940. *
  100941. * - `duration`: The duration of the animation in milliseconds.
  100942. *
  100943. * - `easing`: Can be a string reference to an easing function set on the
  100944. * `Math` object or a function. See the _Custom easing function_ demo below.
  100945. *
  100946. * Due to poor performance, animation is disabled in old IE browsers for
  100947. * several chart types.
  100948. */
  100949. animation?: (boolean|PlotWaterfallAnimationOptions|Partial<AnimationOptionsObject>);
  100950. /**
  100951. * (Highcharts) For some series, there is a limit that shuts down initial
  100952. * animation by default when the total number of points in the chart is too
  100953. * high. For example, for a column chart and its derivatives, animation does
  100954. * not run if there is more than 250 points totally. To disable this cap,
  100955. * set `animationLimit` to `Infinity`.
  100956. */
  100957. animationLimit?: number;
  100958. /**
  100959. * (Highcharts) The color of the border of each waterfall column.
  100960. *
  100961. * In styled mode, the border stroke can be set with the `.highcharts-point`
  100962. * class.
  100963. */
  100964. borderColor?: (ColorString|GradientColorObject|PatternObject);
  100965. /**
  100966. * (Highcharts, Highstock, Gantt) The corner radius of the border
  100967. * surrounding each column or bar.
  100968. */
  100969. borderRadius?: number;
  100970. /**
  100971. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  100972. * column or bar. Defaults to `1` when there is room for a border, but to
  100973. * `0` when the columns are so dense that a border would cover the next
  100974. * column.
  100975. *
  100976. * In styled mode, the stroke width can be set with the `.highcharts-point`
  100977. * rule.
  100978. */
  100979. borderWidth?: number;
  100980. /**
  100981. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  100982. * the category, ignoring null or missing points. When `false`, space will
  100983. * be reserved for null or missing points.
  100984. */
  100985. centerInCategory?: boolean;
  100986. /**
  100987. * (Highcharts) An additional class name to apply to the series' graphical
  100988. * elements. This option does not replace default class names of the
  100989. * graphical element.
  100990. */
  100991. className?: string;
  100992. /**
  100993. * (Highcharts) Disable this option to allow series rendering in the whole
  100994. * plotting area.
  100995. *
  100996. * **Note:** Clipping should be always enabled when chart.zoomType is set
  100997. */
  100998. clip?: boolean;
  100999. /**
  101000. * (Highcharts) The main color of the series. In line type series it applies
  101001. * to the line and the point markers unless otherwise specified. In bar type
  101002. * series it applies to the bars unless a color is specified per point. The
  101003. * default value is pulled from the `options.colors` array.
  101004. *
  101005. * In styled mode, the color can be defined by the colorIndex option. Also,
  101006. * the series color can be set with the `.highcharts-series`,
  101007. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  101008. * `.highcharts-series-{n}` class, or individual classes given by the
  101009. * `className` option.
  101010. */
  101011. color?: (ColorString|GradientColorObject|PatternObject);
  101012. /**
  101013. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  101014. * this number defines which colorAxis the particular series is connected
  101015. * to. It refers to either the axis id or the index of the axis in the
  101016. * colorAxis array, with 0 being the first. Set this option to false to
  101017. * prevent a series from connecting to the default color axis.
  101018. *
  101019. * Since v7.2.0 the option can also be an axis id or an axis index instead
  101020. * of a boolean flag.
  101021. */
  101022. colorAxis?: (boolean|number|string);
  101023. /**
  101024. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  101025. * from the global colors or series-specific plotOptions.column.colors
  101026. * collections, this option determines whether the chart should receive one
  101027. * color per series or one color per point.
  101028. *
  101029. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  101030. * and instead this option gives the points individual color class names on
  101031. * the form `highcharts-color-{n}`.
  101032. */
  101033. colorByPoint?: boolean;
  101034. /**
  101035. * (Highcharts) Styled mode only. A specific color index to use for the
  101036. * series, so its graphic representations are given the class name
  101037. * `highcharts-color-{n}`.
  101038. */
  101039. colorIndex?: number;
  101040. /**
  101041. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  101042. * used to calculate point color if `colorAxis` is used. Requires to set
  101043. * `min` and `max` if some custom point property is used or if approximation
  101044. * for data grouping is set to `'sum'`.
  101045. */
  101046. colorKey?: string;
  101047. /**
  101048. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  101049. * color set to apply instead of the global colors when colorByPoint is
  101050. * true.
  101051. */
  101052. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  101053. /**
  101054. * (Highstock) Compare the values of the series against the first non-null,
  101055. * non- zero value in the visible range. The y axis will show percentage or
  101056. * absolute change depending on whether `compare` is set to `"percent"` or
  101057. * `"value"`. When this is applied to multiple series, it allows comparing
  101058. * the development of the series against each other. Adds a `change` field
  101059. * to every point object.
  101060. */
  101061. compare?: string;
  101062. /**
  101063. * (Highstock) When compare is `percent`, this option dictates whether to
  101064. * use 0 or 100 as the base of comparison.
  101065. */
  101066. compareBase?: (0|100);
  101067. /**
  101068. * (Highstock) Defines if comparison should start from the first point
  101069. * within the visible range or should start from the first point **before**
  101070. * the range.
  101071. *
  101072. * In other words, this flag determines if first point within the visible
  101073. * range will have 0% (`compareStart=true`) or should have been already
  101074. * calculated according to the previous point (`compareStart=false`).
  101075. */
  101076. compareStart?: boolean;
  101077. /**
  101078. * (Gantt) Override Pathfinder connector options for a series. Requires
  101079. * Highcharts Gantt to be loaded.
  101080. */
  101081. connectors?: SeriesConnectorsOptionsObject;
  101082. /**
  101083. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  101084. * rounded to its nearest pixel in order to render sharp on screen. In some
  101085. * cases, when there are a lot of densely packed columns, this leads to
  101086. * visible difference in column widths or distance between columns. In these
  101087. * cases, setting `crisp` to `false` may look better, even though each
  101088. * column is rendered blurry.
  101089. */
  101090. crisp?: boolean;
  101091. /**
  101092. * (Highcharts, Highstock, Gantt) When the series contains less points than
  101093. * the crop threshold, all points are drawn, event if the points fall
  101094. * outside the visible plot area at the current zoom. The advantage of
  101095. * drawing all points (including markers and columns), is that animation is
  101096. * performed on updates. On the other hand, when the series contains more
  101097. * points than the crop threshold, the series data is cropped to only
  101098. * contain points that fall within the plot area. The advantage of cropping
  101099. * away invisible points is to increase performance on large series.
  101100. */
  101101. cropThreshold?: number;
  101102. /**
  101103. * (Highcharts) You can set the cursor to "pointer" if you have click events
  101104. * attached to the series, to signal to the user that the points and lines
  101105. * can be clicked.
  101106. *
  101107. * In styled mode, the series cursor can be set with the same classes as
  101108. * listed under series.color.
  101109. */
  101110. cursor?: (string|CursorValue);
  101111. /**
  101112. * (Highcharts) A reserved subspace to store options and values for
  101113. * customized functionality. Here you can add additional data for your own
  101114. * event callbacks and formatter callbacks.
  101115. */
  101116. custom?: Dictionary<any>;
  101117. /**
  101118. * (Highcharts) A name for the dash style to use for the line connecting the
  101119. * columns of the waterfall series. Possible values: Dash, DashDot, Dot,
  101120. * LongDash, LongDashDot, LongDashDotDot, ShortDash, ShortDashDot,
  101121. * ShortDashDotDot, ShortDot, Solid
  101122. *
  101123. * In styled mode, the stroke dash-array can be set with the
  101124. * `.highcharts-graph` class.
  101125. */
  101126. dashStyle?: DashStyleValue;
  101127. /**
  101128. * (Highstock) Data grouping is the concept of sampling the data values into
  101129. * larger blocks in order to ease readability and increase performance of
  101130. * the JavaScript charts. Highcharts Stock by default applies data grouping
  101131. * when the points become closer than a certain pixel value, determined by
  101132. * the `groupPixelWidth` option.
  101133. *
  101134. * If data grouping is applied, the grouping information of grouped points
  101135. * can be read from the Point.dataGroup. If point options other than the
  101136. * data itself are set, for example `name` or `color` or custom properties,
  101137. * the grouping logic doesn't know how to group it. In this case the options
  101138. * of the first point instance are copied over to the group point. This can
  101139. * be altered through a custom `approximation` callback function.
  101140. */
  101141. dataGrouping?: DataGroupingOptionsObject;
  101142. /**
  101143. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  101144. * labels, appearing next to each data point.
  101145. *
  101146. * Since v6.2.0, multiple data labels can be applied to each single point by
  101147. * defining them as an array of configs.
  101148. *
  101149. * In styled mode, the data labels can be styled with the
  101150. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  101151. * (see example).
  101152. */
  101153. dataLabels?: (PlotWaterfallDataLabelsOptions|Array<PlotWaterfallDataLabelsOptions>);
  101154. /**
  101155. * (Highcharts, Highstock) Options for the series data sorting.
  101156. */
  101157. dataSorting?: (DataSortingOptionsObject|PlotWaterfallDataSortingOptions);
  101158. /**
  101159. * (Highcharts) Depth of the columns in a 3D column chart.
  101160. */
  101161. depth?: number;
  101162. /**
  101163. * (Highcharts) A description of the series to add to the screen reader
  101164. * information about the series.
  101165. */
  101166. description?: string;
  101167. /**
  101168. * (Highcharts) The draggable-points module allows points to be moved around
  101169. * or modified in the chart. In addition to the options mentioned under the
  101170. * `dragDrop` API structure, the module fires three events, point.dragStart,
  101171. * point.drag and point.drop.
  101172. */
  101173. dragDrop?: SeriesDragDropOptionsObject;
  101174. /**
  101175. * (Highcharts) 3D columns only. The color of the edges. Similar to
  101176. * `borderColor`, except it defaults to the same color as the column.
  101177. */
  101178. edgeColor?: ColorString;
  101179. /**
  101180. * (Highcharts) 3D columns only. The width of the colored edges.
  101181. */
  101182. edgeWidth?: number;
  101183. /**
  101184. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  101185. * This includes point tooltips and click events on graphs and points. For
  101186. * large datasets it improves performance.
  101187. */
  101188. enableMouseTracking?: boolean;
  101189. /**
  101190. * (Highcharts) General event handlers for the series items. These event
  101191. * hooks can also be attached to the series at run time using the
  101192. * `Highcharts.addEvent` function.
  101193. */
  101194. events?: SeriesEventsOptionsObject;
  101195. /**
  101196. * (Highcharts) Determines whether the series should look for the nearest
  101197. * point in both dimensions or just the x-dimension when hovering the
  101198. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  101199. * series. If the data has duplicate x-values, it is recommended to set this
  101200. * to `'xy'` to allow hovering over all points.
  101201. *
  101202. * Applies only to series types using nearest neighbor search (not direct
  101203. * hover) for tooltip.
  101204. */
  101205. findNearestPointBy?: OptionsFindNearestPointByValue;
  101206. /**
  101207. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  101208. * chart width or only the zoomed area when zooming in on parts of the X
  101209. * axis. By default, the Y axis adjusts to the min and max of the visible
  101210. * data. Cartesian series only.
  101211. */
  101212. getExtremesFromAll?: boolean;
  101213. /**
  101214. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  101215. * let them render independent of each other. Non-grouped columns will be
  101216. * laid out individually and overlap each other.
  101217. */
  101218. grouping?: boolean;
  101219. /**
  101220. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  101221. * axis units.
  101222. */
  101223. groupPadding?: number;
  101224. /**
  101225. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  101226. */
  101227. groupZPadding?: number;
  101228. /**
  101229. * (Highcharts) When set to `false` will prevent the series data from being
  101230. * included in any form of data export.
  101231. *
  101232. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  101233. * `includeInCSVExport`.
  101234. */
  101235. includeInDataExport?: boolean;
  101236. /**
  101237. * (Highmaps) What property to join the `mapData` to the value data. For
  101238. * example, if joinBy is "code", the mapData items with a specific code is
  101239. * merged into the data with the same code. For maps loaded from GeoJSON,
  101240. * the keys may be held in each point's `properties` object.
  101241. *
  101242. * The joinBy option can also be an array of two values, where the first
  101243. * points to a key in the `mapData`, and the second points to another key in
  101244. * the `data`.
  101245. *
  101246. * When joinBy is `null`, the map items are joined by their position in the
  101247. * array, which performs much better in maps with many data points. This is
  101248. * the recommended option if you are printing more than a thousand data
  101249. * points and have a backend that can preprocess the data into a parallel
  101250. * array of the mapData.
  101251. */
  101252. joinBy?: (string|Array<string>);
  101253. /**
  101254. * (Highcharts) An array specifying which option maps to which key in the
  101255. * data point array. This makes it convenient to work with unstructured data
  101256. * arrays from different sources.
  101257. */
  101258. keys?: Array<string>;
  101259. /**
  101260. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  101261. * series as possible in a natural way, seeking to avoid other series. The
  101262. * goal of this feature is to make the chart more easily readable, like if a
  101263. * human designer placed the labels in the optimal position.
  101264. *
  101265. * The series labels currently work with series types having a `graph` or an
  101266. * `area`.
  101267. */
  101268. label?: SeriesLabelOptionsObject;
  101269. /**
  101270. * (Highstock) The line marks the last price from all points.
  101271. */
  101272. lastPrice?: SeriesLastPriceOptionsObject;
  101273. /**
  101274. * (Highstock) The line marks the last price from visible range of points.
  101275. */
  101276. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  101277. /**
  101278. * (Highcharts) The color of the line that connects columns in a waterfall
  101279. * series.
  101280. *
  101281. * In styled mode, the stroke can be set with the `.highcharts-graph` class.
  101282. */
  101283. lineColor?: (ColorString|GradientColorObject|PatternObject);
  101284. /**
  101285. * (Highcharts) The width of the line connecting waterfall columns.
  101286. */
  101287. lineWidth?: number;
  101288. /**
  101289. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  101290. * Additionally, the value can be ":previous" to link to the previous
  101291. * series. When two series are linked, only the first one appears in the
  101292. * legend. Toggling the visibility of this also toggles the linked series.
  101293. *
  101294. * If master series uses data sorting and linked series does not have its
  101295. * own sorting definition, the linked series will be sorted in the same
  101296. * order as the master one.
  101297. */
  101298. linkedTo?: string;
  101299. /**
  101300. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  101301. * column, translated to the height of a bar in a bar chart. This prevents
  101302. * the columns from becoming too wide when there is a small number of points
  101303. * in the chart.
  101304. */
  101305. maxPointWidth?: number;
  101306. /**
  101307. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  101308. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  101309. * to zero) point, set the minimal point length to a pixel value like 3\. In
  101310. * stacked column charts, minPointLength might not be respected for tightly
  101311. * packed values.
  101312. */
  101313. minPointLength?: number;
  101314. /**
  101315. * (Highstock) Options for the corresponding navigator series if
  101316. * `showInNavigator` is `true` for this series. Available options are the
  101317. * same as any series, documented at plotOptions and series.
  101318. *
  101319. * These options are merged with options in navigator.series, and will take
  101320. * precedence if the same option is defined both places.
  101321. */
  101322. navigatorOptions?: PlotSeriesOptions;
  101323. /**
  101324. * (Highcharts) The color for the parts of the graph or points that are
  101325. * below the threshold. Note that `zones` takes precedence over the negative
  101326. * color. Using `negativeColor` is equivalent to applying a zone with value
  101327. * of 0.
  101328. */
  101329. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  101330. /**
  101331. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  101332. * dataLabels.
  101333. */
  101334. opacity?: number;
  101335. /**
  101336. * (Highcharts) Properties for each single point.
  101337. */
  101338. point?: PlotSeriesPointOptions;
  101339. /**
  101340. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  101341. * an individual series. Overrides the chart wide configuration.
  101342. */
  101343. pointDescriptionFormatter?: Function;
  101344. /**
  101345. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  101346. * a series, `pointInterval` defines the interval of the x values. For
  101347. * example, if a series contains one value every decade starting from year
  101348. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  101349. * `pointInterval` is set in milliseconds.
  101350. *
  101351. * It can be also be combined with `pointIntervalUnit` to draw irregular
  101352. * time intervals.
  101353. *
  101354. * Please note that this options applies to the _series data_, not the
  101355. * interval of the axis ticks, which is independent.
  101356. */
  101357. pointInterval?: number;
  101358. /**
  101359. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  101360. * setting the pointInterval to irregular time units, `day`, `month` and
  101361. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  101362. * also takes the DST crossover into consideration when dealing with local
  101363. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  101364. * months, 10 years etc.
  101365. *
  101366. * Please note that this options applies to the _series data_, not the
  101367. * interval of the axis ticks, which is independent.
  101368. */
  101369. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  101370. /**
  101371. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  101372. * axis units.
  101373. */
  101374. pointPadding?: number;
  101375. /**
  101376. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  101377. * `number`.
  101378. *
  101379. * In a column chart, when pointPlacement is `"on"`, the point will not
  101380. * create any padding of the X axis. In a polar column chart this means that
  101381. * the first column points directly north. If the pointPlacement is
  101382. * `"between"`, the columns will be laid out between ticks. This is useful
  101383. * for example for visualising an amount between two points in time or in a
  101384. * certain sector of a polar chart.
  101385. *
  101386. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  101387. * is on the axis value, -0.5 is between this value and the previous, and
  101388. * 0.5 is between this value and the next. Unlike the textual options,
  101389. * numeric point placement options won't affect axis padding.
  101390. *
  101391. * Note that pointPlacement needs a pointRange to work. For column series
  101392. * this is computed, but for line-type series it needs to be set.
  101393. *
  101394. * For the `xrange` series type and gantt charts, if the Y axis is a
  101395. * category axis, the `pointPlacement` applies to the Y axis rather than the
  101396. * (typically datetime) X axis.
  101397. *
  101398. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  101399. */
  101400. pointPlacement?: (number|string);
  101401. /**
  101402. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  101403. * for. This determines the width of the column. On a categorized axis, the
  101404. * range will be 1 by default (one category unit). On linear and datetime
  101405. * axes, the range will be computed as the distance between the two closest
  101406. * data points.
  101407. *
  101408. * The default `null` means it is computed automatically, but this option
  101409. * can be used to override the automatic value.
  101410. *
  101411. * This option is set by default to 1 if data sorting is enabled.
  101412. */
  101413. pointRange?: (number|null);
  101414. /**
  101415. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  101416. * a series, pointStart defines on what value to start. For example, if a
  101417. * series contains one yearly value starting from 1945, set pointStart to
  101418. * 1945.
  101419. */
  101420. pointStart?: number;
  101421. /**
  101422. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  101423. * each column or bar point. When set to `undefined`, the width is
  101424. * calculated from the `pointPadding` and `groupPadding`. The width effects
  101425. * the dimension that is not based on the point value. For column series it
  101426. * is the hoizontal length and for bar series it is the vertical length.
  101427. */
  101428. pointWidth?: number;
  101429. /**
  101430. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  101431. * true, the checkbox next to the series name in the legend will be checked
  101432. * for a selected series.
  101433. */
  101434. selected?: boolean;
  101435. /**
  101436. * (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
  101437. * the shadow can be an object configuration containing `color`, `offsetX`,
  101438. * `offsetY`, `opacity` and `width`.
  101439. */
  101440. shadow?: (boolean|ShadowOptionsObject);
  101441. /**
  101442. * (Highcharts) If true, a checkbox is displayed next to the legend item to
  101443. * allow selecting the series. The state of the checkbox is determined by
  101444. * the `selected` option.
  101445. */
  101446. showCheckbox?: boolean;
  101447. /**
  101448. * (Highcharts) Whether to display this particular series or series type in
  101449. * the legend. Standalone series are shown in legend by default, and linked
  101450. * series are not. Since v7.2.0 it is possible to show series that use
  101451. * colorAxis by setting this option to `true`.
  101452. */
  101453. showInLegend?: boolean;
  101454. /**
  101455. * (Highstock) Whether or not to show the series in the navigator. Takes
  101456. * precedence over navigator.baseSeries if defined.
  101457. */
  101458. showInNavigator?: boolean;
  101459. /**
  101460. * (Highcharts) If set to `true`, the accessibility module will skip past
  101461. * the points in this series for keyboard navigation.
  101462. */
  101463. skipKeyboardNavigation?: boolean;
  101464. /**
  101465. * (Highcharts, Highstock) When this is true, the series will not cause the
  101466. * Y axis to cross the zero plane (or threshold option) unless the data
  101467. * actually crosses the plane.
  101468. *
  101469. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  101470. * make the Y axis show negative values according to the `minPadding`
  101471. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  101472. */
  101473. softThreshold?: boolean;
  101474. /**
  101475. * (Highcharts, Highstock) Whether to stack the values of each series on top
  101476. * of each other. Possible values are `undefined` to disable, `"normal"` to
  101477. * stack by value or `"percent"`.
  101478. *
  101479. * When stacking is enabled, data must be sorted in ascending X order.
  101480. *
  101481. * Some stacking options are related to specific series types. In the
  101482. * streamgraph series type, the stacking option is set to `"stream"`. The
  101483. * second one is `"overlap"`, which only applies to waterfall series.
  101484. */
  101485. stacking?: OptionsStackingValue;
  101486. states?: SeriesStatesOptionsObject;
  101487. /**
  101488. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  101489. * event on a series isn't triggered until the mouse moves over another
  101490. * series, or out of the plot area. When false, the `mouseOut` event on a
  101491. * series is triggered when the mouse leaves the area around the series'
  101492. * graph or markers. This also implies the tooltip when not shared. When
  101493. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  101494. * be hidden when moving the mouse between series. Defaults to true for line
  101495. * and area type series, but to false for columns, pies etc.
  101496. *
  101497. * **Note:** The boost module will force this option because of technical
  101498. * limitations.
  101499. */
  101500. stickyTracking?: boolean;
  101501. /**
  101502. * (Highcharts) The Y axis value to serve as the base for the columns, for
  101503. * distinguishing between values above and below a threshold. If `null`, the
  101504. * columns extend from the padding Y axis minimum.
  101505. */
  101506. threshold?: (number|null);
  101507. /**
  101508. * (Highcharts) A configuration object for the tooltip rendering of each
  101509. * single series. Properties are inherited from tooltip, but only the
  101510. * following properties can be defined on a series level.
  101511. */
  101512. tooltip?: SeriesTooltipOptionsObject;
  101513. /**
  101514. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  101515. * is longer than this, only one dimensional arrays of numbers, or two
  101516. * dimensional arrays with x and y values are allowed. Also, only the first
  101517. * point is tested, and the rest are assumed to be the same format. This
  101518. * saves expensive data checking and indexing in long series. Set it to `0`
  101519. * disable.
  101520. *
  101521. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  101522. * two dimensional arrays are allowed.
  101523. */
  101524. turboThreshold?: number;
  101525. /**
  101526. * (Highcharts) The color used specifically for positive point columns. When
  101527. * not specified, the general series color is used.
  101528. *
  101529. * In styled mode, the waterfall colors can be set with the
  101530. * `.highcharts-point-negative`, `.highcharts-sum` and
  101531. * `.highcharts-intermediate-sum` classes.
  101532. */
  101533. upColor?: (ColorString|GradientColorObject|PatternObject);
  101534. /**
  101535. * (Highcharts) Set the initial visibility of the series.
  101536. */
  101537. visible?: boolean;
  101538. /**
  101539. * (Highmaps) Define the z index of the series.
  101540. */
  101541. zIndex?: number;
  101542. /**
  101543. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  101544. */
  101545. zoneAxis?: string;
  101546. /**
  101547. * (Highcharts, Highstock) An array defining zones within a series. Zones
  101548. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  101549. * the `zoneAxis` option. The zone definitions have to be in ascending order
  101550. * regarding to the value.
  101551. *
  101552. * In styled mode, the color zones are styled with the
  101553. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  101554. * option (view live demo).
  101555. */
  101556. zones?: Array<SeriesZonesOptionsObject>;
  101557. }
  101558. /**
  101559. * (Highstock) Enable or disable the initial animation when a series is
  101560. * displayed. The animation can also be set as a configuration object. Please
  101561. * note that this option only applies to the initial animation of the series
  101562. * itself. For other animations, see chart.animation and the animation parameter
  101563. * under the API methods. The following properties are supported:
  101564. *
  101565. * - `defer`: The animation delay time in milliseconds.
  101566. *
  101567. * - `duration`: The duration of the animation in milliseconds.
  101568. *
  101569. * - `easing`: Can be a string reference to an easing function set on the `Math`
  101570. * object or a function. See the _Custom easing function_ demo below.
  101571. *
  101572. * Due to poor performance, animation is disabled in old IE browsers for several
  101573. * chart types.
  101574. */
  101575. export interface PlotWilliamsrAnimationOptions {
  101576. defer?: number;
  101577. }
  101578. /**
  101579. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  101580. * animation when a series is displayed for the `dataLabels`. The animation can
  101581. * also be set as a configuration object. Please note that this option only
  101582. * applies to the initial animation. For other animations, see chart.animation
  101583. * and the animation parameter under the API methods. The following properties
  101584. * are supported:
  101585. *
  101586. * - `defer`: The animation delay time in milliseconds.
  101587. */
  101588. export interface PlotWilliamsrDataLabelsAnimationOptions {
  101589. /**
  101590. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  101591. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  101592. * inherits defer time from the series.animation.defer.
  101593. */
  101594. defer?: number;
  101595. }
  101596. /**
  101597. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  101598. * appearing next to each data point.
  101599. *
  101600. * Since v6.2.0, multiple data labels can be applied to each single point by
  101601. * defining them as an array of configs.
  101602. *
  101603. * In styled mode, the data labels can be styled with the
  101604. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  101605. * example).
  101606. */
  101607. export interface PlotWilliamsrDataLabelsOptions {
  101608. /**
  101609. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  101610. * compared to the point. If `right`, the right side of the label should be
  101611. * touching the point. For points with an extent, like columns, the
  101612. * alignments also dictates how to align it inside the box, as given with
  101613. * the inside option. Can be one of `left`, `center` or `right`.
  101614. */
  101615. align?: (AlignValue|null);
  101616. /**
  101617. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  101618. * overlap. To make the labels less sensitive for overlapping, the
  101619. * dataLabels.padding can be set to 0.
  101620. */
  101621. allowOverlap?: boolean;
  101622. /**
  101623. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  101624. * animation when a series is displayed for the `dataLabels`. The animation
  101625. * can also be set as a configuration object. Please note that this option
  101626. * only applies to the initial animation. For other animations, see
  101627. * chart.animation and the animation parameter under the API methods. The
  101628. * following properties are supported:
  101629. *
  101630. * - `defer`: The animation delay time in milliseconds.
  101631. */
  101632. animation?: (boolean|PlotWilliamsrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  101633. /**
  101634. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  101635. * for the data label.
  101636. */
  101637. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  101638. /**
  101639. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  101640. * label. Defaults to `undefined`.
  101641. */
  101642. borderColor?: (ColorString|GradientColorObject|PatternObject);
  101643. /**
  101644. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  101645. * the data label.
  101646. */
  101647. borderRadius?: number;
  101648. /**
  101649. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  101650. * the data label.
  101651. */
  101652. borderWidth?: number;
  101653. /**
  101654. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  101655. * Particularly in styled mode, this can be used to give each series' or
  101656. * point's data label unique styling. In addition to this option, a default
  101657. * color class name is added so that we can give the labels a contrast text
  101658. * shadow.
  101659. */
  101660. className?: string;
  101661. /**
  101662. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  101663. * labels. Defaults to `undefined`. For certain series types, like column or
  101664. * map, the data labels can be drawn inside the points. In this case the
  101665. * data label will be drawn with maximum contrast by default. Additionally,
  101666. * it will be given a `text-outline` style with the opposite color, to
  101667. * further increase the contrast. This can be overridden by setting the
  101668. * `text-outline` style to `none` in the `dataLabels.style` option.
  101669. */
  101670. color?: (ColorString|GradientColorObject|PatternObject);
  101671. /**
  101672. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  101673. * are outside the plot area. By default, the data label is moved inside the
  101674. * plot area according to the overflow option.
  101675. */
  101676. crop?: boolean;
  101677. /**
  101678. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  101679. * labels until the initial series animation has finished. Setting to
  101680. * `false` renders the data label immediately. If set to `true` inherits the
  101681. * defer time set in plotOptions.series.animation. If set to a number, a
  101682. * defer time is specified in milliseconds.
  101683. */
  101684. defer?: (boolean|number);
  101685. /**
  101686. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  101687. * labels.
  101688. */
  101689. enabled?: boolean;
  101690. /**
  101691. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  101692. * of which data labels to display. The declarative filter is designed for
  101693. * use when callback functions are not available, like when the chart
  101694. * options require a pure JSON structure or for use with graphical editors.
  101695. * For programmatic control, use the `formatter` instead, and return
  101696. * `undefined` to disable a single data label.
  101697. */
  101698. filter?: DataLabelsFilterOptionsObject;
  101699. /**
  101700. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  101701. * label. Available variables are the same as for `formatter`.
  101702. */
  101703. format?: string;
  101704. /**
  101705. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  101706. * format the data label. Note that if a `format` is defined, the format
  101707. * takes precedence and the formatter is ignored.
  101708. */
  101709. formatter?: DataLabelsFormatterCallbackFunction;
  101710. /**
  101711. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  101712. * columns or map areas, whether to align the data label inside the box or
  101713. * to the actual value point. Defaults to `false` in most cases, `true` in
  101714. * stacked columns.
  101715. */
  101716. inside?: boolean;
  101717. /**
  101718. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  101719. * of null. Works analogously to format. `nullFormat` can be applied only to
  101720. * series which support displaying null points.
  101721. */
  101722. nullFormat?: (boolean|string);
  101723. /**
  101724. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  101725. * that defines formatting for points with the value of null. Works
  101726. * analogously to formatter. `nullPointFormatter` can be applied only to
  101727. * series which support displaying null points.
  101728. */
  101729. nullFormatter?: DataLabelsFormatterCallbackFunction;
  101730. /**
  101731. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  101732. * flow outside the plot area. The default is `"justify"`, which aligns them
  101733. * inside the plot area. For columns and bars, this means it will be moved
  101734. * inside the bar. To display data labels outside the plot area, set `crop`
  101735. * to `false` and `overflow` to `"allow"`.
  101736. */
  101737. overflow?: DataLabelsOverflowValue;
  101738. /**
  101739. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  101740. * the `backgroundColor` is set, this is the padding within the box.
  101741. */
  101742. padding?: number;
  101743. /**
  101744. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  101745. * points. If `center` alignment is not possible, it defaults to `right`.
  101746. */
  101747. position?: AlignValue;
  101748. /**
  101749. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  101750. * that due to a more complex structure, backgrounds, borders and padding
  101751. * will be lost on a rotated data label.
  101752. */
  101753. rotation?: number;
  101754. /**
  101755. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  101756. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  101757. * an object configuration containing `color`, `offsetX`, `offsetY`,
  101758. * `opacity` and `width`.
  101759. */
  101760. shadow?: (boolean|ShadowOptionsObject);
  101761. /**
  101762. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  101763. * the border around the label. Symbols are predefined functions on the
  101764. * Renderer object.
  101765. */
  101766. shape?: string;
  101767. /**
  101768. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  101769. * default `color` setting is `"contrast"`, which is a pseudo color that
  101770. * Highcharts picks up and applies the maximum contrast to the underlying
  101771. * point item, for example the bar in a bar chart.
  101772. *
  101773. * The `textOutline` is a pseudo property that applies an outline of the
  101774. * given width with the given color, which by default is the maximum
  101775. * contrast to the text. So a bright text color will result in a black text
  101776. * outline for maximum readability on a mixed background. In some cases,
  101777. * especially with grayscale text, the text outline doesn't work well, in
  101778. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  101779. * is true, the `textOutline` will not be picked up. In this, case, the same
  101780. * effect can be acheived through the `text-shadow` CSS property.
  101781. *
  101782. * For some series types, where each point has an extent, like for example
  101783. * tree maps, the data label may overflow the point. There are two
  101784. * strategies for handling overflow. By default, the text will wrap to
  101785. * multiple lines. The other strategy is to set `style.textOverflow` to
  101786. * `ellipsis`, which will keep the text on one line plus it will break
  101787. * inside long words.
  101788. */
  101789. style?: CSSObject;
  101790. /**
  101791. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  101792. * should follow marker's shape. Border and background are disabled for a
  101793. * label that follows a path.
  101794. *
  101795. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  101796. * to true will disable this option.
  101797. */
  101798. textPath?: DataLabelsTextPathOptionsObject;
  101799. /**
  101800. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  101801. * the labels.
  101802. */
  101803. useHTML?: boolean;
  101804. /**
  101805. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  101806. * label. Can be one of `top`, `middle` or `bottom`. The default value
  101807. * depends on the data, for instance in a column chart, the label is above
  101808. * positive values and below negative values.
  101809. */
  101810. verticalAlign?: (VerticalAlignValue|null);
  101811. /**
  101812. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  101813. * label relative to the point in pixels.
  101814. */
  101815. x?: number;
  101816. /**
  101817. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  101818. * label relative to the point in pixels.
  101819. */
  101820. y?: number;
  101821. /**
  101822. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  101823. * The default Z index puts it above the series. Use a Z index of 2 to
  101824. * display it behind the series.
  101825. */
  101826. z?: number;
  101827. }
  101828. /**
  101829. * (Highcharts, Highstock) Options for the series data sorting.
  101830. */
  101831. export interface PlotWilliamsrDataSortingOptions {
  101832. /**
  101833. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  101834. * Use xAxis.reversed to change the sorting order.
  101835. */
  101836. enabled?: boolean;
  101837. /**
  101838. * (Highcharts, Highstock) Whether to allow matching points by name in an
  101839. * update. If this option is disabled, points will be matched by order.
  101840. */
  101841. matchByName?: boolean;
  101842. /**
  101843. * (Highcharts, Highstock) Determines what data value should be used to sort
  101844. * by.
  101845. */
  101846. sortKey?: string;
  101847. }
  101848. /**
  101849. * (Highstock) Williams %R. This series requires the `linkedTo` option to be set
  101850. * and should be loaded after the `stock/indicators/indicators.js`.
  101851. *
  101852. * In TypeScript the type option must always be set.
  101853. *
  101854. * Configuration options for the series are given in three levels:
  101855. *
  101856. * 1. Options for all series in a chart are defined in the plotOptions.series
  101857. * object.
  101858. *
  101859. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  101860. *
  101861. * 3. Options for one single series are given in the series instance array. (see
  101862. * online documentation for example)
  101863. */
  101864. export interface PlotWilliamsrOptions {
  101865. /**
  101866. * (Highstock) Accessibility options for a series.
  101867. */
  101868. accessibility?: SeriesAccessibilityOptionsObject;
  101869. /**
  101870. * (Highstock) Allow this series' points to be selected by clicking on the
  101871. * graphic (columns, point markers, pie slices, map areas etc).
  101872. *
  101873. * The selected points can be handled by point select and unselect events,
  101874. * or collectively by the getSelectedPoints function.
  101875. *
  101876. * And alternative way of selecting points is through dragging.
  101877. */
  101878. allowPointSelect?: boolean;
  101879. /**
  101880. * (Highstock) Enable or disable the initial animation when a series is
  101881. * displayed. The animation can also be set as a configuration object.
  101882. * Please note that this option only applies to the initial animation of the
  101883. * series itself. For other animations, see chart.animation and the
  101884. * animation parameter under the API methods. The following properties are
  101885. * supported:
  101886. *
  101887. * - `defer`: The animation delay time in milliseconds.
  101888. *
  101889. * - `duration`: The duration of the animation in milliseconds.
  101890. *
  101891. * - `easing`: Can be a string reference to an easing function set on the
  101892. * `Math` object or a function. See the _Custom easing function_ demo below.
  101893. *
  101894. * Due to poor performance, animation is disabled in old IE browsers for
  101895. * several chart types.
  101896. */
  101897. animation?: (boolean|PlotWilliamsrAnimationOptions|Partial<AnimationOptionsObject>);
  101898. /**
  101899. * (Highstock) For some series, there is a limit that shuts down initial
  101900. * animation by default when the total number of points in the chart is too
  101901. * high. For example, for a column chart and its derivatives, animation does
  101902. * not run if there is more than 250 points totally. To disable this cap,
  101903. * set `animationLimit` to `Infinity`.
  101904. */
  101905. animationLimit?: number;
  101906. /**
  101907. * (Highstock) Sets the color blending in the boost module.
  101908. */
  101909. boostBlending?: OptionsBoostBlendingValue;
  101910. /**
  101911. * (Highstock) Set the point threshold for when a series should enter boost
  101912. * mode.
  101913. *
  101914. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  101915. * there are 2000 or more points in the series.
  101916. *
  101917. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  101918. * it to 1 will force boosting.
  101919. *
  101920. * Note that the cropThreshold also affects this setting. When zooming in on
  101921. * a series that has fewer points than the `cropThreshold`, all points are
  101922. * rendered although outside the visible plot area, and the `boostThreshold`
  101923. * won't take effect.
  101924. */
  101925. boostThreshold?: number;
  101926. /**
  101927. * (Highmaps) The border color of the map areas.
  101928. *
  101929. * In styled mode, the border stroke is given in the `.highcharts-point`
  101930. * class.
  101931. */
  101932. borderColor?: (ColorString|GradientColorObject|PatternObject);
  101933. /**
  101934. * (Highmaps) The border width of each map area.
  101935. *
  101936. * In styled mode, the border stroke width is given in the
  101937. * `.highcharts-point` class.
  101938. */
  101939. borderWidth?: number;
  101940. /**
  101941. * (Highstock) An additional class name to apply to the series' graphical
  101942. * elements. This option does not replace default class names of the
  101943. * graphical element.
  101944. */
  101945. className?: string;
  101946. /**
  101947. * (Highstock) Disable this option to allow series rendering in the whole
  101948. * plotting area.
  101949. *
  101950. * **Note:** Clipping should be always enabled when chart.zoomType is set
  101951. */
  101952. clip?: boolean;
  101953. /**
  101954. * (Highstock) The main color of the series. In line type series it applies
  101955. * to the line and the point markers unless otherwise specified. In bar type
  101956. * series it applies to the bars unless a color is specified per point. The
  101957. * default value is pulled from the `options.colors` array.
  101958. *
  101959. * In styled mode, the color can be defined by the colorIndex option. Also,
  101960. * the series color can be set with the `.highcharts-series`,
  101961. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  101962. * `.highcharts-series-{n}` class, or individual classes given by the
  101963. * `className` option.
  101964. */
  101965. color?: (ColorString|GradientColorObject|PatternObject);
  101966. /**
  101967. * (Highstock) Styled mode only. A specific color index to use for the
  101968. * series, so its graphic representations are given the class name
  101969. * `highcharts-color-{n}`.
  101970. */
  101971. colorIndex?: number;
  101972. /**
  101973. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  101974. * used to calculate point color if `colorAxis` is used. Requires to set
  101975. * `min` and `max` if some custom point property is used or if approximation
  101976. * for data grouping is set to `'sum'`.
  101977. */
  101978. colorKey?: string;
  101979. /**
  101980. * (Highstock) Compare the values of the series against the first non-null,
  101981. * non- zero value in the visible range. The y axis will show percentage or
  101982. * absolute change depending on whether `compare` is set to `"percent"` or
  101983. * `"value"`. When this is applied to multiple series, it allows comparing
  101984. * the development of the series against each other. Adds a `change` field
  101985. * to every point object.
  101986. */
  101987. compare?: string;
  101988. /**
  101989. * (Highstock) When compare is `percent`, this option dictates whether to
  101990. * use 0 or 100 as the base of comparison.
  101991. */
  101992. compareBase?: (0|100);
  101993. /**
  101994. * (Highstock) Defines if comparison should start from the first point
  101995. * within the visible range or should start from the first point **before**
  101996. * the range.
  101997. *
  101998. * In other words, this flag determines if first point within the visible
  101999. * range will have 0% (`compareStart=true`) or should have been already
  102000. * calculated according to the previous point (`compareStart=false`).
  102001. */
  102002. compareStart?: boolean;
  102003. /**
  102004. * (Highstock) Whether to compare indicator to the main series values or
  102005. * indicator values.
  102006. */
  102007. compareToMain?: boolean;
  102008. /**
  102009. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  102010. * series plot across the extremes.
  102011. */
  102012. connectEnds?: boolean;
  102013. /**
  102014. * (Highcharts, Highstock) Whether to connect a graph line across null
  102015. * points, or render a gap between the two points on either side of the
  102016. * null.
  102017. */
  102018. connectNulls?: boolean;
  102019. /**
  102020. * (Gantt) Override Pathfinder connector options for a series. Requires
  102021. * Highcharts Gantt to be loaded.
  102022. */
  102023. connectors?: SeriesConnectorsOptionsObject;
  102024. /**
  102025. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  102026. * rounded to its nearest pixel in order to render sharp on screen. In some
  102027. * cases, when there are a lot of densely packed columns, this leads to
  102028. * visible difference in column widths or distance between columns. In these
  102029. * cases, setting `crisp` to `false` may look better, even though each
  102030. * column is rendered blurry.
  102031. */
  102032. crisp?: boolean;
  102033. /**
  102034. * (Highcharts, Highstock) When the series contains less points than the
  102035. * crop threshold, all points are drawn, even if the points fall outside the
  102036. * visible plot area at the current zoom. The advantage of drawing all
  102037. * points (including markers and columns), is that animation is performed on
  102038. * updates. On the other hand, when the series contains more points than the
  102039. * crop threshold, the series data is cropped to only contain points that
  102040. * fall within the plot area. The advantage of cropping away invisible
  102041. * points is to increase performance on large series.
  102042. */
  102043. cropThreshold?: number;
  102044. /**
  102045. * (Highstock) You can set the cursor to "pointer" if you have click events
  102046. * attached to the series, to signal to the user that the points and lines
  102047. * can be clicked.
  102048. *
  102049. * In styled mode, the series cursor can be set with the same classes as
  102050. * listed under series.color.
  102051. */
  102052. cursor?: (string|CursorValue);
  102053. /**
  102054. * (Highstock) A reserved subspace to store options and values for
  102055. * customized functionality. Here you can add additional data for your own
  102056. * event callbacks and formatter callbacks.
  102057. */
  102058. custom?: Dictionary<any>;
  102059. /**
  102060. * (Highstock) Name of the dash style to use for the graph, or for some
  102061. * series types the outline of each shape.
  102062. *
  102063. * In styled mode, the stroke dash-array can be set with the same classes as
  102064. * listed under series.color.
  102065. */
  102066. dashStyle?: DashStyleValue;
  102067. /**
  102068. * (Highstock) Data grouping is the concept of sampling the data values into
  102069. * larger blocks in order to ease readability and increase performance of
  102070. * the JavaScript charts. Highcharts Stock by default applies data grouping
  102071. * when the points become closer than a certain pixel value, determined by
  102072. * the `groupPixelWidth` option.
  102073. *
  102074. * If data grouping is applied, the grouping information of grouped points
  102075. * can be read from the Point.dataGroup. If point options other than the
  102076. * data itself are set, for example `name` or `color` or custom properties,
  102077. * the grouping logic doesn't know how to group it. In this case the options
  102078. * of the first point instance are copied over to the group point. This can
  102079. * be altered through a custom `approximation` callback function.
  102080. */
  102081. dataGrouping?: DataGroupingOptionsObject;
  102082. /**
  102083. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  102084. * labels, appearing next to each data point.
  102085. *
  102086. * Since v6.2.0, multiple data labels can be applied to each single point by
  102087. * defining them as an array of configs.
  102088. *
  102089. * In styled mode, the data labels can be styled with the
  102090. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  102091. * (see example).
  102092. */
  102093. dataLabels?: (PlotWilliamsrDataLabelsOptions|Array<PlotWilliamsrDataLabelsOptions>);
  102094. /**
  102095. * (Highcharts, Highstock) Options for the series data sorting.
  102096. */
  102097. dataSorting?: (DataSortingOptionsObject|PlotWilliamsrDataSortingOptions);
  102098. /**
  102099. * (Highstock) A description of the series to add to the screen reader
  102100. * information about the series.
  102101. */
  102102. description?: string;
  102103. /**
  102104. * (Highstock) Enable or disable the mouse tracking for a specific series.
  102105. * This includes point tooltips and click events on graphs and points. For
  102106. * large datasets it improves performance.
  102107. */
  102108. enableMouseTracking?: boolean;
  102109. /**
  102110. * (Highstock) General event handlers for the series items. These event
  102111. * hooks can also be attached to the series at run time using the
  102112. * `Highcharts.addEvent` function.
  102113. */
  102114. events?: SeriesEventsOptionsObject;
  102115. /**
  102116. * (Highstock) Determines whether the series should look for the nearest
  102117. * point in both dimensions or just the x-dimension when hovering the
  102118. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  102119. * series. If the data has duplicate x-values, it is recommended to set this
  102120. * to `'xy'` to allow hovering over all points.
  102121. *
  102122. * Applies only to series types using nearest neighbor search (not direct
  102123. * hover) for tooltip.
  102124. */
  102125. findNearestPointBy?: OptionsFindNearestPointByValue;
  102126. /**
  102127. * (Highstock) Defines when to display a gap in the graph, together with the
  102128. * gapUnit option.
  102129. *
  102130. * In case when `dataGrouping` is enabled, points can be grouped into a
  102131. * larger time span. This can make the grouped points to have a greater
  102132. * distance than the absolute value of `gapSize` property, which will result
  102133. * in disappearing graph completely. To prevent this situation the mentioned
  102134. * distance between grouped points is used instead of previously defined
  102135. * `gapSize`.
  102136. *
  102137. * In practice, this option is most often used to visualize gaps in time
  102138. * series. In a stock chart, intraday data is available for daytime hours,
  102139. * while gaps will appear in nights and weekends.
  102140. */
  102141. gapSize?: number;
  102142. /**
  102143. * (Highstock) Together with gapSize, this option defines where to draw gaps
  102144. * in the graph.
  102145. *
  102146. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  102147. * if the distance between two points is greater than 5 times that of the
  102148. * two closest points, the graph will be broken.
  102149. *
  102150. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  102151. * values, which on a datetime axis is milliseconds. This also applies to
  102152. * the navigator series that inherits gap options from the base series.
  102153. */
  102154. gapUnit?: OptionsGapUnitValue;
  102155. /**
  102156. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  102157. * chart width or only the zoomed area when zooming in on parts of the X
  102158. * axis. By default, the Y axis adjusts to the min and max of the visible
  102159. * data. Cartesian series only.
  102160. */
  102161. getExtremesFromAll?: boolean;
  102162. /**
  102163. * (Highstock) When set to `false` will prevent the series data from being
  102164. * included in any form of data export.
  102165. *
  102166. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  102167. * `includeInCSVExport`.
  102168. */
  102169. includeInDataExport?: boolean;
  102170. /**
  102171. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  102172. * series as possible in a natural way, seeking to avoid other series. The
  102173. * goal of this feature is to make the chart more easily readable, like if a
  102174. * human designer placed the labels in the optimal position.
  102175. *
  102176. * The series labels currently work with series types having a `graph` or an
  102177. * `area`.
  102178. */
  102179. label?: SeriesLabelOptionsObject;
  102180. /**
  102181. * (Highstock) The line marks the last price from all points.
  102182. */
  102183. lastPrice?: SeriesLastPriceOptionsObject;
  102184. /**
  102185. * (Highstock) The line marks the last price from visible range of points.
  102186. */
  102187. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  102188. /**
  102189. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  102190. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  102191. * the ends and bends.
  102192. */
  102193. linecap?: SeriesLinecapValue;
  102194. /**
  102195. * (Highcharts, Highstock) Pixel width of the graph line.
  102196. */
  102197. lineWidth?: number;
  102198. /**
  102199. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  102200. * based on. Required for this indicator.
  102201. */
  102202. linkedTo?: string;
  102203. /**
  102204. * (Highstock) Options for the point markers of line-like series. Properties
  102205. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  102206. * appearance of the markers. Other series types, like column series, don't
  102207. * have markers, but have visual options on the series level instead.
  102208. *
  102209. * In styled mode, the markers can be styled with the `.highcharts-point`,
  102210. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  102211. */
  102212. marker?: PointMarkerOptionsObject;
  102213. /**
  102214. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  102215. * If not set, it will be based on a technical indicator type and default
  102216. * params.
  102217. */
  102218. name?: string;
  102219. /**
  102220. * (Highstock) The color for the parts of the graph or points that are below
  102221. * the threshold. Note that `zones` takes precedence over the negative
  102222. * color. Using `negativeColor` is equivalent to applying a zone with value
  102223. * of 0.
  102224. */
  102225. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  102226. /**
  102227. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  102228. * dataLabels.
  102229. */
  102230. opacity?: number;
  102231. /**
  102232. * (Highstock) Paramters used in calculation of Williams %R series points.
  102233. */
  102234. params?: PlotWilliamsrParamsOptions;
  102235. /**
  102236. * (Highstock) Properties for each single point.
  102237. */
  102238. point?: PlotSeriesPointOptions;
  102239. /**
  102240. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  102241. * individual series. Overrides the chart wide configuration.
  102242. */
  102243. pointDescriptionFormatter?: Function;
  102244. /**
  102245. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  102246. * true, the checkbox next to the series name in the legend will be checked
  102247. * for a selected series.
  102248. */
  102249. selected?: boolean;
  102250. /**
  102251. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  102252. * the shadow can be an object configuration containing `color`, `offsetX`,
  102253. * `offsetY`, `opacity` and `width`.
  102254. */
  102255. shadow?: (boolean|ShadowOptionsObject);
  102256. /**
  102257. * (Highstock) If true, a checkbox is displayed next to the legend item to
  102258. * allow selecting the series. The state of the checkbox is determined by
  102259. * the `selected` option.
  102260. */
  102261. showCheckbox?: boolean;
  102262. /**
  102263. * (Highstock) Whether to display this particular series or series type in
  102264. * the legend. Standalone series are shown in legend by default, and linked
  102265. * series are not. Since v7.2.0 it is possible to show series that use
  102266. * colorAxis by setting this option to `true`.
  102267. */
  102268. showInLegend?: boolean;
  102269. /**
  102270. * (Highstock) If set to `true`, the accessibility module will skip past the
  102271. * points in this series for keyboard navigation.
  102272. */
  102273. skipKeyboardNavigation?: boolean;
  102274. /**
  102275. * (Highcharts, Highstock) When this is true, the series will not cause the
  102276. * Y axis to cross the zero plane (or threshold option) unless the data
  102277. * actually crosses the plane.
  102278. *
  102279. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  102280. * make the Y axis show negative values according to the `minPadding`
  102281. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  102282. */
  102283. softThreshold?: boolean;
  102284. states?: SeriesStatesOptionsObject;
  102285. /**
  102286. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  102287. * values are `left`, `center` and `right`.
  102288. */
  102289. step?: OptionsStepValue;
  102290. /**
  102291. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  102292. * event on a series isn't triggered until the mouse moves over another
  102293. * series, or out of the plot area. When false, the `mouseOut` event on a
  102294. * series is triggered when the mouse leaves the area around the series'
  102295. * graph or markers. This also implies the tooltip when not shared. When
  102296. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  102297. * be hidden when moving the mouse between series. Defaults to true for line
  102298. * and area type series, but to false for columns, pies etc.
  102299. *
  102300. * **Note:** The boost module will force this option because of technical
  102301. * limitations.
  102302. */
  102303. stickyTracking?: boolean;
  102304. /**
  102305. * (Highcharts, Highstock) The threshold, also called zero level or base
  102306. * level. For line type series this is only used in conjunction with
  102307. * negativeColor.
  102308. */
  102309. threshold?: (number|null);
  102310. /**
  102311. * (Highstock) A configuration object for the tooltip rendering of each
  102312. * single series. Properties are inherited from tooltip, but only the
  102313. * following properties can be defined on a series level.
  102314. */
  102315. tooltip?: SeriesTooltipOptionsObject;
  102316. /**
  102317. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  102318. * is longer than this, only one dimensional arrays of numbers, or two
  102319. * dimensional arrays with x and y values are allowed. Also, only the first
  102320. * point is tested, and the rest are assumed to be the same format. This
  102321. * saves expensive data checking and indexing in long series. Set it to `0`
  102322. * disable.
  102323. *
  102324. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  102325. * two dimensional arrays are allowed.
  102326. */
  102327. turboThreshold?: number;
  102328. /**
  102329. * (Highstock) Set the initial visibility of the series.
  102330. */
  102331. visible?: boolean;
  102332. /**
  102333. * (Highmaps) Define the z index of the series.
  102334. */
  102335. zIndex?: number;
  102336. /**
  102337. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  102338. */
  102339. zoneAxis?: string;
  102340. /**
  102341. * (Highcharts, Highstock) An array defining zones within a series. Zones
  102342. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  102343. * the `zoneAxis` option. The zone definitions have to be in ascending order
  102344. * regarding to the value.
  102345. *
  102346. * In styled mode, the color zones are styled with the
  102347. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  102348. * option (view live demo).
  102349. */
  102350. zones?: Array<SeriesZonesOptionsObject>;
  102351. }
  102352. /**
  102353. * (Highstock) Paramters used in calculation of Williams %R series points.
  102354. */
  102355. export interface PlotWilliamsrParamsOptions {
  102356. index?: string;
  102357. /**
  102358. * (Highstock) Period for Williams %R oscillator
  102359. */
  102360. period?: number;
  102361. }
  102362. /**
  102363. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  102364. * is displayed. The animation can also be set as a configuration object. Please
  102365. * note that this option only applies to the initial animation of the series
  102366. * itself. For other animations, see chart.animation and the animation parameter
  102367. * under the API methods. The following properties are supported:
  102368. *
  102369. * - `defer`: The animation delay time in milliseconds.
  102370. *
  102371. * - `duration`: The duration of the animation in milliseconds.
  102372. *
  102373. * - `easing`: Can be a string reference to an easing function set on the `Math`
  102374. * object or a function. See the _Custom easing function_ demo below.
  102375. *
  102376. * Due to poor performance, animation is disabled in old IE browsers for several
  102377. * chart types.
  102378. */
  102379. export interface PlotWindbarbAnimationOptions {
  102380. defer?: number;
  102381. }
  102382. /**
  102383. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  102384. * animation when a series is displayed for the `dataLabels`. The animation can
  102385. * also be set as a configuration object. Please note that this option only
  102386. * applies to the initial animation. For other animations, see chart.animation
  102387. * and the animation parameter under the API methods. The following properties
  102388. * are supported:
  102389. *
  102390. * - `defer`: The animation delay time in milliseconds.
  102391. */
  102392. export interface PlotWindbarbDataLabelsAnimationOptions {
  102393. /**
  102394. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  102395. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  102396. * inherits defer time from the series.animation.defer.
  102397. */
  102398. defer?: number;
  102399. }
  102400. /**
  102401. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  102402. * appearing next to each data point.
  102403. *
  102404. * Since v6.2.0, multiple data labels can be applied to each single point by
  102405. * defining them as an array of configs.
  102406. *
  102407. * In styled mode, the data labels can be styled with the
  102408. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  102409. * example).
  102410. */
  102411. export interface PlotWindbarbDataLabelsOptions {
  102412. /**
  102413. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  102414. * compared to the point. If `right`, the right side of the label should be
  102415. * touching the point. For points with an extent, like columns, the
  102416. * alignments also dictates how to align it inside the box, as given with
  102417. * the inside option. Can be one of `left`, `center` or `right`.
  102418. */
  102419. align?: string;
  102420. /**
  102421. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  102422. * overlap. To make the labels less sensitive for overlapping, the
  102423. * dataLabels.padding can be set to 0.
  102424. */
  102425. allowOverlap?: boolean;
  102426. /**
  102427. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  102428. * animation when a series is displayed for the `dataLabels`. The animation
  102429. * can also be set as a configuration object. Please note that this option
  102430. * only applies to the initial animation. For other animations, see
  102431. * chart.animation and the animation parameter under the API methods. The
  102432. * following properties are supported:
  102433. *
  102434. * - `defer`: The animation delay time in milliseconds.
  102435. */
  102436. animation?: (boolean|PlotWindbarbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  102437. /**
  102438. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  102439. * for the data label.
  102440. */
  102441. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  102442. /**
  102443. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  102444. * label. Defaults to `undefined`.
  102445. */
  102446. borderColor?: (ColorString|GradientColorObject|PatternObject);
  102447. /**
  102448. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  102449. * the data label.
  102450. */
  102451. borderRadius?: number;
  102452. /**
  102453. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  102454. * the data label.
  102455. */
  102456. borderWidth?: number;
  102457. /**
  102458. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  102459. * Particularly in styled mode, this can be used to give each series' or
  102460. * point's data label unique styling. In addition to this option, a default
  102461. * color class name is added so that we can give the labels a contrast text
  102462. * shadow.
  102463. */
  102464. className?: string;
  102465. /**
  102466. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  102467. * labels. Defaults to `undefined`. For certain series types, like column or
  102468. * map, the data labels can be drawn inside the points. In this case the
  102469. * data label will be drawn with maximum contrast by default. Additionally,
  102470. * it will be given a `text-outline` style with the opposite color, to
  102471. * further increase the contrast. This can be overridden by setting the
  102472. * `text-outline` style to `none` in the `dataLabels.style` option.
  102473. */
  102474. color?: (ColorString|GradientColorObject|PatternObject);
  102475. /**
  102476. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  102477. * are outside the plot area. By default, the data label is moved inside the
  102478. * plot area according to the overflow option.
  102479. */
  102480. crop?: boolean;
  102481. /**
  102482. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  102483. * labels until the initial series animation has finished. Setting to
  102484. * `false` renders the data label immediately. If set to `true` inherits the
  102485. * defer time set in plotOptions.series.animation. If set to a number, a
  102486. * defer time is specified in milliseconds.
  102487. */
  102488. defer?: (boolean|number);
  102489. /**
  102490. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  102491. * labels.
  102492. */
  102493. enabled?: boolean;
  102494. /**
  102495. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  102496. * of which data labels to display. The declarative filter is designed for
  102497. * use when callback functions are not available, like when the chart
  102498. * options require a pure JSON structure or for use with graphical editors.
  102499. * For programmatic control, use the `formatter` instead, and return
  102500. * `undefined` to disable a single data label.
  102501. */
  102502. filter?: DataLabelsFilterOptionsObject;
  102503. /**
  102504. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  102505. * label. Available variables are the same as for `formatter`.
  102506. */
  102507. format?: string;
  102508. /**
  102509. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  102510. * format the data label. Note that if a `format` is defined, the format
  102511. * takes precedence and the formatter is ignored.
  102512. */
  102513. formatter?: DataLabelsFormatterCallbackFunction;
  102514. /**
  102515. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  102516. * columns or map areas, whether to align the data label inside the box or
  102517. * to the actual value point. Defaults to `false` in most cases, `true` in
  102518. * stacked columns.
  102519. */
  102520. inside?: boolean;
  102521. /**
  102522. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  102523. * of null. Works analogously to format. `nullFormat` can be applied only to
  102524. * series which support displaying null points.
  102525. */
  102526. nullFormat?: (boolean|string);
  102527. /**
  102528. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  102529. * that defines formatting for points with the value of null. Works
  102530. * analogously to formatter. `nullPointFormatter` can be applied only to
  102531. * series which support displaying null points.
  102532. */
  102533. nullFormatter?: DataLabelsFormatterCallbackFunction;
  102534. /**
  102535. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  102536. * flow outside the plot area. The default is `"justify"`, which aligns them
  102537. * inside the plot area. For columns and bars, this means it will be moved
  102538. * inside the bar. To display data labels outside the plot area, set `crop`
  102539. * to `false` and `overflow` to `"allow"`.
  102540. */
  102541. overflow?: DataLabelsOverflowValue;
  102542. /**
  102543. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  102544. * the `backgroundColor` is set, this is the padding within the box.
  102545. */
  102546. padding?: number;
  102547. /**
  102548. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  102549. * points. If `center` alignment is not possible, it defaults to `right`.
  102550. */
  102551. position?: AlignValue;
  102552. /**
  102553. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  102554. * that due to a more complex structure, backgrounds, borders and padding
  102555. * will be lost on a rotated data label.
  102556. */
  102557. rotation?: number;
  102558. /**
  102559. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  102560. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  102561. * an object configuration containing `color`, `offsetX`, `offsetY`,
  102562. * `opacity` and `width`.
  102563. */
  102564. shadow?: (boolean|ShadowOptionsObject);
  102565. /**
  102566. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  102567. * the border around the label. Symbols are predefined functions on the
  102568. * Renderer object.
  102569. */
  102570. shape?: string;
  102571. /**
  102572. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  102573. * default `color` setting is `"contrast"`, which is a pseudo color that
  102574. * Highcharts picks up and applies the maximum contrast to the underlying
  102575. * point item, for example the bar in a bar chart.
  102576. *
  102577. * The `textOutline` is a pseudo property that applies an outline of the
  102578. * given width with the given color, which by default is the maximum
  102579. * contrast to the text. So a bright text color will result in a black text
  102580. * outline for maximum readability on a mixed background. In some cases,
  102581. * especially with grayscale text, the text outline doesn't work well, in
  102582. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  102583. * is true, the `textOutline` will not be picked up. In this, case, the same
  102584. * effect can be acheived through the `text-shadow` CSS property.
  102585. *
  102586. * For some series types, where each point has an extent, like for example
  102587. * tree maps, the data label may overflow the point. There are two
  102588. * strategies for handling overflow. By default, the text will wrap to
  102589. * multiple lines. The other strategy is to set `style.textOverflow` to
  102590. * `ellipsis`, which will keep the text on one line plus it will break
  102591. * inside long words.
  102592. */
  102593. style?: CSSObject;
  102594. /**
  102595. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  102596. * should follow marker's shape. Border and background are disabled for a
  102597. * label that follows a path.
  102598. *
  102599. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  102600. * to true will disable this option.
  102601. */
  102602. textPath?: DataLabelsTextPathOptionsObject;
  102603. /**
  102604. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  102605. * the labels.
  102606. */
  102607. useHTML?: boolean;
  102608. /**
  102609. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  102610. * label. Can be one of `top`, `middle` or `bottom`. The default value
  102611. * depends on the data, for instance in a column chart, the label is above
  102612. * positive values and below negative values.
  102613. */
  102614. verticalAlign?: string;
  102615. /**
  102616. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  102617. * label relative to the point in pixels.
  102618. */
  102619. x?: number;
  102620. /**
  102621. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  102622. * label relative to the point in pixels.
  102623. */
  102624. y?: number;
  102625. /**
  102626. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  102627. * The default Z index puts it above the series. Use a Z index of 2 to
  102628. * display it behind the series.
  102629. */
  102630. z?: number;
  102631. }
  102632. /**
  102633. * (Highcharts, Highstock) Options for the series data sorting.
  102634. */
  102635. export interface PlotWindbarbDataSortingOptions {
  102636. /**
  102637. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  102638. * Use xAxis.reversed to change the sorting order.
  102639. */
  102640. enabled?: boolean;
  102641. /**
  102642. * (Highcharts, Highstock) Whether to allow matching points by name in an
  102643. * update. If this option is disabled, points will be matched by order.
  102644. */
  102645. matchByName?: boolean;
  102646. /**
  102647. * (Highcharts, Highstock) Determines what data value should be used to sort
  102648. * by.
  102649. */
  102650. sortKey?: string;
  102651. }
  102652. /**
  102653. * (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
  102654. * speed and direction in one graphical form. Wind direction is given by the
  102655. * stem direction, and wind speed by the number and shape of barbs.
  102656. *
  102657. * In TypeScript the type option must always be set.
  102658. *
  102659. * Configuration options for the series are given in three levels:
  102660. *
  102661. * 1. Options for all series in a chart are defined in the plotOptions.series
  102662. * object.
  102663. *
  102664. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  102665. *
  102666. * 3. Options for one single series are given in the series instance array. (see
  102667. * online documentation for example)
  102668. */
  102669. export interface PlotWindbarbOptions {
  102670. /**
  102671. * (Highcharts, Highstock) Accessibility options for a series.
  102672. */
  102673. accessibility?: SeriesAccessibilityOptionsObject;
  102674. /**
  102675. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  102676. * rendered. If `true`, areas which don't correspond to a data point, are
  102677. * rendered as `null` points. If `false`, those areas are skipped.
  102678. */
  102679. allAreas?: boolean;
  102680. /**
  102681. * (Highcharts, Highstock) Allow this series' points to be selected by
  102682. * clicking on the graphic (columns, point markers, pie slices, map areas
  102683. * etc).
  102684. *
  102685. * The selected points can be handled by point select and unselect events,
  102686. * or collectively by the getSelectedPoints function.
  102687. *
  102688. * And alternative way of selecting points is through dragging.
  102689. */
  102690. allowPointSelect?: boolean;
  102691. /**
  102692. * (Highcharts, Highstock) Enable or disable the initial animation when a
  102693. * series is displayed. The animation can also be set as a configuration
  102694. * object. Please note that this option only applies to the initial
  102695. * animation of the series itself. For other animations, see chart.animation
  102696. * and the animation parameter under the API methods. The following
  102697. * properties are supported:
  102698. *
  102699. * - `defer`: The animation delay time in milliseconds.
  102700. *
  102701. * - `duration`: The duration of the animation in milliseconds.
  102702. *
  102703. * - `easing`: Can be a string reference to an easing function set on the
  102704. * `Math` object or a function. See the _Custom easing function_ demo below.
  102705. *
  102706. * Due to poor performance, animation is disabled in old IE browsers for
  102707. * several chart types.
  102708. */
  102709. animation?: (boolean|PlotWindbarbAnimationOptions|Partial<AnimationOptionsObject>);
  102710. /**
  102711. * (Highcharts, Highstock) For some series, there is a limit that shuts down
  102712. * initial animation by default when the total number of points in the chart
  102713. * is too high. For example, for a column chart and its derivatives,
  102714. * animation does not run if there is more than 250 points totally. To
  102715. * disable this cap, set `animationLimit` to `Infinity`.
  102716. */
  102717. animationLimit?: number;
  102718. /**
  102719. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  102720. * column or bar.
  102721. *
  102722. * In styled mode, the border stroke can be set with the `.highcharts-point`
  102723. * rule.
  102724. */
  102725. borderColor?: (ColorString|GradientColorObject|PatternObject);
  102726. /**
  102727. * (Highcharts, Highstock, Gantt) The corner radius of the border
  102728. * surrounding each column or bar.
  102729. */
  102730. borderRadius?: number;
  102731. /**
  102732. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  102733. * column or bar. Defaults to `1` when there is room for a border, but to
  102734. * `0` when the columns are so dense that a border would cover the next
  102735. * column.
  102736. *
  102737. * In styled mode, the stroke width can be set with the `.highcharts-point`
  102738. * rule.
  102739. */
  102740. borderWidth?: number;
  102741. /**
  102742. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  102743. * the category, ignoring null or missing points. When `false`, space will
  102744. * be reserved for null or missing points.
  102745. */
  102746. centerInCategory?: boolean;
  102747. /**
  102748. * (Highcharts, Highstock) An additional class name to apply to the series'
  102749. * graphical elements. This option does not replace default class names of
  102750. * the graphical element.
  102751. */
  102752. className?: string;
  102753. /**
  102754. * (Highcharts, Highstock) Disable this option to allow series rendering in
  102755. * the whole plotting area.
  102756. *
  102757. * **Note:** Clipping should be always enabled when chart.zoomType is set
  102758. */
  102759. clip?: boolean;
  102760. /**
  102761. * (Highcharts, Highstock) The main color of the series. In line type series
  102762. * it applies to the line and the point markers unless otherwise specified.
  102763. * In bar type series it applies to the bars unless a color is specified per
  102764. * point. The default value is pulled from the `options.colors` array.
  102765. *
  102766. * In styled mode, the color can be defined by the colorIndex option. Also,
  102767. * the series color can be set with the `.highcharts-series`,
  102768. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  102769. * `.highcharts-series-{n}` class, or individual classes given by the
  102770. * `className` option.
  102771. */
  102772. color?: (ColorString|GradientColorObject|PatternObject);
  102773. /**
  102774. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  102775. * this number defines which colorAxis the particular series is connected
  102776. * to. It refers to either the axis id or the index of the axis in the
  102777. * colorAxis array, with 0 being the first. Set this option to false to
  102778. * prevent a series from connecting to the default color axis.
  102779. *
  102780. * Since v7.2.0 the option can also be an axis id or an axis index instead
  102781. * of a boolean flag.
  102782. */
  102783. colorAxis?: (boolean|number|string);
  102784. /**
  102785. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  102786. * from the global colors or series-specific plotOptions.column.colors
  102787. * collections, this option determines whether the chart should receive one
  102788. * color per series or one color per point.
  102789. *
  102790. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  102791. * and instead this option gives the points individual color class names on
  102792. * the form `highcharts-color-{n}`.
  102793. */
  102794. colorByPoint?: boolean;
  102795. /**
  102796. * (Highcharts, Highstock) Styled mode only. A specific color index to use
  102797. * for the series, so its graphic representations are given the class name
  102798. * `highcharts-color-{n}`.
  102799. */
  102800. colorIndex?: number;
  102801. /**
  102802. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  102803. * used to calculate point color if `colorAxis` is used. Requires to set
  102804. * `min` and `max` if some custom point property is used or if approximation
  102805. * for data grouping is set to `'sum'`.
  102806. */
  102807. colorKey?: string;
  102808. /**
  102809. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  102810. * color set to apply instead of the global colors when colorByPoint is
  102811. * true.
  102812. */
  102813. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  102814. /**
  102815. * (Highstock) Compare the values of the series against the first non-null,
  102816. * non- zero value in the visible range. The y axis will show percentage or
  102817. * absolute change depending on whether `compare` is set to `"percent"` or
  102818. * `"value"`. When this is applied to multiple series, it allows comparing
  102819. * the development of the series against each other. Adds a `change` field
  102820. * to every point object.
  102821. */
  102822. compare?: string;
  102823. /**
  102824. * (Highstock) When compare is `percent`, this option dictates whether to
  102825. * use 0 or 100 as the base of comparison.
  102826. */
  102827. compareBase?: (0|100);
  102828. /**
  102829. * (Highstock) Defines if comparison should start from the first point
  102830. * within the visible range or should start from the first point **before**
  102831. * the range.
  102832. *
  102833. * In other words, this flag determines if first point within the visible
  102834. * range will have 0% (`compareStart=true`) or should have been already
  102835. * calculated according to the previous point (`compareStart=false`).
  102836. */
  102837. compareStart?: boolean;
  102838. /**
  102839. * (Gantt) Override Pathfinder connector options for a series. Requires
  102840. * Highcharts Gantt to be loaded.
  102841. */
  102842. connectors?: SeriesConnectorsOptionsObject;
  102843. /**
  102844. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  102845. * rounded to its nearest pixel in order to render sharp on screen. In some
  102846. * cases, when there are a lot of densely packed columns, this leads to
  102847. * visible difference in column widths or distance between columns. In these
  102848. * cases, setting `crisp` to `false` may look better, even though each
  102849. * column is rendered blurry.
  102850. */
  102851. crisp?: boolean;
  102852. /**
  102853. * (Highcharts, Highstock) You can set the cursor to "pointer" if you have
  102854. * click events attached to the series, to signal to the user that the
  102855. * points and lines can be clicked.
  102856. *
  102857. * In styled mode, the series cursor can be set with the same classes as
  102858. * listed under series.color.
  102859. */
  102860. cursor?: (string|CursorValue);
  102861. /**
  102862. * (Highcharts, Highstock) A reserved subspace to store options and values
  102863. * for customized functionality. Here you can add additional data for your
  102864. * own event callbacks and formatter callbacks.
  102865. */
  102866. custom?: Dictionary<any>;
  102867. /**
  102868. * (Highcharts, Highstock) Data grouping options for the wind barbs. In
  102869. * Highcharts, this requires the `modules/datagrouping.js` module to be
  102870. * loaded. In Highcharts Stock, data grouping is included.
  102871. */
  102872. dataGrouping?: DataGroupingOptionsObject;
  102873. /**
  102874. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  102875. * labels, appearing next to each data point.
  102876. *
  102877. * Since v6.2.0, multiple data labels can be applied to each single point by
  102878. * defining them as an array of configs.
  102879. *
  102880. * In styled mode, the data labels can be styled with the
  102881. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  102882. * (see example).
  102883. */
  102884. dataLabels?: (PlotWindbarbDataLabelsOptions|Array<PlotWindbarbDataLabelsOptions>);
  102885. /**
  102886. * (Highcharts, Highstock) Options for the series data sorting.
  102887. */
  102888. dataSorting?: (DataSortingOptionsObject|PlotWindbarbDataSortingOptions);
  102889. /**
  102890. * (Highcharts) Depth of the columns in a 3D column chart.
  102891. */
  102892. depth?: number;
  102893. /**
  102894. * (Highcharts, Highstock) A description of the series to add to the screen
  102895. * reader information about the series.
  102896. */
  102897. description?: string;
  102898. /**
  102899. * (Highcharts) 3D columns only. The color of the edges. Similar to
  102900. * `borderColor`, except it defaults to the same color as the column.
  102901. */
  102902. edgeColor?: ColorString;
  102903. /**
  102904. * (Highcharts) 3D columns only. The width of the colored edges.
  102905. */
  102906. edgeWidth?: number;
  102907. /**
  102908. * (Highcharts, Highstock) Enable or disable the mouse tracking for a
  102909. * specific series. This includes point tooltips and click events on graphs
  102910. * and points. For large datasets it improves performance.
  102911. */
  102912. enableMouseTracking?: boolean;
  102913. /**
  102914. * (Highcharts, Highstock) General event handlers for the series items.
  102915. * These event hooks can also be attached to the series at run time using
  102916. * the `Highcharts.addEvent` function.
  102917. */
  102918. events?: SeriesEventsOptionsObject;
  102919. /**
  102920. * (Highcharts, Highstock) Determines whether the series should look for the
  102921. * nearest point in both dimensions or just the x-dimension when hovering
  102922. * the series. Defaults to `'xy'` for scatter series and `'x'` for most
  102923. * other series. If the data has duplicate x-values, it is recommended to
  102924. * set this to `'xy'` to allow hovering over all points.
  102925. *
  102926. * Applies only to series types using nearest neighbor search (not direct
  102927. * hover) for tooltip.
  102928. */
  102929. findNearestPointBy?: OptionsFindNearestPointByValue;
  102930. /**
  102931. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  102932. * chart width or only the zoomed area when zooming in on parts of the X
  102933. * axis. By default, the Y axis adjusts to the min and max of the visible
  102934. * data. Cartesian series only.
  102935. */
  102936. getExtremesFromAll?: boolean;
  102937. /**
  102938. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  102939. * let them render independent of each other. Non-grouped columns will be
  102940. * laid out individually and overlap each other.
  102941. */
  102942. grouping?: boolean;
  102943. /**
  102944. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  102945. * axis units.
  102946. */
  102947. groupPadding?: number;
  102948. /**
  102949. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  102950. */
  102951. groupZPadding?: number;
  102952. /**
  102953. * (Highcharts, Highstock) When set to `false` will prevent the series data
  102954. * from being included in any form of data export.
  102955. *
  102956. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  102957. * `includeInCSVExport`.
  102958. */
  102959. includeInDataExport?: boolean;
  102960. /**
  102961. * (Highmaps) What property to join the `mapData` to the value data. For
  102962. * example, if joinBy is "code", the mapData items with a specific code is
  102963. * merged into the data with the same code. For maps loaded from GeoJSON,
  102964. * the keys may be held in each point's `properties` object.
  102965. *
  102966. * The joinBy option can also be an array of two values, where the first
  102967. * points to a key in the `mapData`, and the second points to another key in
  102968. * the `data`.
  102969. *
  102970. * When joinBy is `null`, the map items are joined by their position in the
  102971. * array, which performs much better in maps with many data points. This is
  102972. * the recommended option if you are printing more than a thousand data
  102973. * points and have a backend that can preprocess the data into a parallel
  102974. * array of the mapData.
  102975. */
  102976. joinBy?: (string|Array<string>);
  102977. /**
  102978. * (Highcharts, Highstock) An array specifying which option maps to which
  102979. * key in the data point array. This makes it convenient to work with
  102980. * unstructured data arrays from different sources.
  102981. */
  102982. keys?: Array<string>;
  102983. /**
  102984. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  102985. * series as possible in a natural way, seeking to avoid other series. The
  102986. * goal of this feature is to make the chart more easily readable, like if a
  102987. * human designer placed the labels in the optimal position.
  102988. *
  102989. * The series labels currently work with series types having a `graph` or an
  102990. * `area`.
  102991. */
  102992. label?: SeriesLabelOptionsObject;
  102993. /**
  102994. * (Highstock) The line marks the last price from all points.
  102995. */
  102996. lastPrice?: SeriesLastPriceOptionsObject;
  102997. /**
  102998. * (Highstock) The line marks the last price from visible range of points.
  102999. */
  103000. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  103001. /**
  103002. * (Highcharts, Highstock) The line width of the wind barb symbols.
  103003. */
  103004. lineWidth?: number;
  103005. /**
  103006. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  103007. * Additionally, the value can be ":previous" to link to the previous
  103008. * series. When two series are linked, only the first one appears in the
  103009. * legend. Toggling the visibility of this also toggles the linked series.
  103010. *
  103011. * If master series uses data sorting and linked series does not have its
  103012. * own sorting definition, the linked series will be sorted in the same
  103013. * order as the master one.
  103014. */
  103015. linkedTo?: string;
  103016. /**
  103017. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  103018. * column, translated to the height of a bar in a bar chart. This prevents
  103019. * the columns from becoming too wide when there is a small number of points
  103020. * in the chart.
  103021. */
  103022. maxPointWidth?: number;
  103023. /**
  103024. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  103025. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  103026. * to zero) point, set the minimal point length to a pixel value like 3\. In
  103027. * stacked column charts, minPointLength might not be respected for tightly
  103028. * packed values.
  103029. */
  103030. minPointLength?: number;
  103031. /**
  103032. * (Highstock) Options for the corresponding navigator series if
  103033. * `showInNavigator` is `true` for this series. Available options are the
  103034. * same as any series, documented at plotOptions and series.
  103035. *
  103036. * These options are merged with options in navigator.series, and will take
  103037. * precedence if the same option is defined both places.
  103038. */
  103039. navigatorOptions?: PlotSeriesOptions;
  103040. /**
  103041. * (Highcharts, Highstock) The color for the parts of the graph or points
  103042. * that are below the threshold. Note that `zones` takes precedence over the
  103043. * negative color. Using `negativeColor` is equivalent to applying a zone
  103044. * with value of 0.
  103045. */
  103046. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  103047. /**
  103048. * (Highcharts, Highstock) The id of another series in the chart that the
  103049. * wind barbs are projected on. When `null`, the wind symbols are drawn on
  103050. * the X axis, but offset up or down by the `yOffset` setting.
  103051. */
  103052. onSeries?: (string|null);
  103053. /**
  103054. * (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
  103055. * and dataLabels.
  103056. */
  103057. opacity?: number;
  103058. /**
  103059. * (Highcharts, Highstock) Properties for each single point.
  103060. */
  103061. point?: PlotSeriesPointOptions;
  103062. /**
  103063. * (Highcharts, Highstock) Same as
  103064. * accessibility.series.descriptionFormatter, but for an individual series.
  103065. * Overrides the chart wide configuration.
  103066. */
  103067. pointDescriptionFormatter?: Function;
  103068. /**
  103069. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  103070. * a series, `pointInterval` defines the interval of the x values. For
  103071. * example, if a series contains one value every decade starting from year
  103072. * 0, set `pointInterval` to `10`. In true `datetime` axes, the
  103073. * `pointInterval` is set in milliseconds.
  103074. *
  103075. * It can be also be combined with `pointIntervalUnit` to draw irregular
  103076. * time intervals.
  103077. *
  103078. * Please note that this options applies to the _series data_, not the
  103079. * interval of the axis ticks, which is independent.
  103080. */
  103081. pointInterval?: number;
  103082. /**
  103083. * (Highcharts, Highstock, Gantt) On datetime series, this allows for
  103084. * setting the pointInterval to irregular time units, `day`, `month` and
  103085. * `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
  103086. * also takes the DST crossover into consideration when dealing with local
  103087. * time. Combine this option with `pointInterval` to draw weeks, quarters, 6
  103088. * months, 10 years etc.
  103089. *
  103090. * Please note that this options applies to the _series data_, not the
  103091. * interval of the axis ticks, which is independent.
  103092. */
  103093. pointIntervalUnit?: OptionsPointIntervalUnitValue;
  103094. /**
  103095. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  103096. * axis units.
  103097. */
  103098. pointPadding?: number;
  103099. /**
  103100. * (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
  103101. * `number`.
  103102. *
  103103. * In a column chart, when pointPlacement is `"on"`, the point will not
  103104. * create any padding of the X axis. In a polar column chart this means that
  103105. * the first column points directly north. If the pointPlacement is
  103106. * `"between"`, the columns will be laid out between ticks. This is useful
  103107. * for example for visualising an amount between two points in time or in a
  103108. * certain sector of a polar chart.
  103109. *
  103110. * Since Highcharts 3.0.2, the point placement can also be numeric, where 0
  103111. * is on the axis value, -0.5 is between this value and the previous, and
  103112. * 0.5 is between this value and the next. Unlike the textual options,
  103113. * numeric point placement options won't affect axis padding.
  103114. *
  103115. * Note that pointPlacement needs a pointRange to work. For column series
  103116. * this is computed, but for line-type series it needs to be set.
  103117. *
  103118. * For the `xrange` series type and gantt charts, if the Y axis is a
  103119. * category axis, the `pointPlacement` applies to the Y axis rather than the
  103120. * (typically datetime) X axis.
  103121. *
  103122. * Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
  103123. */
  103124. pointPlacement?: (number|string);
  103125. /**
  103126. * (Highcharts, Highstock, Gantt) The X axis range that each point is valid
  103127. * for. This determines the width of the column. On a categorized axis, the
  103128. * range will be 1 by default (one category unit). On linear and datetime
  103129. * axes, the range will be computed as the distance between the two closest
  103130. * data points.
  103131. *
  103132. * The default `null` means it is computed automatically, but this option
  103133. * can be used to override the automatic value.
  103134. *
  103135. * This option is set by default to 1 if data sorting is enabled.
  103136. */
  103137. pointRange?: (number|null);
  103138. /**
  103139. * (Highcharts, Highstock, Gantt) If no x values are given for the points in
  103140. * a series, pointStart defines on what value to start. For example, if a
  103141. * series contains one yearly value starting from 1945, set pointStart to
  103142. * 1945.
  103143. */
  103144. pointStart?: number;
  103145. /**
  103146. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  103147. * each column or bar point. When set to `undefined`, the width is
  103148. * calculated from the `pointPadding` and `groupPadding`. The width effects
  103149. * the dimension that is not based on the point value. For column series it
  103150. * is the hoizontal length and for bar series it is the vertical length.
  103151. */
  103152. pointWidth?: number;
  103153. /**
  103154. * (Highcharts, Highstock) Whether to select the series initially. If
  103155. * `showCheckbox` is true, the checkbox next to the series name in the
  103156. * legend will be checked for a selected series.
  103157. */
  103158. selected?: boolean;
  103159. /**
  103160. * (Highcharts, Highstock) If true, a checkbox is displayed next to the
  103161. * legend item to allow selecting the series. The state of the checkbox is
  103162. * determined by the `selected` option.
  103163. */
  103164. showCheckbox?: boolean;
  103165. /**
  103166. * (Highcharts, Highstock) Whether to display this particular series or
  103167. * series type in the legend. Standalone series are shown in legend by
  103168. * default, and linked series are not. Since v7.2.0 it is possible to show
  103169. * series that use colorAxis by setting this option to `true`.
  103170. */
  103171. showInLegend?: boolean;
  103172. /**
  103173. * (Highstock) Whether or not to show the series in the navigator. Takes
  103174. * precedence over navigator.baseSeries if defined.
  103175. */
  103176. showInNavigator?: boolean;
  103177. /**
  103178. * (Highcharts, Highstock) If set to `true`, the accessibility module will
  103179. * skip past the points in this series for keyboard navigation.
  103180. */
  103181. skipKeyboardNavigation?: boolean;
  103182. /**
  103183. * (Highcharts, Highstock) When this is true, the series will not cause the
  103184. * Y axis to cross the zero plane (or threshold option) unless the data
  103185. * actually crosses the plane.
  103186. *
  103187. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  103188. * make the Y axis show negative values according to the `minPadding`
  103189. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  103190. */
  103191. softThreshold?: boolean;
  103192. states?: SeriesStatesOptionsObject;
  103193. /**
  103194. * (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
  103195. * `mouseOut` event on a series isn't triggered until the mouse moves over
  103196. * another series, or out of the plot area. When false, the `mouseOut` event
  103197. * on a series is triggered when the mouse leaves the area around the
  103198. * series' graph or markers. This also implies the tooltip when not shared.
  103199. * When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
  103200. * will be hidden when moving the mouse between series. Defaults to true for
  103201. * line and area type series, but to false for columns, pies etc.
  103202. *
  103203. * **Note:** The boost module will force this option because of technical
  103204. * limitations.
  103205. */
  103206. stickyTracking?: boolean;
  103207. /**
  103208. * (Highcharts) The Y axis value to serve as the base for the columns, for
  103209. * distinguishing between values above and below a threshold. If `null`, the
  103210. * columns extend from the padding Y axis minimum.
  103211. */
  103212. threshold?: (number|null);
  103213. /**
  103214. * (Highcharts, Highstock) A configuration object for the tooltip rendering
  103215. * of each single series. Properties are inherited from tooltip, but only
  103216. * the following properties can be defined on a series level.
  103217. */
  103218. tooltip?: SeriesTooltipOptionsObject;
  103219. /**
  103220. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  103221. * is longer than this, only one dimensional arrays of numbers, or two
  103222. * dimensional arrays with x and y values are allowed. Also, only the first
  103223. * point is tested, and the rest are assumed to be the same format. This
  103224. * saves expensive data checking and indexing in long series. Set it to `0`
  103225. * disable.
  103226. *
  103227. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  103228. * two dimensional arrays are allowed.
  103229. */
  103230. turboThreshold?: number;
  103231. /**
  103232. * (Highcharts, Highstock) Pixel length of the stems.
  103233. */
  103234. vectorLength?: number;
  103235. /**
  103236. * (Highcharts, Highstock) Set the initial visibility of the series.
  103237. */
  103238. visible?: boolean;
  103239. /**
  103240. * (Highcharts, Highstock) Horizontal offset from the cartesian position, in
  103241. * pixels. When the chart is inverted, this option allows translation like
  103242. * yOffset in non inverted charts.
  103243. */
  103244. xOffset?: number;
  103245. /**
  103246. * (Highcharts, Highstock) Vertical offset from the cartesian position, in
  103247. * pixels. The default value makes sure the symbols don't overlap the X axis
  103248. * when `onSeries` is `null`, and that they don't overlap the linked series
  103249. * when `onSeries` is given.
  103250. */
  103251. yOffset?: number;
  103252. /**
  103253. * (Highmaps) Define the z index of the series.
  103254. */
  103255. zIndex?: number;
  103256. /**
  103257. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  103258. */
  103259. zoneAxis?: string;
  103260. /**
  103261. * (Highcharts, Highstock) An array defining zones within a series. Zones
  103262. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  103263. * the `zoneAxis` option. The zone definitions have to be in ascending order
  103264. * regarding to the value.
  103265. *
  103266. * In styled mode, the color zones are styled with the
  103267. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  103268. * option (view live demo).
  103269. */
  103270. zones?: Array<SeriesZonesOptionsObject>;
  103271. }
  103272. /**
  103273. * (Highstock) Enable or disable the initial animation when a series is
  103274. * displayed. The animation can also be set as a configuration object. Please
  103275. * note that this option only applies to the initial animation of the series
  103276. * itself. For other animations, see chart.animation and the animation parameter
  103277. * under the API methods. The following properties are supported:
  103278. *
  103279. * - `defer`: The animation delay time in milliseconds.
  103280. *
  103281. * - `duration`: The duration of the animation in milliseconds.
  103282. *
  103283. * - `easing`: Can be a string reference to an easing function set on the `Math`
  103284. * object or a function. See the _Custom easing function_ demo below.
  103285. *
  103286. * Due to poor performance, animation is disabled in old IE browsers for several
  103287. * chart types.
  103288. */
  103289. export interface PlotWmaAnimationOptions {
  103290. defer?: number;
  103291. }
  103292. /**
  103293. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  103294. * animation when a series is displayed for the `dataLabels`. The animation can
  103295. * also be set as a configuration object. Please note that this option only
  103296. * applies to the initial animation. For other animations, see chart.animation
  103297. * and the animation parameter under the API methods. The following properties
  103298. * are supported:
  103299. *
  103300. * - `defer`: The animation delay time in milliseconds.
  103301. */
  103302. export interface PlotWmaDataLabelsAnimationOptions {
  103303. /**
  103304. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  103305. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  103306. * inherits defer time from the series.animation.defer.
  103307. */
  103308. defer?: number;
  103309. }
  103310. /**
  103311. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  103312. * appearing next to each data point.
  103313. *
  103314. * Since v6.2.0, multiple data labels can be applied to each single point by
  103315. * defining them as an array of configs.
  103316. *
  103317. * In styled mode, the data labels can be styled with the
  103318. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  103319. * example).
  103320. */
  103321. export interface PlotWmaDataLabelsOptions {
  103322. /**
  103323. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  103324. * compared to the point. If `right`, the right side of the label should be
  103325. * touching the point. For points with an extent, like columns, the
  103326. * alignments also dictates how to align it inside the box, as given with
  103327. * the inside option. Can be one of `left`, `center` or `right`.
  103328. */
  103329. align?: (AlignValue|null);
  103330. /**
  103331. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  103332. * overlap. To make the labels less sensitive for overlapping, the
  103333. * dataLabels.padding can be set to 0.
  103334. */
  103335. allowOverlap?: boolean;
  103336. /**
  103337. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  103338. * animation when a series is displayed for the `dataLabels`. The animation
  103339. * can also be set as a configuration object. Please note that this option
  103340. * only applies to the initial animation. For other animations, see
  103341. * chart.animation and the animation parameter under the API methods. The
  103342. * following properties are supported:
  103343. *
  103344. * - `defer`: The animation delay time in milliseconds.
  103345. */
  103346. animation?: (boolean|PlotWmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  103347. /**
  103348. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  103349. * for the data label.
  103350. */
  103351. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  103352. /**
  103353. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  103354. * label. Defaults to `undefined`.
  103355. */
  103356. borderColor?: (ColorString|GradientColorObject|PatternObject);
  103357. /**
  103358. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  103359. * the data label.
  103360. */
  103361. borderRadius?: number;
  103362. /**
  103363. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  103364. * the data label.
  103365. */
  103366. borderWidth?: number;
  103367. /**
  103368. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  103369. * Particularly in styled mode, this can be used to give each series' or
  103370. * point's data label unique styling. In addition to this option, a default
  103371. * color class name is added so that we can give the labels a contrast text
  103372. * shadow.
  103373. */
  103374. className?: string;
  103375. /**
  103376. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  103377. * labels. Defaults to `undefined`. For certain series types, like column or
  103378. * map, the data labels can be drawn inside the points. In this case the
  103379. * data label will be drawn with maximum contrast by default. Additionally,
  103380. * it will be given a `text-outline` style with the opposite color, to
  103381. * further increase the contrast. This can be overridden by setting the
  103382. * `text-outline` style to `none` in the `dataLabels.style` option.
  103383. */
  103384. color?: (ColorString|GradientColorObject|PatternObject);
  103385. /**
  103386. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  103387. * are outside the plot area. By default, the data label is moved inside the
  103388. * plot area according to the overflow option.
  103389. */
  103390. crop?: boolean;
  103391. /**
  103392. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  103393. * labels until the initial series animation has finished. Setting to
  103394. * `false` renders the data label immediately. If set to `true` inherits the
  103395. * defer time set in plotOptions.series.animation. If set to a number, a
  103396. * defer time is specified in milliseconds.
  103397. */
  103398. defer?: (boolean|number);
  103399. /**
  103400. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  103401. * labels.
  103402. */
  103403. enabled?: boolean;
  103404. /**
  103405. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  103406. * of which data labels to display. The declarative filter is designed for
  103407. * use when callback functions are not available, like when the chart
  103408. * options require a pure JSON structure or for use with graphical editors.
  103409. * For programmatic control, use the `formatter` instead, and return
  103410. * `undefined` to disable a single data label.
  103411. */
  103412. filter?: DataLabelsFilterOptionsObject;
  103413. /**
  103414. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  103415. * label. Available variables are the same as for `formatter`.
  103416. */
  103417. format?: string;
  103418. /**
  103419. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  103420. * format the data label. Note that if a `format` is defined, the format
  103421. * takes precedence and the formatter is ignored.
  103422. */
  103423. formatter?: DataLabelsFormatterCallbackFunction;
  103424. /**
  103425. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  103426. * columns or map areas, whether to align the data label inside the box or
  103427. * to the actual value point. Defaults to `false` in most cases, `true` in
  103428. * stacked columns.
  103429. */
  103430. inside?: boolean;
  103431. /**
  103432. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  103433. * of null. Works analogously to format. `nullFormat` can be applied only to
  103434. * series which support displaying null points.
  103435. */
  103436. nullFormat?: (boolean|string);
  103437. /**
  103438. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  103439. * that defines formatting for points with the value of null. Works
  103440. * analogously to formatter. `nullPointFormatter` can be applied only to
  103441. * series which support displaying null points.
  103442. */
  103443. nullFormatter?: DataLabelsFormatterCallbackFunction;
  103444. /**
  103445. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  103446. * flow outside the plot area. The default is `"justify"`, which aligns them
  103447. * inside the plot area. For columns and bars, this means it will be moved
  103448. * inside the bar. To display data labels outside the plot area, set `crop`
  103449. * to `false` and `overflow` to `"allow"`.
  103450. */
  103451. overflow?: DataLabelsOverflowValue;
  103452. /**
  103453. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  103454. * the `backgroundColor` is set, this is the padding within the box.
  103455. */
  103456. padding?: number;
  103457. /**
  103458. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  103459. * points. If `center` alignment is not possible, it defaults to `right`.
  103460. */
  103461. position?: AlignValue;
  103462. /**
  103463. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  103464. * that due to a more complex structure, backgrounds, borders and padding
  103465. * will be lost on a rotated data label.
  103466. */
  103467. rotation?: number;
  103468. /**
  103469. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  103470. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  103471. * an object configuration containing `color`, `offsetX`, `offsetY`,
  103472. * `opacity` and `width`.
  103473. */
  103474. shadow?: (boolean|ShadowOptionsObject);
  103475. /**
  103476. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  103477. * the border around the label. Symbols are predefined functions on the
  103478. * Renderer object.
  103479. */
  103480. shape?: string;
  103481. /**
  103482. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  103483. * default `color` setting is `"contrast"`, which is a pseudo color that
  103484. * Highcharts picks up and applies the maximum contrast to the underlying
  103485. * point item, for example the bar in a bar chart.
  103486. *
  103487. * The `textOutline` is a pseudo property that applies an outline of the
  103488. * given width with the given color, which by default is the maximum
  103489. * contrast to the text. So a bright text color will result in a black text
  103490. * outline for maximum readability on a mixed background. In some cases,
  103491. * especially with grayscale text, the text outline doesn't work well, in
  103492. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  103493. * is true, the `textOutline` will not be picked up. In this, case, the same
  103494. * effect can be acheived through the `text-shadow` CSS property.
  103495. *
  103496. * For some series types, where each point has an extent, like for example
  103497. * tree maps, the data label may overflow the point. There are two
  103498. * strategies for handling overflow. By default, the text will wrap to
  103499. * multiple lines. The other strategy is to set `style.textOverflow` to
  103500. * `ellipsis`, which will keep the text on one line plus it will break
  103501. * inside long words.
  103502. */
  103503. style?: CSSObject;
  103504. /**
  103505. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  103506. * should follow marker's shape. Border and background are disabled for a
  103507. * label that follows a path.
  103508. *
  103509. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  103510. * to true will disable this option.
  103511. */
  103512. textPath?: DataLabelsTextPathOptionsObject;
  103513. /**
  103514. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  103515. * the labels.
  103516. */
  103517. useHTML?: boolean;
  103518. /**
  103519. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  103520. * label. Can be one of `top`, `middle` or `bottom`. The default value
  103521. * depends on the data, for instance in a column chart, the label is above
  103522. * positive values and below negative values.
  103523. */
  103524. verticalAlign?: (VerticalAlignValue|null);
  103525. /**
  103526. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  103527. * label relative to the point in pixels.
  103528. */
  103529. x?: number;
  103530. /**
  103531. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  103532. * label relative to the point in pixels.
  103533. */
  103534. y?: number;
  103535. /**
  103536. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  103537. * The default Z index puts it above the series. Use a Z index of 2 to
  103538. * display it behind the series.
  103539. */
  103540. z?: number;
  103541. }
  103542. /**
  103543. * (Highcharts, Highstock) Options for the series data sorting.
  103544. */
  103545. export interface PlotWmaDataSortingOptions {
  103546. /**
  103547. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  103548. * Use xAxis.reversed to change the sorting order.
  103549. */
  103550. enabled?: boolean;
  103551. /**
  103552. * (Highcharts, Highstock) Whether to allow matching points by name in an
  103553. * update. If this option is disabled, points will be matched by order.
  103554. */
  103555. matchByName?: boolean;
  103556. /**
  103557. * (Highcharts, Highstock) Determines what data value should be used to sort
  103558. * by.
  103559. */
  103560. sortKey?: string;
  103561. }
  103562. /**
  103563. * (Highstock) Weighted moving average indicator (WMA). This series requires
  103564. * `linkedTo` option to be set.
  103565. *
  103566. * In TypeScript the type option must always be set.
  103567. *
  103568. * Configuration options for the series are given in three levels:
  103569. *
  103570. * 1. Options for all series in a chart are defined in the plotOptions.series
  103571. * object.
  103572. *
  103573. * 2. Options for all `wma` series are defined in plotOptions.wma.
  103574. *
  103575. * 3. Options for one single series are given in the series instance array. (see
  103576. * online documentation for example)
  103577. */
  103578. export interface PlotWmaOptions {
  103579. /**
  103580. * (Highstock) Accessibility options for a series.
  103581. */
  103582. accessibility?: SeriesAccessibilityOptionsObject;
  103583. /**
  103584. * (Highstock) Allow this series' points to be selected by clicking on the
  103585. * graphic (columns, point markers, pie slices, map areas etc).
  103586. *
  103587. * The selected points can be handled by point select and unselect events,
  103588. * or collectively by the getSelectedPoints function.
  103589. *
  103590. * And alternative way of selecting points is through dragging.
  103591. */
  103592. allowPointSelect?: boolean;
  103593. /**
  103594. * (Highstock) Enable or disable the initial animation when a series is
  103595. * displayed. The animation can also be set as a configuration object.
  103596. * Please note that this option only applies to the initial animation of the
  103597. * series itself. For other animations, see chart.animation and the
  103598. * animation parameter under the API methods. The following properties are
  103599. * supported:
  103600. *
  103601. * - `defer`: The animation delay time in milliseconds.
  103602. *
  103603. * - `duration`: The duration of the animation in milliseconds.
  103604. *
  103605. * - `easing`: Can be a string reference to an easing function set on the
  103606. * `Math` object or a function. See the _Custom easing function_ demo below.
  103607. *
  103608. * Due to poor performance, animation is disabled in old IE browsers for
  103609. * several chart types.
  103610. */
  103611. animation?: (boolean|PlotWmaAnimationOptions|Partial<AnimationOptionsObject>);
  103612. /**
  103613. * (Highstock) For some series, there is a limit that shuts down initial
  103614. * animation by default when the total number of points in the chart is too
  103615. * high. For example, for a column chart and its derivatives, animation does
  103616. * not run if there is more than 250 points totally. To disable this cap,
  103617. * set `animationLimit` to `Infinity`.
  103618. */
  103619. animationLimit?: number;
  103620. /**
  103621. * (Highstock) Sets the color blending in the boost module.
  103622. */
  103623. boostBlending?: OptionsBoostBlendingValue;
  103624. /**
  103625. * (Highstock) Set the point threshold for when a series should enter boost
  103626. * mode.
  103627. *
  103628. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  103629. * there are 2000 or more points in the series.
  103630. *
  103631. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  103632. * it to 1 will force boosting.
  103633. *
  103634. * Note that the cropThreshold also affects this setting. When zooming in on
  103635. * a series that has fewer points than the `cropThreshold`, all points are
  103636. * rendered although outside the visible plot area, and the `boostThreshold`
  103637. * won't take effect.
  103638. */
  103639. boostThreshold?: number;
  103640. /**
  103641. * (Highmaps) The border color of the map areas.
  103642. *
  103643. * In styled mode, the border stroke is given in the `.highcharts-point`
  103644. * class.
  103645. */
  103646. borderColor?: (ColorString|GradientColorObject|PatternObject);
  103647. /**
  103648. * (Highmaps) The border width of each map area.
  103649. *
  103650. * In styled mode, the border stroke width is given in the
  103651. * `.highcharts-point` class.
  103652. */
  103653. borderWidth?: number;
  103654. /**
  103655. * (Highstock) An additional class name to apply to the series' graphical
  103656. * elements. This option does not replace default class names of the
  103657. * graphical element.
  103658. */
  103659. className?: string;
  103660. /**
  103661. * (Highstock) Disable this option to allow series rendering in the whole
  103662. * plotting area.
  103663. *
  103664. * **Note:** Clipping should be always enabled when chart.zoomType is set
  103665. */
  103666. clip?: boolean;
  103667. /**
  103668. * (Highstock) The main color of the series. In line type series it applies
  103669. * to the line and the point markers unless otherwise specified. In bar type
  103670. * series it applies to the bars unless a color is specified per point. The
  103671. * default value is pulled from the `options.colors` array.
  103672. *
  103673. * In styled mode, the color can be defined by the colorIndex option. Also,
  103674. * the series color can be set with the `.highcharts-series`,
  103675. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  103676. * `.highcharts-series-{n}` class, or individual classes given by the
  103677. * `className` option.
  103678. */
  103679. color?: (ColorString|GradientColorObject|PatternObject);
  103680. /**
  103681. * (Highstock) Styled mode only. A specific color index to use for the
  103682. * series, so its graphic representations are given the class name
  103683. * `highcharts-color-{n}`.
  103684. */
  103685. colorIndex?: number;
  103686. /**
  103687. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  103688. * used to calculate point color if `colorAxis` is used. Requires to set
  103689. * `min` and `max` if some custom point property is used or if approximation
  103690. * for data grouping is set to `'sum'`.
  103691. */
  103692. colorKey?: string;
  103693. /**
  103694. * (Highstock) Compare the values of the series against the first non-null,
  103695. * non- zero value in the visible range. The y axis will show percentage or
  103696. * absolute change depending on whether `compare` is set to `"percent"` or
  103697. * `"value"`. When this is applied to multiple series, it allows comparing
  103698. * the development of the series against each other. Adds a `change` field
  103699. * to every point object.
  103700. */
  103701. compare?: string;
  103702. /**
  103703. * (Highstock) When compare is `percent`, this option dictates whether to
  103704. * use 0 or 100 as the base of comparison.
  103705. */
  103706. compareBase?: (0|100);
  103707. /**
  103708. * (Highstock) Defines if comparison should start from the first point
  103709. * within the visible range or should start from the first point **before**
  103710. * the range.
  103711. *
  103712. * In other words, this flag determines if first point within the visible
  103713. * range will have 0% (`compareStart=true`) or should have been already
  103714. * calculated according to the previous point (`compareStart=false`).
  103715. */
  103716. compareStart?: boolean;
  103717. /**
  103718. * (Highstock) Whether to compare indicator to the main series values or
  103719. * indicator values.
  103720. */
  103721. compareToMain?: boolean;
  103722. /**
  103723. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  103724. * series plot across the extremes.
  103725. */
  103726. connectEnds?: boolean;
  103727. /**
  103728. * (Highcharts, Highstock) Whether to connect a graph line across null
  103729. * points, or render a gap between the two points on either side of the
  103730. * null.
  103731. */
  103732. connectNulls?: boolean;
  103733. /**
  103734. * (Gantt) Override Pathfinder connector options for a series. Requires
  103735. * Highcharts Gantt to be loaded.
  103736. */
  103737. connectors?: SeriesConnectorsOptionsObject;
  103738. /**
  103739. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  103740. * rounded to its nearest pixel in order to render sharp on screen. In some
  103741. * cases, when there are a lot of densely packed columns, this leads to
  103742. * visible difference in column widths or distance between columns. In these
  103743. * cases, setting `crisp` to `false` may look better, even though each
  103744. * column is rendered blurry.
  103745. */
  103746. crisp?: boolean;
  103747. /**
  103748. * (Highcharts, Highstock) When the series contains less points than the
  103749. * crop threshold, all points are drawn, even if the points fall outside the
  103750. * visible plot area at the current zoom. The advantage of drawing all
  103751. * points (including markers and columns), is that animation is performed on
  103752. * updates. On the other hand, when the series contains more points than the
  103753. * crop threshold, the series data is cropped to only contain points that
  103754. * fall within the plot area. The advantage of cropping away invisible
  103755. * points is to increase performance on large series.
  103756. */
  103757. cropThreshold?: number;
  103758. /**
  103759. * (Highstock) You can set the cursor to "pointer" if you have click events
  103760. * attached to the series, to signal to the user that the points and lines
  103761. * can be clicked.
  103762. *
  103763. * In styled mode, the series cursor can be set with the same classes as
  103764. * listed under series.color.
  103765. */
  103766. cursor?: (string|CursorValue);
  103767. /**
  103768. * (Highstock) A reserved subspace to store options and values for
  103769. * customized functionality. Here you can add additional data for your own
  103770. * event callbacks and formatter callbacks.
  103771. */
  103772. custom?: Dictionary<any>;
  103773. /**
  103774. * (Highstock) Name of the dash style to use for the graph, or for some
  103775. * series types the outline of each shape.
  103776. *
  103777. * In styled mode, the stroke dash-array can be set with the same classes as
  103778. * listed under series.color.
  103779. */
  103780. dashStyle?: DashStyleValue;
  103781. /**
  103782. * (Highstock) Data grouping is the concept of sampling the data values into
  103783. * larger blocks in order to ease readability and increase performance of
  103784. * the JavaScript charts. Highcharts Stock by default applies data grouping
  103785. * when the points become closer than a certain pixel value, determined by
  103786. * the `groupPixelWidth` option.
  103787. *
  103788. * If data grouping is applied, the grouping information of grouped points
  103789. * can be read from the Point.dataGroup. If point options other than the
  103790. * data itself are set, for example `name` or `color` or custom properties,
  103791. * the grouping logic doesn't know how to group it. In this case the options
  103792. * of the first point instance are copied over to the group point. This can
  103793. * be altered through a custom `approximation` callback function.
  103794. */
  103795. dataGrouping?: DataGroupingOptionsObject;
  103796. /**
  103797. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  103798. * labels, appearing next to each data point.
  103799. *
  103800. * Since v6.2.0, multiple data labels can be applied to each single point by
  103801. * defining them as an array of configs.
  103802. *
  103803. * In styled mode, the data labels can be styled with the
  103804. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  103805. * (see example).
  103806. */
  103807. dataLabels?: (PlotWmaDataLabelsOptions|Array<PlotWmaDataLabelsOptions>);
  103808. /**
  103809. * (Highcharts, Highstock) Options for the series data sorting.
  103810. */
  103811. dataSorting?: (DataSortingOptionsObject|PlotWmaDataSortingOptions);
  103812. /**
  103813. * (Highstock) A description of the series to add to the screen reader
  103814. * information about the series.
  103815. */
  103816. description?: string;
  103817. /**
  103818. * (Highstock) Enable or disable the mouse tracking for a specific series.
  103819. * This includes point tooltips and click events on graphs and points. For
  103820. * large datasets it improves performance.
  103821. */
  103822. enableMouseTracking?: boolean;
  103823. /**
  103824. * (Highstock) General event handlers for the series items. These event
  103825. * hooks can also be attached to the series at run time using the
  103826. * `Highcharts.addEvent` function.
  103827. */
  103828. events?: SeriesEventsOptionsObject;
  103829. /**
  103830. * (Highstock) Determines whether the series should look for the nearest
  103831. * point in both dimensions or just the x-dimension when hovering the
  103832. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  103833. * series. If the data has duplicate x-values, it is recommended to set this
  103834. * to `'xy'` to allow hovering over all points.
  103835. *
  103836. * Applies only to series types using nearest neighbor search (not direct
  103837. * hover) for tooltip.
  103838. */
  103839. findNearestPointBy?: OptionsFindNearestPointByValue;
  103840. /**
  103841. * (Highstock) Defines when to display a gap in the graph, together with the
  103842. * gapUnit option.
  103843. *
  103844. * In case when `dataGrouping` is enabled, points can be grouped into a
  103845. * larger time span. This can make the grouped points to have a greater
  103846. * distance than the absolute value of `gapSize` property, which will result
  103847. * in disappearing graph completely. To prevent this situation the mentioned
  103848. * distance between grouped points is used instead of previously defined
  103849. * `gapSize`.
  103850. *
  103851. * In practice, this option is most often used to visualize gaps in time
  103852. * series. In a stock chart, intraday data is available for daytime hours,
  103853. * while gaps will appear in nights and weekends.
  103854. */
  103855. gapSize?: number;
  103856. /**
  103857. * (Highstock) Together with gapSize, this option defines where to draw gaps
  103858. * in the graph.
  103859. *
  103860. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  103861. * if the distance between two points is greater than 5 times that of the
  103862. * two closest points, the graph will be broken.
  103863. *
  103864. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  103865. * values, which on a datetime axis is milliseconds. This also applies to
  103866. * the navigator series that inherits gap options from the base series.
  103867. */
  103868. gapUnit?: OptionsGapUnitValue;
  103869. /**
  103870. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  103871. * chart width or only the zoomed area when zooming in on parts of the X
  103872. * axis. By default, the Y axis adjusts to the min and max of the visible
  103873. * data. Cartesian series only.
  103874. */
  103875. getExtremesFromAll?: boolean;
  103876. /**
  103877. * (Highstock) When set to `false` will prevent the series data from being
  103878. * included in any form of data export.
  103879. *
  103880. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  103881. * `includeInCSVExport`.
  103882. */
  103883. includeInDataExport?: boolean;
  103884. /**
  103885. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  103886. * series as possible in a natural way, seeking to avoid other series. The
  103887. * goal of this feature is to make the chart more easily readable, like if a
  103888. * human designer placed the labels in the optimal position.
  103889. *
  103890. * The series labels currently work with series types having a `graph` or an
  103891. * `area`.
  103892. */
  103893. label?: SeriesLabelOptionsObject;
  103894. /**
  103895. * (Highstock) The line marks the last price from all points.
  103896. */
  103897. lastPrice?: SeriesLastPriceOptionsObject;
  103898. /**
  103899. * (Highstock) The line marks the last price from visible range of points.
  103900. */
  103901. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  103902. /**
  103903. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  103904. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  103905. * the ends and bends.
  103906. */
  103907. linecap?: SeriesLinecapValue;
  103908. /**
  103909. * (Highcharts, Highstock) Pixel width of the graph line.
  103910. */
  103911. lineWidth?: number;
  103912. /**
  103913. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  103914. * based on. Required for this indicator.
  103915. */
  103916. linkedTo?: string;
  103917. /**
  103918. * (Highstock) Options for the point markers of line-like series. Properties
  103919. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  103920. * appearance of the markers. Other series types, like column series, don't
  103921. * have markers, but have visual options on the series level instead.
  103922. *
  103923. * In styled mode, the markers can be styled with the `.highcharts-point`,
  103924. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  103925. */
  103926. marker?: PointMarkerOptionsObject;
  103927. /**
  103928. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  103929. * If not set, it will be based on a technical indicator type and default
  103930. * params.
  103931. */
  103932. name?: string;
  103933. /**
  103934. * (Highstock) The color for the parts of the graph or points that are below
  103935. * the threshold. Note that `zones` takes precedence over the negative
  103936. * color. Using `negativeColor` is equivalent to applying a zone with value
  103937. * of 0.
  103938. */
  103939. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  103940. /**
  103941. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  103942. * dataLabels.
  103943. */
  103944. opacity?: number;
  103945. /**
  103946. * (Highstock) Paramters used in calculation of regression series' points.
  103947. */
  103948. params?: PlotWmaParamsOptions;
  103949. /**
  103950. * (Highstock) Properties for each single point.
  103951. */
  103952. point?: PlotSeriesPointOptions;
  103953. /**
  103954. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  103955. * individual series. Overrides the chart wide configuration.
  103956. */
  103957. pointDescriptionFormatter?: Function;
  103958. /**
  103959. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  103960. * true, the checkbox next to the series name in the legend will be checked
  103961. * for a selected series.
  103962. */
  103963. selected?: boolean;
  103964. /**
  103965. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  103966. * the shadow can be an object configuration containing `color`, `offsetX`,
  103967. * `offsetY`, `opacity` and `width`.
  103968. */
  103969. shadow?: (boolean|ShadowOptionsObject);
  103970. /**
  103971. * (Highstock) If true, a checkbox is displayed next to the legend item to
  103972. * allow selecting the series. The state of the checkbox is determined by
  103973. * the `selected` option.
  103974. */
  103975. showCheckbox?: boolean;
  103976. /**
  103977. * (Highstock) Whether to display this particular series or series type in
  103978. * the legend. Standalone series are shown in legend by default, and linked
  103979. * series are not. Since v7.2.0 it is possible to show series that use
  103980. * colorAxis by setting this option to `true`.
  103981. */
  103982. showInLegend?: boolean;
  103983. /**
  103984. * (Highstock) If set to `true`, the accessibility module will skip past the
  103985. * points in this series for keyboard navigation.
  103986. */
  103987. skipKeyboardNavigation?: boolean;
  103988. /**
  103989. * (Highcharts, Highstock) When this is true, the series will not cause the
  103990. * Y axis to cross the zero plane (or threshold option) unless the data
  103991. * actually crosses the plane.
  103992. *
  103993. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  103994. * make the Y axis show negative values according to the `minPadding`
  103995. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  103996. */
  103997. softThreshold?: boolean;
  103998. states?: SeriesStatesOptionsObject;
  103999. /**
  104000. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  104001. * values are `left`, `center` and `right`.
  104002. */
  104003. step?: OptionsStepValue;
  104004. /**
  104005. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  104006. * event on a series isn't triggered until the mouse moves over another
  104007. * series, or out of the plot area. When false, the `mouseOut` event on a
  104008. * series is triggered when the mouse leaves the area around the series'
  104009. * graph or markers. This also implies the tooltip when not shared. When
  104010. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  104011. * be hidden when moving the mouse between series. Defaults to true for line
  104012. * and area type series, but to false for columns, pies etc.
  104013. *
  104014. * **Note:** The boost module will force this option because of technical
  104015. * limitations.
  104016. */
  104017. stickyTracking?: boolean;
  104018. /**
  104019. * (Highcharts, Highstock) The threshold, also called zero level or base
  104020. * level. For line type series this is only used in conjunction with
  104021. * negativeColor.
  104022. */
  104023. threshold?: (number|null);
  104024. /**
  104025. * (Highstock) A configuration object for the tooltip rendering of each
  104026. * single series. Properties are inherited from tooltip, but only the
  104027. * following properties can be defined on a series level.
  104028. */
  104029. tooltip?: SeriesTooltipOptionsObject;
  104030. /**
  104031. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  104032. * is longer than this, only one dimensional arrays of numbers, or two
  104033. * dimensional arrays with x and y values are allowed. Also, only the first
  104034. * point is tested, and the rest are assumed to be the same format. This
  104035. * saves expensive data checking and indexing in long series. Set it to `0`
  104036. * disable.
  104037. *
  104038. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  104039. * two dimensional arrays are allowed.
  104040. */
  104041. turboThreshold?: number;
  104042. /**
  104043. * (Highstock) Set the initial visibility of the series.
  104044. */
  104045. visible?: boolean;
  104046. /**
  104047. * (Highmaps) Define the z index of the series.
  104048. */
  104049. zIndex?: number;
  104050. /**
  104051. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  104052. */
  104053. zoneAxis?: string;
  104054. /**
  104055. * (Highcharts, Highstock) An array defining zones within a series. Zones
  104056. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  104057. * the `zoneAxis` option. The zone definitions have to be in ascending order
  104058. * regarding to the value.
  104059. *
  104060. * In styled mode, the color zones are styled with the
  104061. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  104062. * option (view live demo).
  104063. */
  104064. zones?: Array<SeriesZonesOptionsObject>;
  104065. }
  104066. /**
  104067. * (Highstock) Paramters used in calculation of regression series' points.
  104068. */
  104069. export interface PlotWmaParamsOptions {
  104070. /**
  104071. * (Highstock) The point index which indicator calculations will base. For
  104072. * example using OHLC data, index=2 means the indicator will be calculated
  104073. * using Low values.
  104074. */
  104075. index?: number;
  104076. /**
  104077. * (Highstock) The base period for indicator calculations. This is the
  104078. * number of data points which are taken into account for the indicator
  104079. * calculations.
  104080. */
  104081. period?: number;
  104082. }
  104083. /**
  104084. * (Highcharts) Enable or disable the initial animation when a series is
  104085. * displayed. The animation can also be set as a configuration object. Please
  104086. * note that this option only applies to the initial animation of the series
  104087. * itself. For other animations, see chart.animation and the animation parameter
  104088. * under the API methods. The following properties are supported:
  104089. *
  104090. * - `defer`: The animation delay time in milliseconds.
  104091. *
  104092. * - `duration`: The duration of the animation in milliseconds.
  104093. *
  104094. * - `easing`: Can be a string reference to an easing function set on the `Math`
  104095. * object or a function. See the _Custom easing function_ demo below.
  104096. *
  104097. * Due to poor performance, animation is disabled in old IE browsers for several
  104098. * chart types.
  104099. */
  104100. export interface PlotWordcloudAnimationOptions {
  104101. defer?: number;
  104102. }
  104103. /**
  104104. * (Highcharts) A word cloud is a visualization of a set of words, where the
  104105. * size and placement of a word is determined by how it is weighted.
  104106. *
  104107. * In TypeScript the type option must always be set.
  104108. *
  104109. * Configuration options for the series are given in three levels:
  104110. *
  104111. * 1. Options for all series in a chart are defined in the plotOptions.series
  104112. * object.
  104113. *
  104114. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  104115. *
  104116. * 3. Options for one single series are given in the series instance array. (see
  104117. * online documentation for example)
  104118. */
  104119. export interface PlotWordcloudOptions {
  104120. /**
  104121. * (Highcharts) Accessibility options for a series.
  104122. */
  104123. accessibility?: SeriesAccessibilityOptionsObject;
  104124. /**
  104125. * (Highcharts) If there is no space for a word on the playing field, then
  104126. * this option will allow the playing field to be extended to fit the word.
  104127. * If false then the word will be dropped from the visualization.
  104128. *
  104129. * NB! This option is currently not decided to be published in the API, and
  104130. * is therefore marked as private.
  104131. */
  104132. allowExtendPlayingField?: boolean;
  104133. /**
  104134. * (Highcharts) Allow this series' points to be selected by clicking on the
  104135. * graphic (columns, point markers, pie slices, map areas etc).
  104136. *
  104137. * The selected points can be handled by point select and unselect events,
  104138. * or collectively by the getSelectedPoints function.
  104139. *
  104140. * And alternative way of selecting points is through dragging.
  104141. */
  104142. allowPointSelect?: boolean;
  104143. /**
  104144. * (Highcharts) Enable or disable the initial animation when a series is
  104145. * displayed. The animation can also be set as a configuration object.
  104146. * Please note that this option only applies to the initial animation of the
  104147. * series itself. For other animations, see chart.animation and the
  104148. * animation parameter under the API methods. The following properties are
  104149. * supported:
  104150. *
  104151. * - `defer`: The animation delay time in milliseconds.
  104152. *
  104153. * - `duration`: The duration of the animation in milliseconds.
  104154. *
  104155. * - `easing`: Can be a string reference to an easing function set on the
  104156. * `Math` object or a function. See the _Custom easing function_ demo below.
  104157. *
  104158. * Due to poor performance, animation is disabled in old IE browsers for
  104159. * several chart types.
  104160. */
  104161. animation?: (boolean|PlotWordcloudAnimationOptions|Partial<AnimationOptionsObject>);
  104162. /**
  104163. * (Highcharts) For some series, there is a limit that shuts down initial
  104164. * animation by default when the total number of points in the chart is too
  104165. * high. For example, for a column chart and its derivatives, animation does
  104166. * not run if there is more than 250 points totally. To disable this cap,
  104167. * set `animationLimit` to `Infinity`.
  104168. */
  104169. animationLimit?: number;
  104170. /**
  104171. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  104172. * column or bar.
  104173. *
  104174. * In styled mode, the border stroke can be set with the `.highcharts-point`
  104175. * rule.
  104176. */
  104177. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104178. /**
  104179. * (Highcharts, Highstock, Gantt) The corner radius of the border
  104180. * surrounding each column or bar.
  104181. */
  104182. borderRadius?: number;
  104183. /**
  104184. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  104185. * column or bar. Defaults to `1` when there is room for a border, but to
  104186. * `0` when the columns are so dense that a border would cover the next
  104187. * column.
  104188. *
  104189. * In styled mode, the stroke width can be set with the `.highcharts-point`
  104190. * rule.
  104191. */
  104192. borderWidth?: number;
  104193. /**
  104194. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  104195. * the category, ignoring null or missing points. When `false`, space will
  104196. * be reserved for null or missing points.
  104197. */
  104198. centerInCategory?: boolean;
  104199. /**
  104200. * (Highcharts) An additional class name to apply to the series' graphical
  104201. * elements. This option does not replace default class names of the
  104202. * graphical element.
  104203. */
  104204. className?: string;
  104205. clip?: boolean;
  104206. /**
  104207. * (Highcharts) The main color of the series. In line type series it applies
  104208. * to the line and the point markers unless otherwise specified. In bar type
  104209. * series it applies to the bars unless a color is specified per point. The
  104210. * default value is pulled from the `options.colors` array.
  104211. *
  104212. * In styled mode, the color can be defined by the colorIndex option. Also,
  104213. * the series color can be set with the `.highcharts-series`,
  104214. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  104215. * `.highcharts-series-{n}` class, or individual classes given by the
  104216. * `className` option.
  104217. */
  104218. color?: (ColorString|GradientColorObject|PatternObject);
  104219. /**
  104220. * (Highcharts, Highstock, Gantt) When using automatic point colors pulled
  104221. * from the global colors or series-specific plotOptions.column.colors
  104222. * collections, this option determines whether the chart should receive one
  104223. * color per series or one color per point.
  104224. *
  104225. * In styled mode, the `colors` or `series.colors` arrays are not supported,
  104226. * and instead this option gives the points individual color class names on
  104227. * the form `highcharts-color-{n}`.
  104228. */
  104229. colorByPoint?: boolean;
  104230. /**
  104231. * (Highcharts) Styled mode only. A specific color index to use for the
  104232. * series, so its graphic representations are given the class name
  104233. * `highcharts-color-{n}`.
  104234. */
  104235. colorIndex?: number;
  104236. /**
  104237. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  104238. * used to calculate point color if `colorAxis` is used. Requires to set
  104239. * `min` and `max` if some custom point property is used or if approximation
  104240. * for data grouping is set to `'sum'`.
  104241. */
  104242. colorKey?: string;
  104243. /**
  104244. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  104245. * color set to apply instead of the global colors when colorByPoint is
  104246. * true.
  104247. */
  104248. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  104249. /**
  104250. * (Highstock) Defines if comparison should start from the first point
  104251. * within the visible range or should start from the first point **before**
  104252. * the range.
  104253. *
  104254. * In other words, this flag determines if first point within the visible
  104255. * range will have 0% (`compareStart=true`) or should have been already
  104256. * calculated according to the previous point (`compareStart=false`).
  104257. */
  104258. compareStart?: boolean;
  104259. /**
  104260. * (Gantt) Override Pathfinder connector options for a series. Requires
  104261. * Highcharts Gantt to be loaded.
  104262. */
  104263. connectors?: SeriesConnectorsOptionsObject;
  104264. /**
  104265. * (Highcharts, Highstock, Gantt) When the series contains less points than
  104266. * the crop threshold, all points are drawn, event if the points fall
  104267. * outside the visible plot area at the current zoom. The advantage of
  104268. * drawing all points (including markers and columns), is that animation is
  104269. * performed on updates. On the other hand, when the series contains more
  104270. * points than the crop threshold, the series data is cropped to only
  104271. * contain points that fall within the plot area. The advantage of cropping
  104272. * away invisible points is to increase performance on large series.
  104273. */
  104274. cropThreshold?: number;
  104275. /**
  104276. * (Highcharts) You can set the cursor to "pointer" if you have click events
  104277. * attached to the series, to signal to the user that the points and lines
  104278. * can be clicked.
  104279. *
  104280. * In styled mode, the series cursor can be set with the same classes as
  104281. * listed under series.color.
  104282. */
  104283. cursor?: (string|CursorValue);
  104284. /**
  104285. * (Highcharts) A reserved subspace to store options and values for
  104286. * customized functionality. Here you can add additional data for your own
  104287. * event callbacks and formatter callbacks.
  104288. */
  104289. custom?: Dictionary<any>;
  104290. /**
  104291. * (Highcharts) Name of the dash style to use for the graph, or for some
  104292. * series types the outline of each shape.
  104293. *
  104294. * In styled mode, the stroke dash-array can be set with the same classes as
  104295. * listed under series.color.
  104296. */
  104297. dashStyle?: DashStyleValue;
  104298. /**
  104299. * (Highcharts) A description of the series to add to the screen reader
  104300. * information about the series.
  104301. */
  104302. description?: string;
  104303. /**
  104304. * (Highcharts) 3D columns only. The width of the colored edges.
  104305. */
  104306. edgeWidth?: number;
  104307. /**
  104308. * (Highcharts) Enable or disable the mouse tracking for a specific series.
  104309. * This includes point tooltips and click events on graphs and points. For
  104310. * large datasets it improves performance.
  104311. */
  104312. enableMouseTracking?: boolean;
  104313. /**
  104314. * (Highcharts) General event handlers for the series items. These event
  104315. * hooks can also be attached to the series at run time using the
  104316. * `Highcharts.addEvent` function.
  104317. */
  104318. events?: SeriesEventsOptionsObject;
  104319. /**
  104320. * (Highcharts) When set to `false` will prevent the series data from being
  104321. * included in any form of data export.
  104322. *
  104323. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  104324. * `includeInCSVExport`.
  104325. */
  104326. includeInDataExport?: boolean;
  104327. /**
  104328. * (Highcharts) An array specifying which option maps to which key in the
  104329. * data point array. This makes it convenient to work with unstructured data
  104330. * arrays from different sources.
  104331. */
  104332. keys?: Array<string>;
  104333. /**
  104334. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  104335. * series as possible in a natural way, seeking to avoid other series. The
  104336. * goal of this feature is to make the chart more easily readable, like if a
  104337. * human designer placed the labels in the optimal position.
  104338. *
  104339. * The series labels currently work with series types having a `graph` or an
  104340. * `area`.
  104341. */
  104342. label?: SeriesLabelOptionsObject;
  104343. /**
  104344. * (Highstock) The line marks the last price from all points.
  104345. */
  104346. lastPrice?: SeriesLastPriceOptionsObject;
  104347. /**
  104348. * (Highstock) The line marks the last price from visible range of points.
  104349. */
  104350. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  104351. /**
  104352. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  104353. * Additionally, the value can be ":previous" to link to the previous
  104354. * series. When two series are linked, only the first one appears in the
  104355. * legend. Toggling the visibility of this also toggles the linked series.
  104356. *
  104357. * If master series uses data sorting and linked series does not have its
  104358. * own sorting definition, the linked series will be sorted in the same
  104359. * order as the master one.
  104360. */
  104361. linkedTo?: string;
  104362. /**
  104363. * (Highcharts) The word with the largest weight will have a font size equal
  104364. * to this value. The font size of a word is the ratio between its weight
  104365. * and the largest occuring weight, multiplied with the value of
  104366. * maxFontSize.
  104367. */
  104368. maxFontSize?: number;
  104369. /**
  104370. * (Highcharts) A threshold determining the minimum font size that can be
  104371. * applied to a word.
  104372. */
  104373. minFontSize?: number;
  104374. /**
  104375. * (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
  104376. * dataLabels.
  104377. */
  104378. opacity?: number;
  104379. /**
  104380. * (Highcharts) This option decides which algorithm is used for placement,
  104381. * and rotation of a word. The choice of algorith is therefore a crucial
  104382. * part of the resulting layout of the wordcloud. It is possible for users
  104383. * to add their own custom placement strategies for use in word cloud. Read
  104384. * more about it in our documentation
  104385. */
  104386. placementStrategy?: string;
  104387. /**
  104388. * (Highcharts) Properties for each single point.
  104389. */
  104390. point?: PlotSeriesPointOptions;
  104391. /**
  104392. * (Highcharts) Same as accessibility.series.descriptionFormatter, but for
  104393. * an individual series. Overrides the chart wide configuration.
  104394. */
  104395. pointDescriptionFormatter?: Function;
  104396. /**
  104397. * (Highcharts) Rotation options for the words in the wordcloud.
  104398. */
  104399. rotation?: PlotWordcloudRotationOptions;
  104400. /**
  104401. * (Highcharts) Whether to select the series initially. If `showCheckbox` is
  104402. * true, the checkbox next to the series name in the legend will be checked
  104403. * for a selected series.
  104404. */
  104405. selected?: boolean;
  104406. /**
  104407. * (Highcharts) Whether to display this particular series or series type in
  104408. * the legend. Standalone series are shown in legend by default, and linked
  104409. * series are not. Since v7.2.0 it is possible to show series that use
  104410. * colorAxis by setting this option to `true`.
  104411. */
  104412. showInLegend?: boolean;
  104413. /**
  104414. * (Highcharts) If set to `true`, the accessibility module will skip past
  104415. * the points in this series for keyboard navigation.
  104416. */
  104417. skipKeyboardNavigation?: boolean;
  104418. /**
  104419. * (Highcharts) Spiral used for placing a word after the initial position
  104420. * experienced a collision with either another word or the borders. It is
  104421. * possible for users to add their own custom spiralling algorithms for use
  104422. * in word cloud. Read more about it in our documentation
  104423. */
  104424. spiral?: string;
  104425. states?: SeriesStatesOptionsObject;
  104426. /**
  104427. * (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
  104428. * event on a series isn't triggered until the mouse moves over another
  104429. * series, or out of the plot area. When false, the `mouseOut` event on a
  104430. * series is triggered when the mouse leaves the area around the series'
  104431. * graph or markers. This also implies the tooltip when not shared. When
  104432. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  104433. * be hidden when moving the mouse between series. Defaults to true for line
  104434. * and area type series, but to false for columns, pies etc.
  104435. *
  104436. * **Note:** The boost module will force this option because of technical
  104437. * limitations.
  104438. */
  104439. stickyTracking?: boolean;
  104440. /**
  104441. * (Highcharts) CSS styles for the words.
  104442. */
  104443. style?: CSSObject;
  104444. /**
  104445. * (Highcharts) A configuration object for the tooltip rendering of each
  104446. * single series. Properties are inherited from tooltip, but only the
  104447. * following properties can be defined on a series level.
  104448. */
  104449. tooltip?: SeriesTooltipOptionsObject;
  104450. /**
  104451. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  104452. * is longer than this, only one dimensional arrays of numbers, or two
  104453. * dimensional arrays with x and y values are allowed. Also, only the first
  104454. * point is tested, and the rest are assumed to be the same format. This
  104455. * saves expensive data checking and indexing in long series. Set it to `0`
  104456. * disable.
  104457. *
  104458. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  104459. * two dimensional arrays are allowed.
  104460. */
  104461. turboThreshold?: number;
  104462. /**
  104463. * (Highcharts) Set the initial visibility of the series.
  104464. */
  104465. visible?: boolean;
  104466. /**
  104467. * (Highmaps) Define the z index of the series.
  104468. */
  104469. zIndex?: number;
  104470. }
  104471. /**
  104472. * (Highcharts) Rotation options for the words in the wordcloud.
  104473. */
  104474. export interface PlotWordcloudRotationOptions {
  104475. /**
  104476. * (Highcharts) The smallest degree of rotation for a word.
  104477. */
  104478. from?: number;
  104479. /**
  104480. * (Highcharts) The number of possible orientations for a word, within the
  104481. * range of `rotation.from` and `rotation.to`. Must be a number larger than
  104482. * 0.
  104483. */
  104484. orientations?: number;
  104485. /**
  104486. * (Highcharts) The largest degree of rotation for a word.
  104487. */
  104488. to?: number;
  104489. }
  104490. /**
  104491. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  104492. * series is displayed. The animation can also be set as a configuration object.
  104493. * Please note that this option only applies to the initial animation of the
  104494. * series itself. For other animations, see chart.animation and the animation
  104495. * parameter under the API methods. The following properties are supported:
  104496. *
  104497. * - `defer`: The animation delay time in milliseconds.
  104498. *
  104499. * - `duration`: The duration of the animation in milliseconds.
  104500. *
  104501. * - `easing`: Can be a string reference to an easing function set on the `Math`
  104502. * object or a function. See the _Custom easing function_ demo below.
  104503. *
  104504. * Due to poor performance, animation is disabled in old IE browsers for several
  104505. * chart types.
  104506. */
  104507. export interface PlotXrangeAnimationOptions {
  104508. defer?: number;
  104509. }
  104510. /**
  104511. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  104512. * animation when a series is displayed for the `dataLabels`. The animation can
  104513. * also be set as a configuration object. Please note that this option only
  104514. * applies to the initial animation. For other animations, see chart.animation
  104515. * and the animation parameter under the API methods. The following properties
  104516. * are supported:
  104517. *
  104518. * - `defer`: The animation delay time in milliseconds.
  104519. */
  104520. export interface PlotXrangeDataLabelsAnimationOptions {
  104521. /**
  104522. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  104523. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  104524. * inherits defer time from the series.animation.defer.
  104525. */
  104526. defer?: number;
  104527. }
  104528. /**
  104529. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  104530. * appearing next to each data point.
  104531. *
  104532. * Since v6.2.0, multiple data labels can be applied to each single point by
  104533. * defining them as an array of configs.
  104534. *
  104535. * In styled mode, the data labels can be styled with the
  104536. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  104537. * example).
  104538. */
  104539. export interface PlotXrangeDataLabelsOptions {
  104540. /**
  104541. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  104542. * compared to the point. If `right`, the right side of the label should be
  104543. * touching the point. For points with an extent, like columns, the
  104544. * alignments also dictates how to align it inside the box, as given with
  104545. * the inside option. Can be one of `left`, `center` or `right`.
  104546. */
  104547. align?: string;
  104548. /**
  104549. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  104550. * overlap. To make the labels less sensitive for overlapping, the
  104551. * dataLabels.padding can be set to 0.
  104552. */
  104553. allowOverlap?: boolean;
  104554. /**
  104555. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  104556. * animation when a series is displayed for the `dataLabels`. The animation
  104557. * can also be set as a configuration object. Please note that this option
  104558. * only applies to the initial animation. For other animations, see
  104559. * chart.animation and the animation parameter under the API methods. The
  104560. * following properties are supported:
  104561. *
  104562. * - `defer`: The animation delay time in milliseconds.
  104563. */
  104564. animation?: (boolean|PlotXrangeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  104565. /**
  104566. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  104567. * for the data label.
  104568. */
  104569. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  104570. /**
  104571. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  104572. * label. Defaults to `undefined`.
  104573. */
  104574. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104575. /**
  104576. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  104577. * the data label.
  104578. */
  104579. borderRadius?: number;
  104580. /**
  104581. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  104582. * the data label.
  104583. */
  104584. borderWidth?: number;
  104585. /**
  104586. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  104587. * Particularly in styled mode, this can be used to give each series' or
  104588. * point's data label unique styling. In addition to this option, a default
  104589. * color class name is added so that we can give the labels a contrast text
  104590. * shadow.
  104591. */
  104592. className?: string;
  104593. /**
  104594. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  104595. * labels. Defaults to `undefined`. For certain series types, like column or
  104596. * map, the data labels can be drawn inside the points. In this case the
  104597. * data label will be drawn with maximum contrast by default. Additionally,
  104598. * it will be given a `text-outline` style with the opposite color, to
  104599. * further increase the contrast. This can be overridden by setting the
  104600. * `text-outline` style to `none` in the `dataLabels.style` option.
  104601. */
  104602. color?: (ColorString|GradientColorObject|PatternObject);
  104603. /**
  104604. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  104605. * are outside the plot area. By default, the data label is moved inside the
  104606. * plot area according to the overflow option.
  104607. */
  104608. crop?: boolean;
  104609. /**
  104610. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  104611. * labels until the initial series animation has finished. Setting to
  104612. * `false` renders the data label immediately. If set to `true` inherits the
  104613. * defer time set in plotOptions.series.animation. If set to a number, a
  104614. * defer time is specified in milliseconds.
  104615. */
  104616. defer?: (boolean|number);
  104617. /**
  104618. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  104619. * labels.
  104620. */
  104621. enabled?: boolean;
  104622. /**
  104623. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  104624. * of which data labels to display. The declarative filter is designed for
  104625. * use when callback functions are not available, like when the chart
  104626. * options require a pure JSON structure or for use with graphical editors.
  104627. * For programmatic control, use the `formatter` instead, and return
  104628. * `undefined` to disable a single data label.
  104629. */
  104630. filter?: DataLabelsFilterOptionsObject;
  104631. /**
  104632. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  104633. * label. Available variables are the same as for `formatter`.
  104634. */
  104635. format?: string;
  104636. /**
  104637. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  104638. * format the data label. Note that if a `format` is defined, the format
  104639. * takes precedence and the formatter is ignored.
  104640. */
  104641. formatter?: DataLabelsFormatterCallbackFunction;
  104642. /**
  104643. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  104644. * columns or map areas, whether to align the data label inside the box or
  104645. * to the actual value point. Defaults to `false` in most cases, `true` in
  104646. * stacked columns.
  104647. */
  104648. inside?: boolean;
  104649. /**
  104650. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  104651. * of null. Works analogously to format. `nullFormat` can be applied only to
  104652. * series which support displaying null points.
  104653. */
  104654. nullFormat?: (boolean|string);
  104655. /**
  104656. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  104657. * that defines formatting for points with the value of null. Works
  104658. * analogously to formatter. `nullPointFormatter` can be applied only to
  104659. * series which support displaying null points.
  104660. */
  104661. nullFormatter?: DataLabelsFormatterCallbackFunction;
  104662. /**
  104663. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  104664. * flow outside the plot area. The default is `"justify"`, which aligns them
  104665. * inside the plot area. For columns and bars, this means it will be moved
  104666. * inside the bar. To display data labels outside the plot area, set `crop`
  104667. * to `false` and `overflow` to `"allow"`.
  104668. */
  104669. overflow?: DataLabelsOverflowValue;
  104670. /**
  104671. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  104672. * the `backgroundColor` is set, this is the padding within the box.
  104673. */
  104674. padding?: number;
  104675. /**
  104676. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  104677. * points. If `center` alignment is not possible, it defaults to `right`.
  104678. */
  104679. position?: AlignValue;
  104680. /**
  104681. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  104682. * that due to a more complex structure, backgrounds, borders and padding
  104683. * will be lost on a rotated data label.
  104684. */
  104685. rotation?: number;
  104686. /**
  104687. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  104688. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  104689. * an object configuration containing `color`, `offsetX`, `offsetY`,
  104690. * `opacity` and `width`.
  104691. */
  104692. shadow?: (boolean|ShadowOptionsObject);
  104693. /**
  104694. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  104695. * the border around the label. Symbols are predefined functions on the
  104696. * Renderer object.
  104697. */
  104698. shape?: string;
  104699. /**
  104700. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  104701. * default `color` setting is `"contrast"`, which is a pseudo color that
  104702. * Highcharts picks up and applies the maximum contrast to the underlying
  104703. * point item, for example the bar in a bar chart.
  104704. *
  104705. * The `textOutline` is a pseudo property that applies an outline of the
  104706. * given width with the given color, which by default is the maximum
  104707. * contrast to the text. So a bright text color will result in a black text
  104708. * outline for maximum readability on a mixed background. In some cases,
  104709. * especially with grayscale text, the text outline doesn't work well, in
  104710. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  104711. * is true, the `textOutline` will not be picked up. In this, case, the same
  104712. * effect can be acheived through the `text-shadow` CSS property.
  104713. *
  104714. * For some series types, where each point has an extent, like for example
  104715. * tree maps, the data label may overflow the point. There are two
  104716. * strategies for handling overflow. By default, the text will wrap to
  104717. * multiple lines. The other strategy is to set `style.textOverflow` to
  104718. * `ellipsis`, which will keep the text on one line plus it will break
  104719. * inside long words.
  104720. */
  104721. style?: CSSObject;
  104722. /**
  104723. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  104724. * should follow marker's shape. Border and background are disabled for a
  104725. * label that follows a path.
  104726. *
  104727. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  104728. * to true will disable this option.
  104729. */
  104730. textPath?: DataLabelsTextPathOptionsObject;
  104731. /**
  104732. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  104733. * the labels.
  104734. */
  104735. useHTML?: boolean;
  104736. /**
  104737. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  104738. * label. Can be one of `top`, `middle` or `bottom`. The default value
  104739. * depends on the data, for instance in a column chart, the label is above
  104740. * positive values and below negative values.
  104741. */
  104742. verticalAlign?: string;
  104743. /**
  104744. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  104745. * label relative to the point in pixels.
  104746. */
  104747. x?: number;
  104748. /**
  104749. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  104750. * label relative to the point in pixels.
  104751. */
  104752. y?: number;
  104753. /**
  104754. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  104755. * The default Z index puts it above the series. Use a Z index of 2 to
  104756. * display it behind the series.
  104757. */
  104758. z?: number;
  104759. }
  104760. /**
  104761. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  104762. * has one state by default, the `default` state.
  104763. */
  104764. export interface PlotXrangeDragDropGuideBoxOptions {
  104765. /**
  104766. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  104767. * state.
  104768. */
  104769. default?: DragDropGuideBoxOptionsObject;
  104770. }
  104771. /**
  104772. * (Highcharts, Highstock, Gantt) The X-range series displays ranges on the X
  104773. * axis, typically time intervals with a start and end date.
  104774. *
  104775. * In TypeScript the type option must always be set.
  104776. *
  104777. * Configuration options for the series are given in three levels:
  104778. *
  104779. * 1. Options for all series in a chart are defined in the plotOptions.series
  104780. * object.
  104781. *
  104782. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  104783. *
  104784. * 3. Options for one single series are given in the series instance array. (see
  104785. * online documentation for example)
  104786. */
  104787. export interface PlotXrangeOptions {
  104788. /**
  104789. * (Highcharts, Highstock, Gantt) Accessibility options for a series.
  104790. */
  104791. accessibility?: SeriesAccessibilityOptionsObject;
  104792. /**
  104793. * (Highmaps) Whether all areas of the map defined in `mapData` should be
  104794. * rendered. If `true`, areas which don't correspond to a data point, are
  104795. * rendered as `null` points. If `false`, those areas are skipped.
  104796. */
  104797. allAreas?: boolean;
  104798. /**
  104799. * (Highcharts, Highstock, Gantt) Allow this series' points to be selected
  104800. * by clicking on the graphic (columns, point markers, pie slices, map areas
  104801. * etc).
  104802. *
  104803. * The selected points can be handled by point select and unselect events,
  104804. * or collectively by the getSelectedPoints function.
  104805. *
  104806. * And alternative way of selecting points is through dragging.
  104807. */
  104808. allowPointSelect?: boolean;
  104809. /**
  104810. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation
  104811. * when a series is displayed. The animation can also be set as a
  104812. * configuration object. Please note that this option only applies to the
  104813. * initial animation of the series itself. For other animations, see
  104814. * chart.animation and the animation parameter under the API methods. The
  104815. * following properties are supported:
  104816. *
  104817. * - `defer`: The animation delay time in milliseconds.
  104818. *
  104819. * - `duration`: The duration of the animation in milliseconds.
  104820. *
  104821. * - `easing`: Can be a string reference to an easing function set on the
  104822. * `Math` object or a function. See the _Custom easing function_ demo below.
  104823. *
  104824. * Due to poor performance, animation is disabled in old IE browsers for
  104825. * several chart types.
  104826. */
  104827. animation?: (boolean|PlotXrangeAnimationOptions|Partial<AnimationOptionsObject>);
  104828. /**
  104829. * (Highcharts, Highstock, Gantt) For some series, there is a limit that
  104830. * shuts down initial animation by default when the total number of points
  104831. * in the chart is too high. For example, for a column chart and its
  104832. * derivatives, animation does not run if there is more than 250 points
  104833. * totally. To disable this cap, set `animationLimit` to `Infinity`.
  104834. */
  104835. animationLimit?: number;
  104836. /**
  104837. * (Highcharts, Highstock, Gantt) The color of the border surrounding each
  104838. * column or bar.
  104839. *
  104840. * In styled mode, the border stroke can be set with the `.highcharts-point`
  104841. * rule.
  104842. */
  104843. borderColor?: (ColorString|GradientColorObject|PatternObject);
  104844. /**
  104845. * (Highcharts, Highstock, Gantt) The corner radius of the border
  104846. * surrounding each column or bar.
  104847. */
  104848. borderRadius?: number;
  104849. /**
  104850. * (Highcharts, Highstock, Gantt) The width of the border surrounding each
  104851. * column or bar. Defaults to `1` when there is room for a border, but to
  104852. * `0` when the columns are so dense that a border would cover the next
  104853. * column.
  104854. *
  104855. * In styled mode, the stroke width can be set with the `.highcharts-point`
  104856. * rule.
  104857. */
  104858. borderWidth?: number;
  104859. /**
  104860. * (Highcharts, Highstock, Gantt) When `true`, the columns will center in
  104861. * the category, ignoring null or missing points. When `false`, space will
  104862. * be reserved for null or missing points.
  104863. */
  104864. centerInCategory?: boolean;
  104865. /**
  104866. * (Highcharts, Highstock, Gantt) An additional class name to apply to the
  104867. * series' graphical elements. This option does not replace default class
  104868. * names of the graphical element.
  104869. */
  104870. className?: string;
  104871. /**
  104872. * (Highcharts, Highstock, Gantt) Disable this option to allow series
  104873. * rendering in the whole plotting area.
  104874. *
  104875. * **Note:** Clipping should be always enabled when chart.zoomType is set
  104876. */
  104877. clip?: boolean;
  104878. /**
  104879. * (Highcharts, Highstock, Gantt) The main color of the series. In line type
  104880. * series it applies to the line and the point markers unless otherwise
  104881. * specified. In bar type series it applies to the bars unless a color is
  104882. * specified per point. The default value is pulled from the
  104883. * `options.colors` array.
  104884. *
  104885. * In styled mode, the color can be defined by the colorIndex option. Also,
  104886. * the series color can be set with the `.highcharts-series`,
  104887. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  104888. * `.highcharts-series-{n}` class, or individual classes given by the
  104889. * `className` option.
  104890. */
  104891. color?: (ColorString|GradientColorObject|PatternObject);
  104892. /**
  104893. * (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
  104894. * this number defines which colorAxis the particular series is connected
  104895. * to. It refers to either the axis id or the index of the axis in the
  104896. * colorAxis array, with 0 being the first. Set this option to false to
  104897. * prevent a series from connecting to the default color axis.
  104898. *
  104899. * Since v7.2.0 the option can also be an axis id or an axis index instead
  104900. * of a boolean flag.
  104901. */
  104902. colorAxis?: (boolean|number|string);
  104903. /**
  104904. * (Highcharts, Highstock, Gantt) In an X-range series, this option makes
  104905. * all points of the same Y-axis category the same color.
  104906. */
  104907. colorByPoint?: boolean;
  104908. /**
  104909. * (Highcharts, Highstock, Gantt) Styled mode only. A specific color index
  104910. * to use for the series, so its graphic representations are given the class
  104911. * name `highcharts-color-{n}`.
  104912. */
  104913. colorIndex?: number;
  104914. /**
  104915. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  104916. * used to calculate point color if `colorAxis` is used. Requires to set
  104917. * `min` and `max` if some custom point property is used or if approximation
  104918. * for data grouping is set to `'sum'`.
  104919. */
  104920. colorKey?: string;
  104921. /**
  104922. * (Highcharts, Highstock, Gantt) A series specific or series type specific
  104923. * color set to apply instead of the global colors when colorByPoint is
  104924. * true.
  104925. */
  104926. colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
  104927. /**
  104928. * (Highstock) Compare the values of the series against the first non-null,
  104929. * non- zero value in the visible range. The y axis will show percentage or
  104930. * absolute change depending on whether `compare` is set to `"percent"` or
  104931. * `"value"`. When this is applied to multiple series, it allows comparing
  104932. * the development of the series against each other. Adds a `change` field
  104933. * to every point object.
  104934. */
  104935. compare?: string;
  104936. /**
  104937. * (Highstock) When compare is `percent`, this option dictates whether to
  104938. * use 0 or 100 as the base of comparison.
  104939. */
  104940. compareBase?: (0|100);
  104941. /**
  104942. * (Highstock) Defines if comparison should start from the first point
  104943. * within the visible range or should start from the first point **before**
  104944. * the range.
  104945. *
  104946. * In other words, this flag determines if first point within the visible
  104947. * range will have 0% (`compareStart=true`) or should have been already
  104948. * calculated according to the previous point (`compareStart=false`).
  104949. */
  104950. compareStart?: boolean;
  104951. /**
  104952. * (Gantt) Override Pathfinder connector options for a series. Requires
  104953. * Highcharts Gantt to be loaded.
  104954. */
  104955. connectors?: SeriesConnectorsOptionsObject;
  104956. /**
  104957. * (Highcharts, Highstock, Gantt) You can set the cursor to "pointer" if you
  104958. * have click events attached to the series, to signal to the user that the
  104959. * points and lines can be clicked.
  104960. *
  104961. * In styled mode, the series cursor can be set with the same classes as
  104962. * listed under series.color.
  104963. */
  104964. cursor?: (string|CursorValue);
  104965. /**
  104966. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  104967. * values for customized functionality. Here you can add additional data for
  104968. * your own event callbacks and formatter callbacks.
  104969. */
  104970. custom?: Dictionary<any>;
  104971. /**
  104972. * (Highcharts, Highstock, Gantt) Name of the dash style to use for the
  104973. * graph, or for some series types the outline of each shape.
  104974. *
  104975. * In styled mode, the stroke dash-array can be set with the same classes as
  104976. * listed under series.color.
  104977. */
  104978. dashStyle?: DashStyleValue;
  104979. /**
  104980. * (Highstock) Data grouping is the concept of sampling the data values into
  104981. * larger blocks in order to ease readability and increase performance of
  104982. * the JavaScript charts. Highcharts Stock by default applies data grouping
  104983. * when the points become closer than a certain pixel value, determined by
  104984. * the `groupPixelWidth` option.
  104985. *
  104986. * If data grouping is applied, the grouping information of grouped points
  104987. * can be read from the Point.dataGroup. If point options other than the
  104988. * data itself are set, for example `name` or `color` or custom properties,
  104989. * the grouping logic doesn't know how to group it. In this case the options
  104990. * of the first point instance are copied over to the group point. This can
  104991. * be altered through a custom `approximation` callback function.
  104992. */
  104993. dataGrouping?: DataGroupingOptionsObject;
  104994. /**
  104995. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  104996. * labels, appearing next to each data point.
  104997. *
  104998. * Since v6.2.0, multiple data labels can be applied to each single point by
  104999. * defining them as an array of configs.
  105000. *
  105001. * In styled mode, the data labels can be styled with the
  105002. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  105003. * (see example).
  105004. */
  105005. dataLabels?: (PlotXrangeDataLabelsOptions|Array<PlotXrangeDataLabelsOptions>);
  105006. /**
  105007. * (Highcharts, Highstock, Gantt) A description of the series to add to the
  105008. * screen reader information about the series.
  105009. */
  105010. description?: string;
  105011. /**
  105012. * (Highcharts, Highstock, Gantt) The draggable-points module allows points
  105013. * to be moved around or modified in the chart. In addition to the options
  105014. * mentioned under the `dragDrop` API structure, the module fires three
  105015. * events, point.dragStart, point.drag and point.drop.
  105016. */
  105017. dragDrop?: SeriesDragDropOptionsObject;
  105018. /**
  105019. * (Highcharts, Highstock, Gantt) Enable or disable the mouse tracking for a
  105020. * specific series. This includes point tooltips and click events on graphs
  105021. * and points. For large datasets it improves performance.
  105022. */
  105023. enableMouseTracking?: boolean;
  105024. /**
  105025. * (Highcharts, Highstock, Gantt) General event handlers for the series
  105026. * items. These event hooks can also be attached to the series at run time
  105027. * using the `Highcharts.addEvent` function.
  105028. */
  105029. events?: SeriesEventsOptionsObject;
  105030. /**
  105031. * (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
  105032. * let them render independent of each other. Non-grouped columns will be
  105033. * laid out individually and overlap each other.
  105034. */
  105035. grouping?: boolean;
  105036. /**
  105037. * (Highcharts, Highstock, Gantt) Padding between each value groups, in x
  105038. * axis units.
  105039. */
  105040. groupPadding?: number;
  105041. /**
  105042. * (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
  105043. */
  105044. groupZPadding?: number;
  105045. /**
  105046. * (Highcharts, Highstock, Gantt) When set to `false` will prevent the
  105047. * series data from being included in any form of data export.
  105048. *
  105049. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  105050. * `includeInCSVExport`.
  105051. */
  105052. includeInDataExport?: boolean;
  105053. /**
  105054. * (Highmaps) What property to join the `mapData` to the value data. For
  105055. * example, if joinBy is "code", the mapData items with a specific code is
  105056. * merged into the data with the same code. For maps loaded from GeoJSON,
  105057. * the keys may be held in each point's `properties` object.
  105058. *
  105059. * The joinBy option can also be an array of two values, where the first
  105060. * points to a key in the `mapData`, and the second points to another key in
  105061. * the `data`.
  105062. *
  105063. * When joinBy is `null`, the map items are joined by their position in the
  105064. * array, which performs much better in maps with many data points. This is
  105065. * the recommended option if you are printing more than a thousand data
  105066. * points and have a backend that can preprocess the data into a parallel
  105067. * array of the mapData.
  105068. */
  105069. joinBy?: (string|Array<string>);
  105070. /**
  105071. * (Highcharts, Highstock, Gantt) An array specifying which option maps to
  105072. * which key in the data point array. This makes it convenient to work with
  105073. * unstructured data arrays from different sources.
  105074. */
  105075. keys?: Array<string>;
  105076. /**
  105077. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  105078. * series as possible in a natural way, seeking to avoid other series. The
  105079. * goal of this feature is to make the chart more easily readable, like if a
  105080. * human designer placed the labels in the optimal position.
  105081. *
  105082. * The series labels currently work with series types having a `graph` or an
  105083. * `area`.
  105084. */
  105085. label?: SeriesLabelOptionsObject;
  105086. /**
  105087. * (Highstock) The line marks the last price from all points.
  105088. */
  105089. lastPrice?: SeriesLastPriceOptionsObject;
  105090. /**
  105091. * (Highstock) The line marks the last price from visible range of points.
  105092. */
  105093. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  105094. /**
  105095. * (Highcharts, Highstock, Gantt) The id of another series to link to.
  105096. * Additionally, the value can be ":previous" to link to the previous
  105097. * series. When two series are linked, only the first one appears in the
  105098. * legend. Toggling the visibility of this also toggles the linked series.
  105099. *
  105100. * If master series uses data sorting and linked series does not have its
  105101. * own sorting definition, the linked series will be sorted in the same
  105102. * order as the master one.
  105103. */
  105104. linkedTo?: string;
  105105. /**
  105106. * (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
  105107. * column, translated to the height of a bar in a bar chart. This prevents
  105108. * the columns from becoming too wide when there is a small number of points
  105109. * in the chart.
  105110. */
  105111. maxPointWidth?: number;
  105112. /**
  105113. * (Highcharts, Highstock, Gantt) The minimal height for a column or width
  105114. * for a bar. By default, 0 values are not shown. To visualize a 0 (or close
  105115. * to zero) point, set the minimal point length to a pixel value like 3\. In
  105116. * stacked column charts, minPointLength might not be respected for tightly
  105117. * packed values.
  105118. */
  105119. minPointLength?: number;
  105120. /**
  105121. * (Highstock) Options for the corresponding navigator series if
  105122. * `showInNavigator` is `true` for this series. Available options are the
  105123. * same as any series, documented at plotOptions and series.
  105124. *
  105125. * These options are merged with options in navigator.series, and will take
  105126. * precedence if the same option is defined both places.
  105127. */
  105128. navigatorOptions?: PlotSeriesOptions;
  105129. /**
  105130. * (Highcharts, Highstock, Gantt) Opacity of a series parts: line, fill
  105131. * (e.g. area) and dataLabels.
  105132. */
  105133. opacity?: number;
  105134. /**
  105135. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  105136. * used to visualize how much of a task is performed. The partial fill
  105137. * object can be set either on series or point level.
  105138. */
  105139. partialFill?: PlotXrangePartialFillOptions;
  105140. /**
  105141. * (Highcharts, Highstock, Gantt) Properties for each single point.
  105142. */
  105143. point?: PlotSeriesPointOptions;
  105144. /**
  105145. * (Highcharts, Highstock, Gantt) Same as
  105146. * accessibility.series.descriptionFormatter, but for an individual series.
  105147. * Overrides the chart wide configuration.
  105148. */
  105149. pointDescriptionFormatter?: Function;
  105150. /**
  105151. * (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
  105152. * axis units.
  105153. */
  105154. pointPadding?: number;
  105155. pointRange?: number;
  105156. /**
  105157. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  105158. * each column or bar point. When set to `undefined`, the width is
  105159. * calculated from the `pointPadding` and `groupPadding`. The width effects
  105160. * the dimension that is not based on the point value. For column series it
  105161. * is the hoizontal length and for bar series it is the vertical length.
  105162. */
  105163. pointWidth?: number;
  105164. /**
  105165. * (Highcharts, Highstock, Gantt) Whether to select the series initially. If
  105166. * `showCheckbox` is true, the checkbox next to the series name in the
  105167. * legend will be checked for a selected series.
  105168. */
  105169. selected?: boolean;
  105170. /**
  105171. * (Highcharts, Highstock, Gantt) Whether to apply a drop shadow to the
  105172. * graph line. Since 2.3 the shadow can be an object configuration
  105173. * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
  105174. */
  105175. shadow?: (boolean|ShadowOptionsObject);
  105176. /**
  105177. * (Highcharts, Highstock, Gantt) If true, a checkbox is displayed next to
  105178. * the legend item to allow selecting the series. The state of the checkbox
  105179. * is determined by the `selected` option.
  105180. */
  105181. showCheckbox?: boolean;
  105182. /**
  105183. * (Highcharts, Highstock, Gantt) Whether to display this particular series
  105184. * or series type in the legend. Standalone series are shown in legend by
  105185. * default, and linked series are not. Since v7.2.0 it is possible to show
  105186. * series that use colorAxis by setting this option to `true`.
  105187. */
  105188. showInLegend?: boolean;
  105189. /**
  105190. * (Highstock) Whether or not to show the series in the navigator. Takes
  105191. * precedence over navigator.baseSeries if defined.
  105192. */
  105193. showInNavigator?: boolean;
  105194. /**
  105195. * (Highcharts, Highstock, Gantt) If set to `true`, the accessibility module
  105196. * will skip past the points in this series for keyboard navigation.
  105197. */
  105198. skipKeyboardNavigation?: boolean;
  105199. states?: SeriesStatesOptionsObject;
  105200. /**
  105201. * (Highcharts, Highstock, Gantt) Sticky tracking of mouse events. When
  105202. * true, the `mouseOut` event on a series isn't triggered until the mouse
  105203. * moves over another series, or out of the plot area. When false, the
  105204. * `mouseOut` event on a series is triggered when the mouse leaves the area
  105205. * around the series' graph or markers. This also implies the tooltip when
  105206. * not shared. When `stickyTracking` is false and `tooltip.shared` is false,
  105207. * the tooltip will be hidden when moving the mouse between series. Defaults
  105208. * to true for line and area type series, but to false for columns, pies
  105209. * etc.
  105210. *
  105211. * **Note:** The boost module will force this option because of technical
  105212. * limitations.
  105213. */
  105214. stickyTracking?: boolean;
  105215. /**
  105216. * (Highcharts, Highstock, Gantt) A configuration object for the tooltip
  105217. * rendering of each single series. Properties are inherited from tooltip,
  105218. * but only the following properties can be defined on a series level.
  105219. */
  105220. tooltip?: SeriesTooltipOptionsObject;
  105221. /**
  105222. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  105223. * is longer than this, only one dimensional arrays of numbers, or two
  105224. * dimensional arrays with x and y values are allowed. Also, only the first
  105225. * point is tested, and the rest are assumed to be the same format. This
  105226. * saves expensive data checking and indexing in long series. Set it to `0`
  105227. * disable.
  105228. *
  105229. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  105230. * two dimensional arrays are allowed.
  105231. */
  105232. turboThreshold?: number;
  105233. /**
  105234. * (Highcharts, Highstock, Gantt) Set the initial visibility of the series.
  105235. */
  105236. visible?: boolean;
  105237. /**
  105238. * (Highmaps) Define the z index of the series.
  105239. */
  105240. zIndex?: number;
  105241. /**
  105242. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  105243. */
  105244. zoneAxis?: string;
  105245. /**
  105246. * (Highcharts, Highstock) An array defining zones within a series. Zones
  105247. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  105248. * the `zoneAxis` option. The zone definitions have to be in ascending order
  105249. * regarding to the value.
  105250. *
  105251. * In styled mode, the color zones are styled with the
  105252. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  105253. * option (view live demo).
  105254. */
  105255. zones?: Array<SeriesZonesOptionsObject>;
  105256. }
  105257. /**
  105258. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  105259. * to visualize how much of a task is performed. The partial fill object can be
  105260. * set either on series or point level.
  105261. */
  105262. export interface PlotXrangePartialFillOptions {
  105263. /**
  105264. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  105265. * fills. Defaults to a darker shade of the point color.
  105266. */
  105267. fill?: (ColorString|GradientColorObject|PatternObject);
  105268. }
  105269. /**
  105270. * (Highstock) Enable or disable the initial animation when a series is
  105271. * displayed. The animation can also be set as a configuration object. Please
  105272. * note that this option only applies to the initial animation of the series
  105273. * itself. For other animations, see chart.animation and the animation parameter
  105274. * under the API methods. The following properties are supported:
  105275. *
  105276. * - `defer`: The animation delay time in milliseconds.
  105277. *
  105278. * - `duration`: The duration of the animation in milliseconds.
  105279. *
  105280. * - `easing`: Can be a string reference to an easing function set on the `Math`
  105281. * object or a function. See the _Custom easing function_ demo below.
  105282. *
  105283. * Due to poor performance, animation is disabled in old IE browsers for several
  105284. * chart types.
  105285. */
  105286. export interface PlotZigzagAnimationOptions {
  105287. defer?: number;
  105288. }
  105289. /**
  105290. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  105291. * animation when a series is displayed for the `dataLabels`. The animation can
  105292. * also be set as a configuration object. Please note that this option only
  105293. * applies to the initial animation. For other animations, see chart.animation
  105294. * and the animation parameter under the API methods. The following properties
  105295. * are supported:
  105296. *
  105297. * - `defer`: The animation delay time in milliseconds.
  105298. */
  105299. export interface PlotZigzagDataLabelsAnimationOptions {
  105300. /**
  105301. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  105302. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  105303. * inherits defer time from the series.animation.defer.
  105304. */
  105305. defer?: number;
  105306. }
  105307. /**
  105308. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  105309. * appearing next to each data point.
  105310. *
  105311. * Since v6.2.0, multiple data labels can be applied to each single point by
  105312. * defining them as an array of configs.
  105313. *
  105314. * In styled mode, the data labels can be styled with the
  105315. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  105316. * example).
  105317. */
  105318. export interface PlotZigzagDataLabelsOptions {
  105319. /**
  105320. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  105321. * compared to the point. If `right`, the right side of the label should be
  105322. * touching the point. For points with an extent, like columns, the
  105323. * alignments also dictates how to align it inside the box, as given with
  105324. * the inside option. Can be one of `left`, `center` or `right`.
  105325. */
  105326. align?: (AlignValue|null);
  105327. /**
  105328. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  105329. * overlap. To make the labels less sensitive for overlapping, the
  105330. * dataLabels.padding can be set to 0.
  105331. */
  105332. allowOverlap?: boolean;
  105333. /**
  105334. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  105335. * animation when a series is displayed for the `dataLabels`. The animation
  105336. * can also be set as a configuration object. Please note that this option
  105337. * only applies to the initial animation. For other animations, see
  105338. * chart.animation and the animation parameter under the API methods. The
  105339. * following properties are supported:
  105340. *
  105341. * - `defer`: The animation delay time in milliseconds.
  105342. */
  105343. animation?: (boolean|PlotZigzagDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  105344. /**
  105345. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  105346. * for the data label.
  105347. */
  105348. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  105349. /**
  105350. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  105351. * label. Defaults to `undefined`.
  105352. */
  105353. borderColor?: (ColorString|GradientColorObject|PatternObject);
  105354. /**
  105355. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  105356. * the data label.
  105357. */
  105358. borderRadius?: number;
  105359. /**
  105360. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  105361. * the data label.
  105362. */
  105363. borderWidth?: number;
  105364. /**
  105365. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  105366. * Particularly in styled mode, this can be used to give each series' or
  105367. * point's data label unique styling. In addition to this option, a default
  105368. * color class name is added so that we can give the labels a contrast text
  105369. * shadow.
  105370. */
  105371. className?: string;
  105372. /**
  105373. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  105374. * labels. Defaults to `undefined`. For certain series types, like column or
  105375. * map, the data labels can be drawn inside the points. In this case the
  105376. * data label will be drawn with maximum contrast by default. Additionally,
  105377. * it will be given a `text-outline` style with the opposite color, to
  105378. * further increase the contrast. This can be overridden by setting the
  105379. * `text-outline` style to `none` in the `dataLabels.style` option.
  105380. */
  105381. color?: (ColorString|GradientColorObject|PatternObject);
  105382. /**
  105383. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  105384. * are outside the plot area. By default, the data label is moved inside the
  105385. * plot area according to the overflow option.
  105386. */
  105387. crop?: boolean;
  105388. /**
  105389. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  105390. * labels until the initial series animation has finished. Setting to
  105391. * `false` renders the data label immediately. If set to `true` inherits the
  105392. * defer time set in plotOptions.series.animation. If set to a number, a
  105393. * defer time is specified in milliseconds.
  105394. */
  105395. defer?: (boolean|number);
  105396. /**
  105397. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  105398. * labels.
  105399. */
  105400. enabled?: boolean;
  105401. /**
  105402. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  105403. * of which data labels to display. The declarative filter is designed for
  105404. * use when callback functions are not available, like when the chart
  105405. * options require a pure JSON structure or for use with graphical editors.
  105406. * For programmatic control, use the `formatter` instead, and return
  105407. * `undefined` to disable a single data label.
  105408. */
  105409. filter?: DataLabelsFilterOptionsObject;
  105410. /**
  105411. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  105412. * label. Available variables are the same as for `formatter`.
  105413. */
  105414. format?: string;
  105415. /**
  105416. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  105417. * format the data label. Note that if a `format` is defined, the format
  105418. * takes precedence and the formatter is ignored.
  105419. */
  105420. formatter?: DataLabelsFormatterCallbackFunction;
  105421. /**
  105422. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  105423. * columns or map areas, whether to align the data label inside the box or
  105424. * to the actual value point. Defaults to `false` in most cases, `true` in
  105425. * stacked columns.
  105426. */
  105427. inside?: boolean;
  105428. /**
  105429. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  105430. * of null. Works analogously to format. `nullFormat` can be applied only to
  105431. * series which support displaying null points.
  105432. */
  105433. nullFormat?: (boolean|string);
  105434. /**
  105435. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  105436. * that defines formatting for points with the value of null. Works
  105437. * analogously to formatter. `nullPointFormatter` can be applied only to
  105438. * series which support displaying null points.
  105439. */
  105440. nullFormatter?: DataLabelsFormatterCallbackFunction;
  105441. /**
  105442. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  105443. * flow outside the plot area. The default is `"justify"`, which aligns them
  105444. * inside the plot area. For columns and bars, this means it will be moved
  105445. * inside the bar. To display data labels outside the plot area, set `crop`
  105446. * to `false` and `overflow` to `"allow"`.
  105447. */
  105448. overflow?: DataLabelsOverflowValue;
  105449. /**
  105450. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  105451. * the `backgroundColor` is set, this is the padding within the box.
  105452. */
  105453. padding?: number;
  105454. /**
  105455. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  105456. * points. If `center` alignment is not possible, it defaults to `right`.
  105457. */
  105458. position?: AlignValue;
  105459. /**
  105460. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  105461. * that due to a more complex structure, backgrounds, borders and padding
  105462. * will be lost on a rotated data label.
  105463. */
  105464. rotation?: number;
  105465. /**
  105466. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  105467. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  105468. * an object configuration containing `color`, `offsetX`, `offsetY`,
  105469. * `opacity` and `width`.
  105470. */
  105471. shadow?: (boolean|ShadowOptionsObject);
  105472. /**
  105473. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  105474. * the border around the label. Symbols are predefined functions on the
  105475. * Renderer object.
  105476. */
  105477. shape?: string;
  105478. /**
  105479. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  105480. * default `color` setting is `"contrast"`, which is a pseudo color that
  105481. * Highcharts picks up and applies the maximum contrast to the underlying
  105482. * point item, for example the bar in a bar chart.
  105483. *
  105484. * The `textOutline` is a pseudo property that applies an outline of the
  105485. * given width with the given color, which by default is the maximum
  105486. * contrast to the text. So a bright text color will result in a black text
  105487. * outline for maximum readability on a mixed background. In some cases,
  105488. * especially with grayscale text, the text outline doesn't work well, in
  105489. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  105490. * is true, the `textOutline` will not be picked up. In this, case, the same
  105491. * effect can be acheived through the `text-shadow` CSS property.
  105492. *
  105493. * For some series types, where each point has an extent, like for example
  105494. * tree maps, the data label may overflow the point. There are two
  105495. * strategies for handling overflow. By default, the text will wrap to
  105496. * multiple lines. The other strategy is to set `style.textOverflow` to
  105497. * `ellipsis`, which will keep the text on one line plus it will break
  105498. * inside long words.
  105499. */
  105500. style?: CSSObject;
  105501. /**
  105502. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  105503. * should follow marker's shape. Border and background are disabled for a
  105504. * label that follows a path.
  105505. *
  105506. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  105507. * to true will disable this option.
  105508. */
  105509. textPath?: DataLabelsTextPathOptionsObject;
  105510. /**
  105511. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  105512. * the labels.
  105513. */
  105514. useHTML?: boolean;
  105515. /**
  105516. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  105517. * label. Can be one of `top`, `middle` or `bottom`. The default value
  105518. * depends on the data, for instance in a column chart, the label is above
  105519. * positive values and below negative values.
  105520. */
  105521. verticalAlign?: (VerticalAlignValue|null);
  105522. /**
  105523. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  105524. * label relative to the point in pixels.
  105525. */
  105526. x?: number;
  105527. /**
  105528. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  105529. * label relative to the point in pixels.
  105530. */
  105531. y?: number;
  105532. /**
  105533. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  105534. * The default Z index puts it above the series. Use a Z index of 2 to
  105535. * display it behind the series.
  105536. */
  105537. z?: number;
  105538. }
  105539. /**
  105540. * (Highcharts, Highstock) Options for the series data sorting.
  105541. */
  105542. export interface PlotZigzagDataSortingOptions {
  105543. /**
  105544. * (Highcharts, Highstock) Enable or disable data sorting for the series.
  105545. * Use xAxis.reversed to change the sorting order.
  105546. */
  105547. enabled?: boolean;
  105548. /**
  105549. * (Highcharts, Highstock) Whether to allow matching points by name in an
  105550. * update. If this option is disabled, points will be matched by order.
  105551. */
  105552. matchByName?: boolean;
  105553. /**
  105554. * (Highcharts, Highstock) Determines what data value should be used to sort
  105555. * by.
  105556. */
  105557. sortKey?: string;
  105558. }
  105559. /**
  105560. * (Highstock) Zig Zag indicator.
  105561. *
  105562. * This series requires `linkedTo` option to be set.
  105563. *
  105564. * In TypeScript the type option must always be set.
  105565. *
  105566. * Configuration options for the series are given in three levels:
  105567. *
  105568. * 1. Options for all series in a chart are defined in the plotOptions.series
  105569. * object.
  105570. *
  105571. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  105572. *
  105573. * 3. Options for one single series are given in the series instance array. (see
  105574. * online documentation for example)
  105575. */
  105576. export interface PlotZigzagOptions {
  105577. /**
  105578. * (Highstock) Accessibility options for a series.
  105579. */
  105580. accessibility?: SeriesAccessibilityOptionsObject;
  105581. /**
  105582. * (Highstock) Allow this series' points to be selected by clicking on the
  105583. * graphic (columns, point markers, pie slices, map areas etc).
  105584. *
  105585. * The selected points can be handled by point select and unselect events,
  105586. * or collectively by the getSelectedPoints function.
  105587. *
  105588. * And alternative way of selecting points is through dragging.
  105589. */
  105590. allowPointSelect?: boolean;
  105591. /**
  105592. * (Highstock) Enable or disable the initial animation when a series is
  105593. * displayed. The animation can also be set as a configuration object.
  105594. * Please note that this option only applies to the initial animation of the
  105595. * series itself. For other animations, see chart.animation and the
  105596. * animation parameter under the API methods. The following properties are
  105597. * supported:
  105598. *
  105599. * - `defer`: The animation delay time in milliseconds.
  105600. *
  105601. * - `duration`: The duration of the animation in milliseconds.
  105602. *
  105603. * - `easing`: Can be a string reference to an easing function set on the
  105604. * `Math` object or a function. See the _Custom easing function_ demo below.
  105605. *
  105606. * Due to poor performance, animation is disabled in old IE browsers for
  105607. * several chart types.
  105608. */
  105609. animation?: (boolean|PlotZigzagAnimationOptions|Partial<AnimationOptionsObject>);
  105610. /**
  105611. * (Highstock) For some series, there is a limit that shuts down initial
  105612. * animation by default when the total number of points in the chart is too
  105613. * high. For example, for a column chart and its derivatives, animation does
  105614. * not run if there is more than 250 points totally. To disable this cap,
  105615. * set `animationLimit` to `Infinity`.
  105616. */
  105617. animationLimit?: number;
  105618. /**
  105619. * (Highstock) Sets the color blending in the boost module.
  105620. */
  105621. boostBlending?: OptionsBoostBlendingValue;
  105622. /**
  105623. * (Highstock) Set the point threshold for when a series should enter boost
  105624. * mode.
  105625. *
  105626. * Setting it to e.g. 2000 will cause the series to enter boost mode when
  105627. * there are 2000 or more points in the series.
  105628. *
  105629. * To disable boosting on the series, set the `boostThreshold` to 0. Setting
  105630. * it to 1 will force boosting.
  105631. *
  105632. * Note that the cropThreshold also affects this setting. When zooming in on
  105633. * a series that has fewer points than the `cropThreshold`, all points are
  105634. * rendered although outside the visible plot area, and the `boostThreshold`
  105635. * won't take effect.
  105636. */
  105637. boostThreshold?: number;
  105638. /**
  105639. * (Highmaps) The border color of the map areas.
  105640. *
  105641. * In styled mode, the border stroke is given in the `.highcharts-point`
  105642. * class.
  105643. */
  105644. borderColor?: (ColorString|GradientColorObject|PatternObject);
  105645. /**
  105646. * (Highmaps) The border width of each map area.
  105647. *
  105648. * In styled mode, the border stroke width is given in the
  105649. * `.highcharts-point` class.
  105650. */
  105651. borderWidth?: number;
  105652. /**
  105653. * (Highstock) An additional class name to apply to the series' graphical
  105654. * elements. This option does not replace default class names of the
  105655. * graphical element.
  105656. */
  105657. className?: string;
  105658. /**
  105659. * (Highstock) Disable this option to allow series rendering in the whole
  105660. * plotting area.
  105661. *
  105662. * **Note:** Clipping should be always enabled when chart.zoomType is set
  105663. */
  105664. clip?: boolean;
  105665. /**
  105666. * (Highstock) The main color of the series. In line type series it applies
  105667. * to the line and the point markers unless otherwise specified. In bar type
  105668. * series it applies to the bars unless a color is specified per point. The
  105669. * default value is pulled from the `options.colors` array.
  105670. *
  105671. * In styled mode, the color can be defined by the colorIndex option. Also,
  105672. * the series color can be set with the `.highcharts-series`,
  105673. * `.highcharts-color-{n}`, `.highcharts-{type}-series` or
  105674. * `.highcharts-series-{n}` class, or individual classes given by the
  105675. * `className` option.
  105676. */
  105677. color?: (ColorString|GradientColorObject|PatternObject);
  105678. /**
  105679. * (Highstock) Styled mode only. A specific color index to use for the
  105680. * series, so its graphic representations are given the class name
  105681. * `highcharts-color-{n}`.
  105682. */
  105683. colorIndex?: number;
  105684. /**
  105685. * (Highcharts, Highstock, Highmaps) Determines what data value should be
  105686. * used to calculate point color if `colorAxis` is used. Requires to set
  105687. * `min` and `max` if some custom point property is used or if approximation
  105688. * for data grouping is set to `'sum'`.
  105689. */
  105690. colorKey?: string;
  105691. /**
  105692. * (Highstock) Compare the values of the series against the first non-null,
  105693. * non- zero value in the visible range. The y axis will show percentage or
  105694. * absolute change depending on whether `compare` is set to `"percent"` or
  105695. * `"value"`. When this is applied to multiple series, it allows comparing
  105696. * the development of the series against each other. Adds a `change` field
  105697. * to every point object.
  105698. */
  105699. compare?: string;
  105700. /**
  105701. * (Highstock) When compare is `percent`, this option dictates whether to
  105702. * use 0 or 100 as the base of comparison.
  105703. */
  105704. compareBase?: (0|100);
  105705. /**
  105706. * (Highstock) Defines if comparison should start from the first point
  105707. * within the visible range or should start from the first point **before**
  105708. * the range.
  105709. *
  105710. * In other words, this flag determines if first point within the visible
  105711. * range will have 0% (`compareStart=true`) or should have been already
  105712. * calculated according to the previous point (`compareStart=false`).
  105713. */
  105714. compareStart?: boolean;
  105715. /**
  105716. * (Highstock) Whether to compare indicator to the main series values or
  105717. * indicator values.
  105718. */
  105719. compareToMain?: boolean;
  105720. /**
  105721. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  105722. * series plot across the extremes.
  105723. */
  105724. connectEnds?: boolean;
  105725. /**
  105726. * (Highcharts, Highstock) Whether to connect a graph line across null
  105727. * points, or render a gap between the two points on either side of the
  105728. * null.
  105729. */
  105730. connectNulls?: boolean;
  105731. /**
  105732. * (Gantt) Override Pathfinder connector options for a series. Requires
  105733. * Highcharts Gantt to be loaded.
  105734. */
  105735. connectors?: SeriesConnectorsOptionsObject;
  105736. /**
  105737. * (Highcharts, Highstock, Gantt) When true, each point or column edge is
  105738. * rounded to its nearest pixel in order to render sharp on screen. In some
  105739. * cases, when there are a lot of densely packed columns, this leads to
  105740. * visible difference in column widths or distance between columns. In these
  105741. * cases, setting `crisp` to `false` may look better, even though each
  105742. * column is rendered blurry.
  105743. */
  105744. crisp?: boolean;
  105745. /**
  105746. * (Highcharts, Highstock) When the series contains less points than the
  105747. * crop threshold, all points are drawn, even if the points fall outside the
  105748. * visible plot area at the current zoom. The advantage of drawing all
  105749. * points (including markers and columns), is that animation is performed on
  105750. * updates. On the other hand, when the series contains more points than the
  105751. * crop threshold, the series data is cropped to only contain points that
  105752. * fall within the plot area. The advantage of cropping away invisible
  105753. * points is to increase performance on large series.
  105754. */
  105755. cropThreshold?: number;
  105756. /**
  105757. * (Highstock) You can set the cursor to "pointer" if you have click events
  105758. * attached to the series, to signal to the user that the points and lines
  105759. * can be clicked.
  105760. *
  105761. * In styled mode, the series cursor can be set with the same classes as
  105762. * listed under series.color.
  105763. */
  105764. cursor?: (string|CursorValue);
  105765. /**
  105766. * (Highstock) A reserved subspace to store options and values for
  105767. * customized functionality. Here you can add additional data for your own
  105768. * event callbacks and formatter callbacks.
  105769. */
  105770. custom?: Dictionary<any>;
  105771. /**
  105772. * (Highstock) Name of the dash style to use for the graph, or for some
  105773. * series types the outline of each shape.
  105774. *
  105775. * In styled mode, the stroke dash-array can be set with the same classes as
  105776. * listed under series.color.
  105777. */
  105778. dashStyle?: DashStyleValue;
  105779. /**
  105780. * (Highstock) Data grouping is the concept of sampling the data values into
  105781. * larger blocks in order to ease readability and increase performance of
  105782. * the JavaScript charts. Highcharts Stock by default applies data grouping
  105783. * when the points become closer than a certain pixel value, determined by
  105784. * the `groupPixelWidth` option.
  105785. *
  105786. * If data grouping is applied, the grouping information of grouped points
  105787. * can be read from the Point.dataGroup. If point options other than the
  105788. * data itself are set, for example `name` or `color` or custom properties,
  105789. * the grouping logic doesn't know how to group it. In this case the options
  105790. * of the first point instance are copied over to the group point. This can
  105791. * be altered through a custom `approximation` callback function.
  105792. */
  105793. dataGrouping?: DataGroupingOptionsObject;
  105794. /**
  105795. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
  105796. * labels, appearing next to each data point.
  105797. *
  105798. * Since v6.2.0, multiple data labels can be applied to each single point by
  105799. * defining them as an array of configs.
  105800. *
  105801. * In styled mode, the data labels can be styled with the
  105802. * `.highcharts-data-label-box` and `.highcharts-data-label` class names
  105803. * (see example).
  105804. */
  105805. dataLabels?: (PlotZigzagDataLabelsOptions|Array<PlotZigzagDataLabelsOptions>);
  105806. /**
  105807. * (Highcharts, Highstock) Options for the series data sorting.
  105808. */
  105809. dataSorting?: (DataSortingOptionsObject|PlotZigzagDataSortingOptions);
  105810. /**
  105811. * (Highstock) A description of the series to add to the screen reader
  105812. * information about the series.
  105813. */
  105814. description?: string;
  105815. /**
  105816. * (Highstock) Enable or disable the mouse tracking for a specific series.
  105817. * This includes point tooltips and click events on graphs and points. For
  105818. * large datasets it improves performance.
  105819. */
  105820. enableMouseTracking?: boolean;
  105821. /**
  105822. * (Highstock) General event handlers for the series items. These event
  105823. * hooks can also be attached to the series at run time using the
  105824. * `Highcharts.addEvent` function.
  105825. */
  105826. events?: SeriesEventsOptionsObject;
  105827. /**
  105828. * (Highstock) Determines whether the series should look for the nearest
  105829. * point in both dimensions or just the x-dimension when hovering the
  105830. * series. Defaults to `'xy'` for scatter series and `'x'` for most other
  105831. * series. If the data has duplicate x-values, it is recommended to set this
  105832. * to `'xy'` to allow hovering over all points.
  105833. *
  105834. * Applies only to series types using nearest neighbor search (not direct
  105835. * hover) for tooltip.
  105836. */
  105837. findNearestPointBy?: OptionsFindNearestPointByValue;
  105838. /**
  105839. * (Highstock) Defines when to display a gap in the graph, together with the
  105840. * gapUnit option.
  105841. *
  105842. * In case when `dataGrouping` is enabled, points can be grouped into a
  105843. * larger time span. This can make the grouped points to have a greater
  105844. * distance than the absolute value of `gapSize` property, which will result
  105845. * in disappearing graph completely. To prevent this situation the mentioned
  105846. * distance between grouped points is used instead of previously defined
  105847. * `gapSize`.
  105848. *
  105849. * In practice, this option is most often used to visualize gaps in time
  105850. * series. In a stock chart, intraday data is available for daytime hours,
  105851. * while gaps will appear in nights and weekends.
  105852. */
  105853. gapSize?: number;
  105854. /**
  105855. * (Highstock) Together with gapSize, this option defines where to draw gaps
  105856. * in the graph.
  105857. *
  105858. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  105859. * if the distance between two points is greater than 5 times that of the
  105860. * two closest points, the graph will be broken.
  105861. *
  105862. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  105863. * values, which on a datetime axis is milliseconds. This also applies to
  105864. * the navigator series that inherits gap options from the base series.
  105865. */
  105866. gapUnit?: OptionsGapUnitValue;
  105867. /**
  105868. * (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
  105869. * chart width or only the zoomed area when zooming in on parts of the X
  105870. * axis. By default, the Y axis adjusts to the min and max of the visible
  105871. * data. Cartesian series only.
  105872. */
  105873. getExtremesFromAll?: boolean;
  105874. /**
  105875. * (Highstock) When set to `false` will prevent the series data from being
  105876. * included in any form of data export.
  105877. *
  105878. * Since version 6.0.0 until 7.1.0 the option was existing undocumented as
  105879. * `includeInCSVExport`.
  105880. */
  105881. includeInDataExport?: boolean;
  105882. /**
  105883. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  105884. * series as possible in a natural way, seeking to avoid other series. The
  105885. * goal of this feature is to make the chart more easily readable, like if a
  105886. * human designer placed the labels in the optimal position.
  105887. *
  105888. * The series labels currently work with series types having a `graph` or an
  105889. * `area`.
  105890. */
  105891. label?: SeriesLabelOptionsObject;
  105892. /**
  105893. * (Highstock) The line marks the last price from all points.
  105894. */
  105895. lastPrice?: SeriesLastPriceOptionsObject;
  105896. /**
  105897. * (Highstock) The line marks the last price from visible range of points.
  105898. */
  105899. lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
  105900. /**
  105901. * (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
  105902. * `stroke-linejoin` of a line graph. Round means that lines are rounded in
  105903. * the ends and bends.
  105904. */
  105905. linecap?: SeriesLinecapValue;
  105906. /**
  105907. * (Highcharts, Highstock) Pixel width of the graph line.
  105908. */
  105909. lineWidth?: number;
  105910. /**
  105911. * (Highcharts, Highstock, Gantt) The main series ID that indicator will be
  105912. * based on. Required for this indicator.
  105913. */
  105914. linkedTo?: string;
  105915. /**
  105916. * (Highstock) Options for the point markers of line-like series. Properties
  105917. * like `fillColor`, `lineColor` and `lineWidth` define the visual
  105918. * appearance of the markers. Other series types, like column series, don't
  105919. * have markers, but have visual options on the series level instead.
  105920. *
  105921. * In styled mode, the markers can be styled with the `.highcharts-point`,
  105922. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  105923. */
  105924. marker?: PointMarkerOptionsObject;
  105925. /**
  105926. * (Highstock) The name of the series as shown in the legend, tooltip etc.
  105927. * If not set, it will be based on a technical indicator type and default
  105928. * params.
  105929. */
  105930. name?: string;
  105931. /**
  105932. * (Highstock) The color for the parts of the graph or points that are below
  105933. * the threshold. Note that `zones` takes precedence over the negative
  105934. * color. Using `negativeColor` is equivalent to applying a zone with value
  105935. * of 0.
  105936. */
  105937. negativeColor?: (ColorString|GradientColorObject|PatternObject);
  105938. /**
  105939. * (Highstock) Opacity of a series parts: line, fill (e.g. area) and
  105940. * dataLabels.
  105941. */
  105942. opacity?: number;
  105943. /**
  105944. * (Highstock) Paramters used in calculation of regression series' points.
  105945. */
  105946. params?: PlotZigzagParamsOptions;
  105947. /**
  105948. * (Highstock) Properties for each single point.
  105949. */
  105950. point?: PlotSeriesPointOptions;
  105951. /**
  105952. * (Highstock) Same as accessibility.series.descriptionFormatter, but for an
  105953. * individual series. Overrides the chart wide configuration.
  105954. */
  105955. pointDescriptionFormatter?: Function;
  105956. /**
  105957. * (Highstock) Whether to select the series initially. If `showCheckbox` is
  105958. * true, the checkbox next to the series name in the legend will be checked
  105959. * for a selected series.
  105960. */
  105961. selected?: boolean;
  105962. /**
  105963. * (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
  105964. * the shadow can be an object configuration containing `color`, `offsetX`,
  105965. * `offsetY`, `opacity` and `width`.
  105966. */
  105967. shadow?: (boolean|ShadowOptionsObject);
  105968. /**
  105969. * (Highstock) If true, a checkbox is displayed next to the legend item to
  105970. * allow selecting the series. The state of the checkbox is determined by
  105971. * the `selected` option.
  105972. */
  105973. showCheckbox?: boolean;
  105974. /**
  105975. * (Highstock) Whether to display this particular series or series type in
  105976. * the legend. Standalone series are shown in legend by default, and linked
  105977. * series are not. Since v7.2.0 it is possible to show series that use
  105978. * colorAxis by setting this option to `true`.
  105979. */
  105980. showInLegend?: boolean;
  105981. /**
  105982. * (Highstock) If set to `true`, the accessibility module will skip past the
  105983. * points in this series for keyboard navigation.
  105984. */
  105985. skipKeyboardNavigation?: boolean;
  105986. /**
  105987. * (Highcharts, Highstock) When this is true, the series will not cause the
  105988. * Y axis to cross the zero plane (or threshold option) unless the data
  105989. * actually crosses the plane.
  105990. *
  105991. * For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
  105992. * make the Y axis show negative values according to the `minPadding`
  105993. * option. If `softThreshold` is `true`, the Y axis starts at 0.
  105994. */
  105995. softThreshold?: boolean;
  105996. states?: SeriesStatesOptionsObject;
  105997. /**
  105998. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  105999. * values are `left`, `center` and `right`.
  106000. */
  106001. step?: OptionsStepValue;
  106002. /**
  106003. * (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
  106004. * event on a series isn't triggered until the mouse moves over another
  106005. * series, or out of the plot area. When false, the `mouseOut` event on a
  106006. * series is triggered when the mouse leaves the area around the series'
  106007. * graph or markers. This also implies the tooltip when not shared. When
  106008. * `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
  106009. * be hidden when moving the mouse between series. Defaults to true for line
  106010. * and area type series, but to false for columns, pies etc.
  106011. *
  106012. * **Note:** The boost module will force this option because of technical
  106013. * limitations.
  106014. */
  106015. stickyTracking?: boolean;
  106016. /**
  106017. * (Highcharts, Highstock) The threshold, also called zero level or base
  106018. * level. For line type series this is only used in conjunction with
  106019. * negativeColor.
  106020. */
  106021. threshold?: (number|null);
  106022. /**
  106023. * (Highstock) A configuration object for the tooltip rendering of each
  106024. * single series. Properties are inherited from tooltip, but only the
  106025. * following properties can be defined on a series level.
  106026. */
  106027. tooltip?: SeriesTooltipOptionsObject;
  106028. /**
  106029. * (Highcharts, Highstock, Gantt) When a series contains a data array that
  106030. * is longer than this, only one dimensional arrays of numbers, or two
  106031. * dimensional arrays with x and y values are allowed. Also, only the first
  106032. * point is tested, and the rest are assumed to be the same format. This
  106033. * saves expensive data checking and indexing in long series. Set it to `0`
  106034. * disable.
  106035. *
  106036. * Note: In boost mode turbo threshold is forced. Only array of numbers or
  106037. * two dimensional arrays are allowed.
  106038. */
  106039. turboThreshold?: number;
  106040. /**
  106041. * (Highstock) Set the initial visibility of the series.
  106042. */
  106043. visible?: boolean;
  106044. /**
  106045. * (Highmaps) Define the z index of the series.
  106046. */
  106047. zIndex?: number;
  106048. /**
  106049. * (Highcharts, Highstock) Defines the Axis on which the zones are applied.
  106050. */
  106051. zoneAxis?: string;
  106052. /**
  106053. * (Highcharts, Highstock) An array defining zones within a series. Zones
  106054. * can be applied to the X axis, Y axis or Z axis for bubbles, according to
  106055. * the `zoneAxis` option. The zone definitions have to be in ascending order
  106056. * regarding to the value.
  106057. *
  106058. * In styled mode, the color zones are styled with the
  106059. * `.highcharts-zone-{n}` class, or custom classed from the `className`
  106060. * option (view live demo).
  106061. */
  106062. zones?: Array<SeriesZonesOptionsObject>;
  106063. }
  106064. /**
  106065. * (Highstock) Paramters used in calculation of regression series' points.
  106066. */
  106067. export interface PlotZigzagParamsOptions {
  106068. /**
  106069. * (Highstock) The threshold for the value change.
  106070. *
  106071. * For example deviation=1 means the indicator will ignore all price
  106072. * movements less than 1%.
  106073. */
  106074. deviation?: number;
  106075. /**
  106076. * (Highstock) The point index which indicator calculations will base - high
  106077. * value.
  106078. *
  106079. * For example using OHLC data, index=1 means the indicator will be
  106080. * calculated using High values.
  106081. */
  106082. highIndex?: number;
  106083. index?: string;
  106084. /**
  106085. * (Highstock) The point index which indicator calculations will base - low
  106086. * value.
  106087. *
  106088. * For example using OHLC data, index=2 means the indicator will be
  106089. * calculated using Low values.
  106090. */
  106091. lowIndex?: number;
  106092. period?: string;
  106093. }
  106094. /**
  106095. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  106096. */
  106097. export interface PointAccessibilityOptionsObject {
  106098. /**
  106099. * (Highcharts, Highstock, Gantt) Provide a description of the data point,
  106100. * announced to screen readers.
  106101. */
  106102. description?: string;
  106103. /**
  106104. * (Highcharts, Highstock, Gantt) Set to false to disable accessibility
  106105. * functionality for a specific point. The point will not be included in
  106106. * keyboard navigation, and will not be exposed to assistive technology.
  106107. */
  106108. enabled?: boolean;
  106109. }
  106110. /**
  106111. * Common information for a click event on a series point.
  106112. */
  106113. export interface PointClickEventObject extends PointerEventObject {
  106114. /**
  106115. * Clicked point.
  106116. */
  106117. point: Point;
  106118. }
  106119. /**
  106120. * Contains information about a points new values.
  106121. */
  106122. export interface PointDragDropObject {
  106123. /**
  106124. * New values.
  106125. */
  106126. newValues: Dictionary<number>;
  106127. /**
  106128. * Updated point.
  106129. */
  106130. point: Point;
  106131. }
  106132. /**
  106133. * Contains common information for a drag event on series points.
  106134. */
  106135. export interface PointDragEventObject {
  106136. /**
  106137. * New points during drag.
  106138. */
  106139. newPoints: Dictionary<PointDragDropObject>;
  106140. /**
  106141. * Original data.
  106142. */
  106143. origin: DragDropPositionObject;
  106144. /**
  106145. * Prevent default drag action.
  106146. */
  106147. preventDefault: Function;
  106148. /**
  106149. * Target point that caused the event.
  106150. */
  106151. target: Point;
  106152. /**
  106153. * Event type.
  106154. */
  106155. type: "drag";
  106156. }
  106157. /**
  106158. * Contains common information for a drag event on series point.
  106159. */
  106160. export interface PointDragStartEventObject extends MouseEvent {
  106161. /**
  106162. * Data property being dragged.
  106163. */
  106164. updateProp?: string;
  106165. }
  106166. /**
  106167. * Contains common information for a drop event on series points.
  106168. */
  106169. export interface PointDropEventObject {
  106170. /**
  106171. * New point after drag if only a single one.
  106172. */
  106173. newPoint?: PointDragDropObject;
  106174. /**
  106175. * New point id after drag if only a single one.
  106176. */
  106177. newPointId?: string;
  106178. /**
  106179. * New points after drop.
  106180. */
  106181. newPoints: Dictionary<PointDragDropObject>;
  106182. /**
  106183. * Number of new points.
  106184. */
  106185. numNewPoints: number;
  106186. /**
  106187. * Original data.
  106188. */
  106189. origin: DragDropPositionObject;
  106190. /**
  106191. * Prevent default drop action.
  106192. */
  106193. preventDefault: Function;
  106194. /**
  106195. * Target point that caused the event.
  106196. */
  106197. target: Point;
  106198. /**
  106199. * Event type.
  106200. */
  106201. type: "drop";
  106202. }
  106203. /**
  106204. * One position in relation to an axis.
  106205. */
  106206. export interface PointerAxisCoordinateObject {
  106207. /**
  106208. * Related axis.
  106209. */
  106210. axis: Axis;
  106211. /**
  106212. * Axis value.
  106213. */
  106214. value: number;
  106215. }
  106216. /**
  106217. * Positions in terms of axis values.
  106218. */
  106219. export interface PointerAxisCoordinatesObject {
  106220. /**
  106221. * Positions on the x-axis.
  106222. */
  106223. xAxis: Array<PointerAxisCoordinateObject>;
  106224. /**
  106225. * Positions on the y-axis.
  106226. */
  106227. yAxis: Array<PointerAxisCoordinateObject>;
  106228. }
  106229. /**
  106230. * Pointer coordinates.
  106231. */
  106232. export interface PointerCoordinatesObject {
  106233. chartX: number;
  106234. chartY: number;
  106235. }
  106236. /**
  106237. * A native browser mouse or touch event, extended with position information
  106238. * relative to the Chart.container.
  106239. */
  106240. export interface PointerEventObject extends PointerEvent {
  106241. /**
  106242. * The X coordinate of the pointer interaction relative to the chart.
  106243. */
  106244. chartX: number;
  106245. /**
  106246. * The Y coordinate of the pointer interaction relative to the chart.
  106247. */
  106248. chartY: number;
  106249. }
  106250. /**
  106251. * (Highcharts, Highstock, Gantt) The individual point events.
  106252. */
  106253. export interface PointEventsOptionsObject {
  106254. /**
  106255. * (Highcharts, Highstock, Gantt) Fires when a point is clicked. One
  106256. * parameter, `event`, is passed to the function, containing common event
  106257. * information.
  106258. *
  106259. * If the `series.allowPointSelect` option is true, the default action for
  106260. * the point's click event is to toggle the point's select state. Returning
  106261. * `false` cancels this action.
  106262. */
  106263. click?: PointClickCallbackFunction;
  106264. /**
  106265. * (Highcharts, Highstock, Gantt) Callback that fires while dragging a
  106266. * point. The mouse event is passed in as parameter. The original data can
  106267. * be accessed from `e.origin`, and the new point values can be accessed
  106268. * from `e.newPoints`. If there is only a single point being updated, it can
  106269. * be accessed from `e.newPoint` for simplicity, and its ID can be accessed
  106270. * from `e.newPointId`. The `this` context is the point being dragged. To
  106271. * stop the default drag action, return false. See drag and drop options.
  106272. */
  106273. drag?: PointDragCallbackFunction;
  106274. /**
  106275. * (Highcharts, Highstock, Gantt) Callback that fires when starting to drag
  106276. * a point. The mouse event object is passed in as an argument. If a drag
  106277. * handle is used, `e.updateProp` is set to the data property being dragged.
  106278. * The `this` context is the point. See drag and drop options.
  106279. */
  106280. dragStart?: PointDragStartCallbackFunction;
  106281. /**
  106282. * (Highcharts, Highstock, Gantt) Callback that fires when the point is
  106283. * dropped. The parameters passed are the same as for drag. To stop the
  106284. * default drop action, return false. See drag and drop options.
  106285. */
  106286. drop?: PointDropCallbackFunction;
  106287. /**
  106288. * (Highcharts) Fires when the legend item belonging to the pie point
  106289. * (slice) is clicked. The `this` keyword refers to the point itself. One
  106290. * parameter, `event`, is passed to the function, containing common event
  106291. * information. The default action is to toggle the visibility of the point.
  106292. * This can be prevented by calling `event.preventDefault()`.
  106293. */
  106294. legendItemClick?: PointLegendItemClickCallbackFunction;
  106295. /**
  106296. * (Highcharts, Highstock, Gantt) Fires when the mouse leaves the area close
  106297. * to the point. One parameter, `event`, is passed to the function,
  106298. * containing common event information.
  106299. */
  106300. mouseOut?: PointMouseOutCallbackFunction;
  106301. /**
  106302. * (Highcharts, Highstock, Gantt) Fires when the mouse enters the area close
  106303. * to the point. One parameter, `event`, is passed to the function,
  106304. * containing common event information.
  106305. */
  106306. mouseOver?: PointMouseOverCallbackFunction;
  106307. /**
  106308. * (Highcharts, Highstock, Gantt) Fires when the point is removed using the
  106309. * `.remove()` method. One parameter, `event`, is passed to the function.
  106310. * Returning `false` cancels the operation.
  106311. */
  106312. remove?: PointRemoveCallbackFunction;
  106313. /**
  106314. * Fires when the point is selected either programmatically or following a
  106315. * click on the point. One parameter, `event`, is passed to the function.
  106316. * Returning `false` cancels the operation.
  106317. */
  106318. select?: PointSelectCallbackFunction;
  106319. /**
  106320. * Fires when the point is unselected either programmatically or following a
  106321. * click on the point. One parameter, `event`, is passed to the function.
  106322. * Returning `false` cancels the operation.
  106323. */
  106324. unselect?: PointUnselectCallbackFunction;
  106325. /**
  106326. * (Highcharts, Highstock, Gantt) Fires when the point is updated
  106327. * programmatically through the `.update()` method. One parameter, `event`,
  106328. * is passed to the function. The new point options can be accessed through
  106329. * `event.options`. Returning `false` cancels the operation.
  106330. */
  106331. update?: PointUpdateCallbackFunction;
  106332. }
  106333. /**
  106334. * Information about the select/unselect event.
  106335. */
  106336. export interface PointInteractionEventObject extends Event {
  106337. accumulate: boolean;
  106338. }
  106339. /**
  106340. * Configuration hash for the data label and tooltip formatters.
  106341. */
  106342. export interface PointLabelObject {
  106343. /**
  106344. * The point's current color.
  106345. */
  106346. color?: (ColorString|GradientColorObject|PatternObject);
  106347. /**
  106348. * The point's current color index, used in styled mode instead of `color`.
  106349. * The color index is inserted in class names used for styling.
  106350. */
  106351. colorIndex: number;
  106352. /**
  106353. * The name of the related point.
  106354. */
  106355. key?: string;
  106356. /**
  106357. * The percentage for related points in a stacked series or pies.
  106358. */
  106359. percentage: number;
  106360. /**
  106361. * The related point. The point name, if defined, is available through
  106362. * `this.point.name`.
  106363. */
  106364. point: Point;
  106365. /**
  106366. * The related series. The series name is available through
  106367. * `this.series.name`.
  106368. */
  106369. series: Series;
  106370. /**
  106371. * The total of values in either a stack for stacked series, or a pie in a
  106372. * pie series.
  106373. */
  106374. total?: number;
  106375. /**
  106376. * For categorized axes this property holds the category name for the point.
  106377. * For other axes it holds the X value.
  106378. */
  106379. x?: (number|string);
  106380. /**
  106381. * The y value of the point.
  106382. */
  106383. y?: number;
  106384. }
  106385. /**
  106386. * Information about the legend click event.
  106387. */
  106388. export interface PointLegendItemClickEventObject {
  106389. /**
  106390. * Related browser event.
  106391. */
  106392. browserEvent: PointerEvent;
  106393. /**
  106394. * Prevent the default action of toggle the visibility of the point.
  106395. */
  106396. preventDefault: Function;
  106397. /**
  106398. * Related point.
  106399. */
  106400. target: Point;
  106401. /**
  106402. * Event type.
  106403. */
  106404. type: "legendItemClick";
  106405. }
  106406. /**
  106407. * (Highcharts, Highstock) Options for the point markers of line-like series.
  106408. */
  106409. export interface PointMarkerOptionsObject {
  106410. /**
  106411. * (Highcharts, Highstock, Highmaps) Animation for the marker as it moves
  106412. * between values. Set to `false` to disable animation. Defaults to `{
  106413. * duration: 50 }`.
  106414. */
  106415. animation?: (boolean|Partial<AnimationOptionsObject>);
  106416. /**
  106417. * (Highcharts, Highstock, Highmaps) The color of the marker.
  106418. */
  106419. color?: (ColorString|GradientColorObject|PatternObject);
  106420. /**
  106421. * (Highcharts, Highstock) Enable or disable the point marker. If
  106422. * `undefined`, the markers are hidden when the data is dense, and shown for
  106423. * more widespread data points.
  106424. */
  106425. enabled?: boolean;
  106426. /**
  106427. * (Highcharts, Highstock) The threshold for how dense the point markers
  106428. * should be before they are hidden, given that `enabled` is not defined.
  106429. * The number indicates the horizontal distance between the two closest
  106430. * points in the series, as multiples of the `marker.radius`. In other
  106431. * words, the default value of 2 means points are hidden if overlapping
  106432. * horizontally.
  106433. */
  106434. enabledThreshold?: number;
  106435. /**
  106436. * (Highcharts, Highstock) The fill color of the point marker. When
  106437. * `undefined`, the series' or point's color is used.
  106438. */
  106439. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106440. /**
  106441. * (Highcharts) The fill opacity of the bubble markers.
  106442. */
  106443. fillOpacity?: number;
  106444. /**
  106445. * (Highcharts, Highstock) Image markers only. Set the image width
  106446. * explicitly. When using this option, a `width` must also be set.
  106447. */
  106448. height?: number;
  106449. /**
  106450. * (Highcharts, Highstock) The color of the point marker's outline. When
  106451. * `undefined`, the series' or point's color is used.
  106452. */
  106453. lineColor?: (string|ColorString|GradientColorObject|PatternObject);
  106454. /**
  106455. * (Highcharts, Highstock) The width of the point marker's outline.
  106456. */
  106457. lineWidth?: number;
  106458. /**
  106459. * (Highcharts, Highstock) The radius of the point marker.
  106460. */
  106461. radius?: number;
  106462. /**
  106463. * (Highcharts, Highstock) States for a single point marker.
  106464. */
  106465. states?: PointStatesOptionsObject;
  106466. /**
  106467. * (Highcharts, Highstock) A predefined shape or symbol for the marker. When
  106468. * undefined, the symbol is pulled from options.symbols. Other possible
  106469. * values are `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
  106470. * `'triangle-down'`.
  106471. *
  106472. * Additionally, the URL to a graphic can be given on this form:
  106473. * `'url(graphic.png)'`. Note that for the image to be applied to exported
  106474. * charts, its URL needs to be accessible by the export server.
  106475. *
  106476. * Custom callbacks for symbol path generation can also be added to
  106477. * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
  106478. * its method name, as shown in the demo.
  106479. */
  106480. symbol?: (string|SymbolKeyValue);
  106481. /**
  106482. * (Highcharts, Highstock) Image markers only. Set the image width
  106483. * explicitly. When using this option, a `height` must also be set.
  106484. */
  106485. width?: number;
  106486. }
  106487. /**
  106488. * The generic point options for all series.
  106489. *
  106490. * In TypeScript you have to extend `PointOptionsObject` with an additional
  106491. * declaration to allow custom data options: (see online documentation for
  106492. * example)
  106493. */
  106494. export interface PointOptionsObject {
  106495. /**
  106496. * (Highcharts) Accessibility options for a data point.
  106497. */
  106498. accessibility?: PointAccessibilityOptionsObject;
  106499. /**
  106500. * (Highcharts, Highstock) The color of the border surrounding the column or
  106501. * bar.
  106502. *
  106503. * In styled mode, the border stroke can be set with the `.highcharts-point`
  106504. * rule.
  106505. */
  106506. borderColor?: (ColorString|GradientColorObject|PatternObject);
  106507. /**
  106508. * (Highcharts, Highstock) The width of the border surrounding the column or
  106509. * bar.
  106510. *
  106511. * In styled mode, the stroke width can be set with the `.highcharts-point`
  106512. * rule.
  106513. */
  106514. borderWidth?: number;
  106515. /**
  106516. * (Highcharts) The dash style of the box.
  106517. */
  106518. boxDashStyle?: DashStyleValue;
  106519. /**
  106520. * (Highcharts, Gantt) An additional, individual class name for the data
  106521. * point's graphic representation.
  106522. */
  106523. className?: string;
  106524. /**
  106525. * (Highstock) The closing value of each data point.
  106526. */
  106527. close?: number;
  106528. /**
  106529. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  106530. * the color is pulled from the global `colors` array.
  106531. *
  106532. * In styled mode, the `color` option doesn't take effect. Instead, use
  106533. * `colorIndex`.
  106534. */
  106535. color?: (ColorString|GradientColorObject|PatternObject);
  106536. /**
  106537. * (Highcharts, Gantt) A specific color index to use for the point, so its
  106538. * graphic representations are given the class name `highcharts-color-{n}`.
  106539. * In styled mode this will change the color of the graphic. In non-styled
  106540. * mode, the color by is set by the `fill` attribute, so the change in class
  106541. * name won't have a visual effect by default.
  106542. */
  106543. colorIndex?: number;
  106544. /**
  106545. * (Highcharts) Serves a purpose only if a `colorAxis` object is defined in
  106546. * the chart options. This value will decide which color the point gets from
  106547. * the scale of the colorAxis.
  106548. */
  106549. colorValue?: number;
  106550. /**
  106551. * (Highcharts, Highstock) Color of the line that connects the dumbbell
  106552. * point's values. By default it is the series' color.
  106553. */
  106554. connectorColor?: string;
  106555. /**
  106556. * (Highcharts, Highstock) Pixel width of the line that connects the
  106557. * dumbbell point's values.
  106558. */
  106559. connectorWidth?: number;
  106560. /**
  106561. * (Highcharts) A reserved subspace to store options and values for
  106562. * customized functionality. Here you can add additional data for your own
  106563. * event callbacks and formatter callbacks.
  106564. */
  106565. custom?: Dictionary<any>;
  106566. /**
  106567. * (Highcharts) A name for the dash style to use for the column or bar.
  106568. * Overrides dashStyle on the series.
  106569. *
  106570. * In styled mode, the stroke dash-array can be set with the same classes as
  106571. * listed under data.color.
  106572. */
  106573. dashStyle?: DashStyleValue;
  106574. /**
  106575. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  106576. * options are the same as the ones for plotOptions.series.dataLabels.
  106577. */
  106578. dataLabels?: (DataLabelsOptions|SeriesNetworkgraphDataLabelsOptionsObject|SeriesPackedBubbleDataLabelsOptionsObject|SeriesPieDataLabelsOptionsObject|SeriesSunburstDataLabelsOptionsObject|
  106579. Array<DataLabelsOptions>|Array<SeriesNetworkgraphDataLabelsOptionsObject>|Array<SeriesPackedBubbleDataLabelsOptionsObject>|Array<SeriesSunburstDataLabelsOptionsObject>);
  106580. /**
  106581. * (Highcharts) A description of the point to add to the screen reader
  106582. * information about the point.
  106583. */
  106584. description?: string;
  106585. /**
  106586. * (Highcharts, Highstock) The wind direction in degrees, where 0 is north
  106587. * (pointing towards south).
  106588. */
  106589. direction?: number;
  106590. /**
  106591. * (Highcharts) Point specific options for the draggable-points module.
  106592. * Overrides options on `series.dragDrop`.
  106593. */
  106594. dragDrop?: SeriesLineDataDragDropOptions;
  106595. /**
  106596. * (Highcharts) The `id` of a series in the drilldown.series array to use
  106597. * for a drilldown for this point.
  106598. */
  106599. drilldown?: string;
  106600. /**
  106601. * (Highcharts, Highstock, Gantt) The individual point events.
  106602. */
  106603. events?: PointEventsOptionsObject;
  106604. /**
  106605. * (Highstock) The fill color of an individual flag. By default it inherits
  106606. * from the series color.
  106607. */
  106608. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106609. /**
  106610. * (Highcharts) The node that the link runs from.
  106611. */
  106612. from?: string;
  106613. /**
  106614. * (Highcharts, Highstock) The high or maximum value for each data point.
  106615. */
  106616. high?: number;
  106617. /**
  106618. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  106619. * after render time to get a pointer to the point object through
  106620. * `chart.get()`.
  106621. */
  106622. id?: string;
  106623. /**
  106624. * (Highcharts) The inner radius of an individual point in a solid gauge.
  106625. * Can be given as a number (pixels) or percentage string.
  106626. */
  106627. innerRadius?: (number|string);
  106628. /**
  106629. * (Highcharts) When this property is true, the points acts as a summary
  106630. * column for the values added or substracted since the last intermediate
  106631. * sum, or since the start of the series. The `y` value is ignored.
  106632. */
  106633. isIntermediateSum?: boolean;
  106634. /**
  106635. * (Highcharts) When this property is true, the point display the total sum
  106636. * across the entire series. The `y` value is ignored.
  106637. */
  106638. isSum?: boolean;
  106639. /**
  106640. * (Highcharts) The label of event.
  106641. */
  106642. label?: string;
  106643. /**
  106644. * (Highcharts) The rank for this point's data label in case of collision.
  106645. * If two data labels are about to overlap, only the one with the highest
  106646. * `labelrank` will be drawn.
  106647. */
  106648. labelrank?: number;
  106649. /**
  106650. * (Highcharts) The sequential index of the data point in the legend.
  106651. */
  106652. legendIndex?: number;
  106653. /**
  106654. * (Highcharts, Highstock) The length of the vector. The rendered length
  106655. * will relate to the `vectorLength` setting.
  106656. */
  106657. length?: number;
  106658. /**
  106659. * (Highcharts, Highstock) The low or minimum value for each data point.
  106660. */
  106661. low?: number;
  106662. /**
  106663. * (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
  106664. */
  106665. lowColor?: (ColorString|GradientColorObject|PatternObject);
  106666. /**
  106667. * (Highcharts, Highstock) Options for the point markers of line-like
  106668. * series.
  106669. */
  106670. marker?: PointMarkerOptionsObject;
  106671. /**
  106672. * (Highcharts) The median for each data point. This is drawn as a line
  106673. * through the middle area of the box.
  106674. */
  106675. median?: number;
  106676. /**
  106677. * (Highcharts) The dash style of the median.
  106678. */
  106679. medianDashStyle?: DashStyleValue;
  106680. /**
  106681. * (Highcharts) The name of the point as shown in the legend, tooltip,
  106682. * dataLabels, etc.
  106683. */
  106684. name?: (number|string);
  106685. /**
  106686. * (Highstock) The opening value of each data point.
  106687. */
  106688. open?: number;
  106689. /**
  106690. * (Highcharts) Only for treemap. Use this option to build a tree structure.
  106691. * The value should be the id of the point which is the parent. If no points
  106692. * has a matching id, or this option is undefined, then the parent will be
  106693. * set to the root.
  106694. */
  106695. parent?: string;
  106696. /**
  106697. * (Highcharts, Highmaps) Point padding for a single point.
  106698. */
  106699. pointPadding?: number;
  106700. /**
  106701. * (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
  106702. * the column or bar. Overrides pointWidth on the series. The width effects
  106703. * the dimension that is not based on the point value.
  106704. */
  106705. pointWidth?: number;
  106706. /**
  106707. * (Highcharts) The lower quartile for each data point. This is the bottom
  106708. * of the box.
  106709. */
  106710. q1?: number;
  106711. /**
  106712. * (Highcharts) The higher quartile for each data point. This is the top of
  106713. * the box.
  106714. */
  106715. q3?: number;
  106716. /**
  106717. * (Highcharts) The outer radius of an individual point in a solid gauge.
  106718. * Can be given as a number (pixels) or percentage string.
  106719. */
  106720. radius?: (number|string);
  106721. /**
  106722. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  106723. * initially.
  106724. */
  106725. selected?: boolean;
  106726. /**
  106727. * (Highcharts) The set or sets the options will be applied to. If a single
  106728. * entry is defined, then it will create a new set. If more than one entry
  106729. * is defined, then it will define the overlap between the sets in the
  106730. * array.
  106731. */
  106732. sets?: Array<string>;
  106733. /**
  106734. * (Highcharts) Whether to display a slice offset from the center.
  106735. */
  106736. sliced?: boolean;
  106737. /**
  106738. * (Highcharts) The dash style of the stem.
  106739. */
  106740. stemDashStyle?: DashStyleValue;
  106741. /**
  106742. * (Highcharts) The target value of a point.
  106743. */
  106744. target?: number;
  106745. /**
  106746. * (Highcharts) Individual target options for each point.
  106747. */
  106748. targetOptions?: SeriesBulletDataTargetOptions;
  106749. /**
  106750. * (Highstock) The longer text to be shown in the flag's tooltip.
  106751. */
  106752. text?: string;
  106753. /**
  106754. * (Highstock) The short text to be shown on the flag.
  106755. */
  106756. title?: string;
  106757. /**
  106758. * (Highcharts) The node that the link runs to.
  106759. */
  106760. to?: string;
  106761. /**
  106762. * (Highcharts, Highstock) The wind speed in meters per second.
  106763. */
  106764. value?: (number|null);
  106765. /**
  106766. * (Highcharts) The weighting of a word. The weight decides the relative
  106767. * size of a word compared to the rest of the collection.
  106768. */
  106769. weight?: number;
  106770. /**
  106771. * (Highcharts) The dash style of the whiskers.
  106772. */
  106773. whiskerDashStyle?: DashStyleValue;
  106774. /**
  106775. * (Highcharts, Highstock) The x value of the point. For datetime axes, the
  106776. * X value is the timestamp in milliseconds since 1970.
  106777. */
  106778. x?: number;
  106779. /**
  106780. * (Highcharts, Highstock) The y value of the point.
  106781. */
  106782. y?: (number|null);
  106783. /**
  106784. * (Highcharts) The relative width for each column. On a category axis, the
  106785. * widths are distributed so they sum up to the X axis length. On linear and
  106786. * datetime axes, the columns will be laid out from the X value and Z units
  106787. * along the axis.
  106788. */
  106789. z?: (number|null);
  106790. }
  106791. /**
  106792. * (Highcharts, Highstock) The hover state for a single point marker.
  106793. */
  106794. export interface PointStatesHoverOptionsObject {
  106795. /**
  106796. * (Highcharts, Highstock) Animation when hovering over the marker.
  106797. */
  106798. animation?: (boolean|Partial<AnimationOptionsObject>);
  106799. /**
  106800. * (Highcharts, Highstock) Enable or disable the point marker.
  106801. */
  106802. enabled?: boolean;
  106803. /**
  106804. * (Highcharts, Highstock) The fill color of the marker in hover state. When
  106805. * `undefined`, the series' or point's fillColor for normal state is used.
  106806. */
  106807. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106808. /**
  106809. * (Highcharts, Highmaps) Set the marker's fixed height on hover state.
  106810. */
  106811. height?: (number|undefined);
  106812. /**
  106813. * (Highcharts, Highstock) The number of pixels to increase the height of
  106814. * the hovered point.
  106815. */
  106816. heightPlus?: (number|undefined);
  106817. /**
  106818. * (Highcharts, Highstock) The color of the point marker's outline. When
  106819. * `undefined`, the series' or point's lineColor for normal state is used.
  106820. */
  106821. lineColor?: (ColorString|GradientColorObject|PatternObject);
  106822. /**
  106823. * (Highcharts, Highstock) The width of the point marker's outline. When
  106824. * `undefined`, the series' or point's lineWidth for normal state is used.
  106825. */
  106826. lineWidth?: number;
  106827. /**
  106828. * (Highcharts, Highstock) The additional line width for a hovered point.
  106829. */
  106830. lineWidthPlus?: (number|undefined);
  106831. /**
  106832. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  106833. * it defaults to the normal state's radius + 2 as per the radiusPlus
  106834. * option.
  106835. */
  106836. radius?: number;
  106837. /**
  106838. * (Highcharts, Highstock) The number of pixels to increase the radius of
  106839. * the hovered point.
  106840. */
  106841. radiusPlus?: number;
  106842. /**
  106843. * (Highcharts, Highmaps) Set the marker's fixed width on hover state.
  106844. */
  106845. width?: (number|undefined);
  106846. /**
  106847. * (Highcharts, Highstock) The number of pixels to increase the width of the
  106848. * hovered point.
  106849. */
  106850. widthPlus?: (number|undefined);
  106851. }
  106852. /**
  106853. * (Highcharts) The opposite state of a hover for a single point node. Applied
  106854. * to all not connected nodes to the hovered one.
  106855. */
  106856. export interface PointStatesInactiveOptionsObject {
  106857. /**
  106858. * (Highcharts) Animation when not hovering over the node.
  106859. */
  106860. animation?: (boolean|Partial<AnimationOptionsObject>);
  106861. /**
  106862. * (Highcharts) Opacity of inactive markers.
  106863. */
  106864. opacity?: number;
  106865. }
  106866. /**
  106867. * (Highcharts, Highstock) The normal state of a single point marker. Currently
  106868. * only used for setting animation when returning to normal state from hover.
  106869. */
  106870. export interface PointStatesNormalOptionsObject {
  106871. /**
  106872. * (Highcharts, Highstock) Animation when returning to normal state after
  106873. * hovering.
  106874. */
  106875. animation?: (boolean|Partial<AnimationOptionsObject>);
  106876. }
  106877. /**
  106878. * (Highcharts, Highstock) States for a single point marker.
  106879. */
  106880. export interface PointStatesOptionsObject {
  106881. /**
  106882. * (Highcharts, Highstock) The hover state for a single point marker.
  106883. */
  106884. hover?: PointStatesHoverOptionsObject;
  106885. /**
  106886. * (Highcharts) The opposite state of a hover for a single point node.
  106887. * Applied to all not connected nodes to the hovered one.
  106888. */
  106889. inactive?: PointStatesInactiveOptionsObject;
  106890. /**
  106891. * (Highcharts, Highstock) The normal state of a single point marker.
  106892. * Currently only used for setting animation when returning to normal state
  106893. * from hover.
  106894. */
  106895. normal?: PointStatesNormalOptionsObject;
  106896. /**
  106897. * (Highcharts, Highstock) The appearance of the point marker when selected.
  106898. * In order to allow a point to be selected, set the
  106899. * `series.allowPointSelect` option to true.
  106900. */
  106901. select?: PointStatesSelectOptionsObject;
  106902. }
  106903. /**
  106904. * (Highcharts, Highstock) The appearance of the point marker when selected. In
  106905. * order to allow a point to be selected, set the `series.allowPointSelect`
  106906. * option to true.
  106907. */
  106908. export interface PointStatesSelectOptionsObject {
  106909. /**
  106910. * (Highcharts, Highstock) Enable or disable visible feedback for selection.
  106911. */
  106912. enabled?: boolean;
  106913. /**
  106914. * (Highcharts, Highstock) The fill color of the point marker.
  106915. */
  106916. fillColor?: (ColorString|GradientColorObject|PatternObject);
  106917. /**
  106918. * (Highcharts, Highmaps) Set the marker's fixed height on select state.
  106919. */
  106920. height?: (number|undefined);
  106921. /**
  106922. * (Highcharts, Highstock) The number of pixels to increase the height of
  106923. * the hovered point.
  106924. */
  106925. heightPlus?: (number|undefined);
  106926. /**
  106927. * (Highcharts, Highstock) The color of the point marker's outline. When
  106928. * `undefined`, the series' or point's color is used.
  106929. */
  106930. lineColor?: (ColorString|GradientColorObject|PatternObject);
  106931. /**
  106932. * (Highcharts, Highstock) The width of the point marker's outline.
  106933. */
  106934. lineWidth?: number;
  106935. /**
  106936. * (Highcharts, Highstock) The radius of the point marker. In hover state,
  106937. * it defaults to the normal state's radius + 2.
  106938. */
  106939. radius?: number;
  106940. /**
  106941. * (Highcharts, Highmaps) Set the marker's fixed width on select state.
  106942. */
  106943. width?: (number|undefined);
  106944. /**
  106945. * (Highcharts, Highstock) The number of pixels to increase the width of the
  106946. * hovered point.
  106947. */
  106948. widthPlus?: (number|undefined);
  106949. }
  106950. /**
  106951. * Information about the update event.
  106952. */
  106953. export interface PointUpdateEventObject extends Event {
  106954. /**
  106955. * Options data of the update event.
  106956. */
  106957. options: PointOptionsType;
  106958. }
  106959. /**
  106960. * An object containing `x` and `y` properties for the position of an element.
  106961. */
  106962. export interface PositionObject {
  106963. /**
  106964. * X position of the element.
  106965. */
  106966. x: number;
  106967. /**
  106968. * Y position of the element.
  106969. */
  106970. y: number;
  106971. }
  106972. /**
  106973. * Defines the center position and the radius for a gradient.
  106974. */
  106975. export interface RadialGradientColorObject {
  106976. /**
  106977. * Center horizontal position relative to the shape. Float ranges 0-1.
  106978. */
  106979. cx: number;
  106980. /**
  106981. * Center vertical position relative to the shape. Float ranges 0-1.
  106982. */
  106983. cy: number;
  106984. /**
  106985. * Radius relative to the shape. Float ranges 0-1.
  106986. */
  106987. r: number;
  106988. }
  106989. /**
  106990. * Describes a range.
  106991. */
  106992. export interface RangeObject {
  106993. /**
  106994. * Maximum number of the range.
  106995. */
  106996. max: number;
  106997. /**
  106998. * Minimum number of the range.
  106999. */
  107000. min: number;
  107001. }
  107002. /**
  107003. * (Highstock, Gantt) Positioning for the button row.
  107004. */
  107005. export interface RangeSelectorButtonPositionOptions {
  107006. /**
  107007. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  107008. * `left`, `center`, `right`.
  107009. */
  107010. align?: AlignValue;
  107011. /**
  107012. * (Highstock, Gantt) X offset of the button row.
  107013. */
  107014. x?: number;
  107015. /**
  107016. * (Highstock, Gantt) Y offset of the button row.
  107017. */
  107018. y?: number;
  107019. }
  107020. export interface RangeSelectorButtonsEventsOptions {
  107021. /**
  107022. * (Highstock, Gantt) Fires when clicking on the rangeSelector button. One
  107023. * parameter, event, is passed to the function, containing common event
  107024. * information. (see online documentation for example)
  107025. *
  107026. * Return false to stop default button's click action.
  107027. */
  107028. click?: RangeSelectorClickCallbackFunction;
  107029. }
  107030. /**
  107031. * (Highstock, Gantt) An array of configuration objects for the buttons.
  107032. *
  107033. * Defaults to: (see online documentation for example)
  107034. */
  107035. export interface RangeSelectorButtonsOptions {
  107036. /**
  107037. * (Highstock, Gantt) How many units of the defined type the button should
  107038. * span. If `type` is "month" and `count` is 3, the button spans three
  107039. * months.
  107040. */
  107041. count?: number;
  107042. /**
  107043. * (Highstock) A custom data grouping object for each button.
  107044. */
  107045. dataGrouping?: DataGroupingOptionsObject;
  107046. events?: RangeSelectorButtonsEventsOptions;
  107047. /**
  107048. * (Highstock, Gantt) Additional range (in milliseconds) added to the end of
  107049. * the calculated time span.
  107050. */
  107051. offsetMax?: number;
  107052. /**
  107053. * (Highstock, Gantt) Additional range (in milliseconds) added to the start
  107054. * of the calculated time span.
  107055. */
  107056. offsetMin?: number;
  107057. /**
  107058. * (Highstock, Gantt) When buttons apply dataGrouping on a series, by
  107059. * default zooming in/out will deselect buttons and unset dataGrouping.
  107060. * Enable this option to keep buttons selected when extremes change.
  107061. */
  107062. preserveDataGrouping?: boolean;
  107063. /**
  107064. * (Highstock, Gantt) The text for the button itself.
  107065. */
  107066. text?: string;
  107067. /**
  107068. * (Highstock, Gantt) Explanation for the button, shown as a tooltip on
  107069. * hover, and used by assistive technology.
  107070. */
  107071. title?: string;
  107072. /**
  107073. * (Highstock, Gantt) Defined the time span for the button. Can be one of
  107074. * `millisecond`, `second`, `minute`, `hour`, `day`, `week`, `month`,
  107075. * `year`, `ytd`, and `all`.
  107076. */
  107077. type?: RangeSelectorButtonTypeValue;
  107078. }
  107079. /**
  107080. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties are
  107081. * `align`, `x` and `y`.
  107082. */
  107083. export interface RangeSelectorInputPositionOptions {
  107084. /**
  107085. * (Highstock, Gantt) The alignment of the input box. Allowed properties are
  107086. * `left`, `center`, `right`.
  107087. */
  107088. align?: AlignValue;
  107089. /**
  107090. * (Highstock, Gantt) X offset of the input row.
  107091. */
  107092. x?: number;
  107093. /**
  107094. * (Highstock, Gantt) Y offset of the input row.
  107095. */
  107096. y?: number;
  107097. }
  107098. /**
  107099. * (Highstock, Gantt) The range selector is a tool for selecting ranges to
  107100. * display within the chart. It provides buttons to select preconfigured ranges
  107101. * in the chart, like 1 day, 1 week, 1 month etc. It also provides input boxes
  107102. * where min and max dates can be manually input.
  107103. */
  107104. export interface RangeSelectorOptions {
  107105. /**
  107106. * (Highstock, Gantt) Whether to enable all buttons from the start. By
  107107. * default buttons are only enabled if the corresponding time range exists
  107108. * on the X axis, but enabling all buttons allows for dynamically loading
  107109. * different time ranges.
  107110. */
  107111. allButtonsEnabled?: boolean;
  107112. /**
  107113. * (Highstock, Gantt) Positioning for the button row.
  107114. */
  107115. buttonPosition?: RangeSelectorButtonPositionOptions;
  107116. /**
  107117. * (Highstock, Gantt) An array of configuration objects for the buttons.
  107118. *
  107119. * Defaults to: (see online documentation for example)
  107120. */
  107121. buttons?: Array<RangeSelectorButtonsOptions>;
  107122. /**
  107123. * (Highstock, Gantt) The space in pixels between the buttons in the range
  107124. * selector.
  107125. */
  107126. buttonSpacing?: number;
  107127. /**
  107128. * (Highstock, Gantt) A collection of attributes for the buttons. The object
  107129. * takes SVG attributes like `fill`, `stroke`, `stroke-width`, as well as
  107130. * `style`, a collection of CSS properties for the text.
  107131. *
  107132. * The object can also be extended with states, so you can set
  107133. * presentational options for `hover`, `select` or `disabled` button states.
  107134. *
  107135. * CSS styles for the text label.
  107136. *
  107137. * In styled mode, the buttons are styled by the
  107138. * `.highcharts-range-selector-buttons .highcharts-button` rule with its
  107139. * different states.
  107140. */
  107141. buttonTheme?: SVGAttributes;
  107142. /**
  107143. * (Highstock, Gantt) Whether to collapse the range selector buttons into a
  107144. * dropdown when there is not enough room to show everything in a single
  107145. * row, instead of dividing the range selector into multiple rows. Can be
  107146. * one of the following:
  107147. *
  107148. * - `always`: Always collapse
  107149. *
  107150. * - `responsive`: Only collapse when there is not enough room
  107151. *
  107152. * - `never`: Never collapse
  107153. */
  107154. dropdown?: OptionsDropdownValue;
  107155. /**
  107156. * (Highstock, Gantt) Enable or disable the range selector. Default to
  107157. * `true` for stock charts, using the `stockChart` factory.
  107158. */
  107159. enabled?: (boolean|undefined);
  107160. /**
  107161. * (Highstock, Gantt) When the rangeselector is floating, the plot area does
  107162. * not reserve space for it. This opens for positioning anywhere on the
  107163. * chart.
  107164. */
  107165. floating?: boolean;
  107166. /**
  107167. * (Highstock, Gantt) The border color of the date input boxes.
  107168. */
  107169. inputBoxBorderColor?: ColorString;
  107170. /**
  107171. * (Highstock, Gantt) The pixel height of the date input boxes.
  107172. */
  107173. inputBoxHeight?: number;
  107174. /**
  107175. * (Highstock, Gantt) The pixel width of the date input boxes. When
  107176. * `undefined`, the width is fitted to the rendered content.
  107177. */
  107178. inputBoxWidth?: (number|undefined);
  107179. /**
  107180. * (Highstock, Gantt) The date format in the input boxes when not selected
  107181. * for editing. Defaults to `%b %e, %Y`.
  107182. *
  107183. * This is used to determine which type of input to show, `datetime-local`,
  107184. * `date` or `time` and falling back to `text` when the browser does not
  107185. * support the input type or the format contains milliseconds.
  107186. */
  107187. inputDateFormat?: string;
  107188. /**
  107189. * (Highstock, Gantt) A custom callback function to parse values entered in
  107190. * the input boxes and return a valid JavaScript time as milliseconds since
  107191. * 1970. The first argument passed is a value to parse, second is a boolean
  107192. * indicating use of the UTC time.
  107193. *
  107194. * This will only get called for inputs of type `text`. Since v8.2.3, the
  107195. * input type is dynamically determined based on the granularity of the
  107196. * `inputDateFormat` and the browser support.
  107197. */
  107198. inputDateParser?: RangeSelectorParseCallbackFunction;
  107199. /**
  107200. * (Highstock, Gantt) The date format in the input boxes when they are
  107201. * selected for editing. This must be a format that is recognized by
  107202. * JavaScript Date.parse.
  107203. *
  107204. * This will only be used for inputs of type `text`. Since v8.2.3, the input
  107205. * type is dynamically determined based on the granularity of the
  107206. * `inputDateFormat` and the browser support.
  107207. */
  107208. inputEditDateFormat?: string;
  107209. /**
  107210. * (Highstock, Gantt) Enable or disable the date input boxes.
  107211. */
  107212. inputEnabled?: boolean;
  107213. /**
  107214. * (Highstock, Gantt) Positioning for the input boxes. Allowed properties
  107215. * are `align`, `x` and `y`.
  107216. */
  107217. inputPosition?: RangeSelectorInputPositionOptions;
  107218. /**
  107219. * (Highstock, Gantt) The space in pixels between the labels and the date
  107220. * input boxes in the range selector.
  107221. */
  107222. inputSpacing?: number;
  107223. /**
  107224. * (Highstock, Gantt) CSS for the HTML inputs in the range selector.
  107225. *
  107226. * In styled mode, the inputs are styled by the `.highcharts-range-input
  107227. * text` rule in SVG mode, and `input.highcharts-range-selector` when
  107228. * active.
  107229. */
  107230. inputStyle?: CSSObject;
  107231. /**
  107232. * (Highstock, Gantt) CSS styles for the labels - the Zoom, From and To
  107233. * texts.
  107234. *
  107235. * In styled mode, the labels are styled by the `.highcharts-range-label`
  107236. * class.
  107237. */
  107238. labelStyle?: CSSObject;
  107239. /**
  107240. * (Highstock, Gantt) The index of the button to appear pre-selected.
  107241. */
  107242. selected?: number;
  107243. /**
  107244. * (Highstock, Gantt) The vertical alignment of the rangeselector box.
  107245. * Allowed properties are `top`, `middle`, `bottom`.
  107246. */
  107247. verticalAlign?: VerticalAlignValue;
  107248. /**
  107249. * (Highstock, Gantt) The x offset of the range selector relative to its
  107250. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  107251. */
  107252. x?: number;
  107253. /**
  107254. * (Highstock, Gantt) The y offset of the range selector relative to its
  107255. * horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
  107256. */
  107257. y?: number;
  107258. }
  107259. /**
  107260. * A rectangle.
  107261. */
  107262. export interface RectangleObject {
  107263. /**
  107264. * Height of the rectangle.
  107265. */
  107266. height: number;
  107267. /**
  107268. * Width of the rectangle.
  107269. */
  107270. width: number;
  107271. /**
  107272. * Horizontal position of the rectangle.
  107273. */
  107274. x: number;
  107275. /**
  107276. * Vertical position of the rectangle.
  107277. */
  107278. y: number;
  107279. }
  107280. /**
  107281. * (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
  107282. * apply for different screen or chart sizes. Each rule specifies additional
  107283. * chart options.
  107284. */
  107285. export interface ResponsiveOptions {
  107286. /**
  107287. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  107288. * settings. The rules are executed from the top down.
  107289. */
  107290. rules?: Array<ResponsiveRulesOptions>;
  107291. }
  107292. /**
  107293. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  107294. * applies.
  107295. */
  107296. export interface ResponsiveRulesConditionOptions {
  107297. /**
  107298. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to gain
  107299. * complete control on when the responsive rule applies. Return `true` if it
  107300. * applies. This opens for checking against other metrics than the chart
  107301. * size, for example the document size or other elements.
  107302. */
  107303. callback?: ResponsiveCallbackFunction;
  107304. /**
  107305. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107306. * the chart height is less than this.
  107307. */
  107308. maxHeight?: number;
  107309. /**
  107310. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107311. * the chart width is less than this.
  107312. */
  107313. maxWidth?: number;
  107314. /**
  107315. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107316. * the chart height is greater than this.
  107317. */
  107318. minHeight?: number;
  107319. /**
  107320. * (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
  107321. * the chart width is greater than this.
  107322. */
  107323. minWidth?: number;
  107324. }
  107325. /**
  107326. * (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
  107327. * settings. The rules are executed from the top down.
  107328. */
  107329. export interface ResponsiveRulesOptions {
  107330. /**
  107331. * (Highcharts, Highstock, Highmaps, Gantt) A full set of chart options to
  107332. * apply as overrides to the general chart options. The chart options are
  107333. * applied when the given rule is active.
  107334. *
  107335. * A special case is configuration objects that take arrays, for example
  107336. * xAxis, yAxis or series. For these collections, an `id` option is used to
  107337. * map the new option set to an existing object. If an existing object of
  107338. * the same id is not found, the item of the same indexupdated. So for
  107339. * example, setting `chartOptions` with two series items without an `id`,
  107340. * will cause the existing chart's two series to be updated with respective
  107341. * options.
  107342. */
  107343. chartOptions?: Options;
  107344. /**
  107345. * (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
  107346. * applies.
  107347. */
  107348. condition?: ResponsiveRulesConditionOptions;
  107349. }
  107350. /**
  107351. * (Highcharts) A node in a sankey diagram.
  107352. */
  107353. export interface SankeyNodeObject extends Point {
  107354. /**
  107355. * The color of the auto generated node.
  107356. */
  107357. color: (ColorString|GradientColorObject|PatternObject);
  107358. /**
  107359. * The color index of the auto generated node, especially for use in styled
  107360. * mode.
  107361. */
  107362. colorIndex: number;
  107363. /**
  107364. * An optional column index of where to place the node. The default
  107365. * behaviour is to place it next to the preceding node.
  107366. */
  107367. column: number;
  107368. /**
  107369. * The id of the auto-generated node, refering to the `from` or `to` setting
  107370. * of the link.
  107371. */
  107372. id: string;
  107373. /**
  107374. * (Highcharts) The name to display for the node in data labels and
  107375. * tooltips. Use this when the name is different from the `id`. Where the id
  107376. * must be unique for each node, this is not necessary for the name.
  107377. */
  107378. name: string;
  107379. /**
  107380. * The vertical offset of a node in terms of weight. Positive values shift
  107381. * the node downwards, negative shift it upwards.
  107382. */
  107383. offset: number;
  107384. }
  107385. /**
  107386. * (Highstock, Gantt) The scrollbar is a means of panning over the X axis of a
  107387. * stock chart. Scrollbars can also be applied to other types of axes.
  107388. *
  107389. * Another approach to scrollable charts is the chart.scrollablePlotArea option
  107390. * that is especially suitable for simpler cartesian charts on mobile.
  107391. *
  107392. * In styled mode, all the presentational options for the scrollbar are replaced
  107393. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  107394. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  107395. * `.highcharts-scrollbar-track`.
  107396. */
  107397. export interface ScrollbarOptions {
  107398. /**
  107399. * (Highstock, Gantt) The background color of the scrollbar itself.
  107400. */
  107401. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107402. /**
  107403. * (Highstock, Gantt) The color of the scrollbar's border.
  107404. */
  107405. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107406. /**
  107407. * (Highstock, Gantt) The border rounding radius of the bar.
  107408. */
  107409. barBorderRadius?: number;
  107410. /**
  107411. * (Highstock, Gantt) The width of the bar's border.
  107412. */
  107413. barBorderWidth?: number;
  107414. /**
  107415. * (Highstock, Gantt) The color of the small arrow inside the scrollbar
  107416. * buttons.
  107417. */
  107418. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  107419. /**
  107420. * (Highstock, Gantt) The color of scrollbar buttons.
  107421. */
  107422. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107423. /**
  107424. * (Highstock, Gantt) The color of the border of the scrollbar buttons.
  107425. */
  107426. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107427. /**
  107428. * (Highstock, Gantt) The corner radius of the scrollbar buttons.
  107429. */
  107430. buttonBorderRadius?: number;
  107431. /**
  107432. * (Highstock, Gantt) The border width of the scrollbar buttons.
  107433. */
  107434. buttonBorderWidth?: number;
  107435. /**
  107436. * (Highstock, Gantt) Enable or disable the scrollbar.
  107437. */
  107438. enabled?: boolean;
  107439. /**
  107440. * (Highstock, Gantt) The height of the scrollbar. The height also applies
  107441. * to the width of the scroll arrows so that they are always squares.
  107442. * Defaults to 20 for touch devices and 14 for mouse devices.
  107443. */
  107444. height?: number;
  107445. /**
  107446. * (Highstock, Gantt) Whether to redraw the main chart as the scrollbar or
  107447. * the navigator zoomed window is moved. Defaults to `true` for modern
  107448. * browsers and `false` for legacy IE browsers as well as mobile devices.
  107449. */
  107450. liveRedraw?: boolean;
  107451. /**
  107452. * (Highstock, Gantt) The margin between the scrollbar and its axis when the
  107453. * scrollbar is applied directly to an axis.
  107454. */
  107455. margin?: number;
  107456. /**
  107457. * (Highstock, Gantt) The minimum width of the scrollbar.
  107458. */
  107459. minWidth?: number;
  107460. /**
  107461. * (Highstock, Gantt) The color of the small rifles in the middle of the
  107462. * scrollbar.
  107463. */
  107464. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  107465. /**
  107466. * (Highstock, Gantt) Whether to show or hide the scrollbar when the
  107467. * scrolled content is zoomed out to it full extent.
  107468. */
  107469. showFull?: boolean;
  107470. /**
  107471. * (Highstock, Gantt) The color of the track background.
  107472. */
  107473. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107474. /**
  107475. * (Highstock, Gantt) The color of the border of the scrollbar track.
  107476. */
  107477. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  107478. /**
  107479. * (Highstock, Gantt) The corner radius of the border of the scrollbar
  107480. * track.
  107481. */
  107482. trackBorderRadius?: number;
  107483. /**
  107484. * (Highstock, Gantt) The width of the border of the scrollbar track.
  107485. */
  107486. trackBorderWidth?: number;
  107487. /**
  107488. * (Highstock, Gantt) The z index of the scrollbar group.
  107489. */
  107490. zIndex?: number;
  107491. }
  107492. /**
  107493. * Axis-specific data of a selection.
  107494. */
  107495. export interface SelectDataObject {
  107496. axis: Axis;
  107497. max: number;
  107498. min: number;
  107499. }
  107500. /**
  107501. * Object for select events.
  107502. */
  107503. export interface SelectEventObject {
  107504. originalEvent: Event;
  107505. xAxis: Array<SelectDataObject>;
  107506. yAxis: Array<SelectDataObject>;
  107507. }
  107508. /**
  107509. * (Highstock) An Acceleration bands indicator. If the type option is not
  107510. * specified, it is inherited from chart.type.
  107511. *
  107512. * In TypeScript the type option must always be set.
  107513. *
  107514. * Configuration options for the series are given in three levels:
  107515. *
  107516. * 1. Options for all series in a chart are defined in the plotOptions.series
  107517. * object.
  107518. *
  107519. * 2. Options for all `abands` series are defined in plotOptions.abands.
  107520. *
  107521. * 3. Options for one single series are given in the series instance array. (see
  107522. * online documentation for example)
  107523. *
  107524. * You have to extend the `SeriesAbandsOptions` via an interface to allow custom
  107525. * properties: ``` declare interface SeriesAbandsOptions { customProperty:
  107526. * string; }
  107527. *
  107528. */
  107529. export interface SeriesAbandsOptions extends PlotAbandsOptions, SeriesOptions {
  107530. /**
  107531. * Not available
  107532. */
  107533. dataParser?: undefined;
  107534. /**
  107535. * Not available
  107536. */
  107537. dataURL?: undefined;
  107538. /**
  107539. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107540. * TypeScript non-optional and might be `undefined` in series objects from
  107541. * unknown sources.
  107542. */
  107543. type: "abands";
  107544. }
  107545. /**
  107546. * (Highstock) Keyboard navigation for a series
  107547. */
  107548. export interface SeriesAccessibilityKeyboardNavigationOptionsObject {
  107549. /**
  107550. * (Highstock) Enable/disable keyboard navigation support for a specific
  107551. * series.
  107552. */
  107553. enabled?: boolean;
  107554. }
  107555. /**
  107556. * (Highstock) Accessibility options for a series.
  107557. */
  107558. export interface SeriesAccessibilityOptionsObject {
  107559. /**
  107560. * (Highstock) Provide a description of the series, announced to screen
  107561. * readers.
  107562. */
  107563. description?: string;
  107564. /**
  107565. * (Highstock) Enable/disable accessibility functionality for a specific
  107566. * series.
  107567. */
  107568. enabled?: boolean;
  107569. /**
  107570. * (Highstock) Expose only the series element to screen readers, not its
  107571. * points.
  107572. */
  107573. exposeAsGroupOnly?: boolean;
  107574. /**
  107575. * (Highstock) Keyboard navigation for a series
  107576. */
  107577. keyboardNavigation?: SeriesAccessibilityKeyboardNavigationOptionsObject;
  107578. /**
  107579. * (Highstock) Formatter function to use instead of the default for point
  107580. * descriptions. Same as `accessibility.point.descriptionFormatter`, but for
  107581. * a single series.
  107582. */
  107583. pointDescriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
  107584. }
  107585. /**
  107586. * (Highstock) A `AD` series. If the type option is not specified, it is
  107587. * inherited from chart.type.
  107588. *
  107589. * In TypeScript the type option must always be set.
  107590. *
  107591. * Configuration options for the series are given in three levels:
  107592. *
  107593. * 1. Options for all series in a chart are defined in the plotOptions.series
  107594. * object.
  107595. *
  107596. * 2. Options for all `ad` series are defined in plotOptions.ad.
  107597. *
  107598. * 3. Options for one single series are given in the series instance array. (see
  107599. * online documentation for example)
  107600. *
  107601. * You have to extend the `SeriesAdOptions` via an interface to allow custom
  107602. * properties: ``` declare interface SeriesAdOptions { customProperty: string; }
  107603. *
  107604. */
  107605. export interface SeriesAdOptions extends PlotAdOptions, SeriesOptions {
  107606. /**
  107607. * Not available
  107608. */
  107609. dataParser?: undefined;
  107610. /**
  107611. * Not available
  107612. */
  107613. dataURL?: undefined;
  107614. /**
  107615. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107616. * TypeScript non-optional and might be `undefined` in series objects from
  107617. * unknown sources.
  107618. */
  107619. type: "ad";
  107620. }
  107621. /**
  107622. * Event information regarding completed animation of a series.
  107623. */
  107624. export interface SeriesAfterAnimateEventObject {
  107625. /**
  107626. * Animated series.
  107627. */
  107628. target: Series;
  107629. /**
  107630. * Event type.
  107631. */
  107632. type: "afterAnimate";
  107633. }
  107634. /**
  107635. * (Highstock) An `AO` series. If the type option is not specified, it is
  107636. * inherited from chart.type.
  107637. *
  107638. * In TypeScript the type option must always be set.
  107639. *
  107640. * Configuration options for the series are given in three levels:
  107641. *
  107642. * 1. Options for all series in a chart are defined in the plotOptions.series
  107643. * object.
  107644. *
  107645. * 2. Options for all `ao` series are defined in plotOptions.ao.
  107646. *
  107647. * 3. Options for one single series are given in the series instance array. (see
  107648. * online documentation for example)
  107649. *
  107650. * You have to extend the `SeriesAoOptions` via an interface to allow custom
  107651. * properties: ``` declare interface SeriesAoOptions { customProperty: string; }
  107652. *
  107653. */
  107654. export interface SeriesAoOptions extends PlotAoOptions, SeriesOptions {
  107655. /**
  107656. * Not available
  107657. */
  107658. dataParser?: undefined;
  107659. /**
  107660. * Not available
  107661. */
  107662. dataURL?: undefined;
  107663. /**
  107664. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107665. * TypeScript non-optional and might be `undefined` in series objects from
  107666. * unknown sources.
  107667. */
  107668. type: "ao";
  107669. }
  107670. /**
  107671. * (Highstock) An `Absolute Price Oscillator` series. If the type option is not
  107672. * specified, 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 `apo` series are defined in plotOptions.apo.
  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 `SeriesApoOptions` via an interface to allow custom
  107687. * properties: ``` declare interface SeriesApoOptions { customProperty: string;
  107688. * }
  107689. *
  107690. */
  107691. export interface SeriesApoOptions extends PlotApoOptions, SeriesOptions {
  107692. /**
  107693. * Not available
  107694. */
  107695. dataParser?: undefined;
  107696. /**
  107697. * Not available
  107698. */
  107699. dataURL?: undefined;
  107700. /**
  107701. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107702. * TypeScript non-optional and might be `undefined` in series objects from
  107703. * unknown sources.
  107704. */
  107705. type: "apo";
  107706. }
  107707. /**
  107708. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  107709. * series is displayed for the `dataLabels`. The animation can also be set as a
  107710. * configuration object. Please note that this option only applies to the
  107711. * initial animation. For other animations, see chart.animation and the
  107712. * animation parameter under the API methods. The following properties are
  107713. * supported:
  107714. *
  107715. * - `defer`: The animation delay time in milliseconds.
  107716. */
  107717. export interface SeriesAreaDataDataLabelsAnimationOptions {
  107718. /**
  107719. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  107720. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  107721. * time from the series.animation.defer.
  107722. */
  107723. defer?: number;
  107724. }
  107725. /**
  107726. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  107727. * one state by default, the `default` state.
  107728. */
  107729. export interface SeriesAreaDataDragDropGuideBoxOptions {
  107730. /**
  107731. * (Highcharts, Highstock) Style options for the guide box default state.
  107732. */
  107733. default?: DragDropGuideBoxOptionsObject;
  107734. }
  107735. /**
  107736. * (Highcharts, Highstock) A `area` series. If the type option is not specified,
  107737. * it is inherited from chart.type.
  107738. *
  107739. * In TypeScript the type option must always be set.
  107740. *
  107741. * Configuration options for the series are given in three levels:
  107742. *
  107743. * 1. Options for all series in a chart are defined in the plotOptions.series
  107744. * object.
  107745. *
  107746. * 2. Options for all `area` series are defined in plotOptions.area.
  107747. *
  107748. * 3. Options for one single series are given in the series instance array. (see
  107749. * online documentation for example)
  107750. *
  107751. * You have to extend the `SeriesAreaOptions` via an interface to allow custom
  107752. * properties: ``` declare interface SeriesAreaOptions { customProperty: string;
  107753. * }
  107754. *
  107755. */
  107756. export interface SeriesAreaOptions extends PlotAreaOptions, SeriesOptions {
  107757. /**
  107758. * (Highcharts, Highstock) An array of data points for the series. For the
  107759. * `area` series type, points can be given in the following ways:
  107760. *
  107761. * 1. An array of numerical values. In this case, the numerical values will
  107762. * be interpreted as `y` options. The `x` values will be automatically
  107763. * calculated, either starting at 0 and incremented by 1, or from
  107764. * `pointStart` * and `pointInterval` given in the series options. If the
  107765. * axis has categories, these will be used. Example: (see online
  107766. * documentation for example)
  107767. *
  107768. * 2. An array of arrays with 2 values. In this case, the values correspond
  107769. * to `x,y`. If the first value is a string, it is applied as the name of
  107770. * the point, and the `x` value is inferred. (see online documentation for
  107771. * example)
  107772. *
  107773. * 3. An array of objects with named values. The following snippet shows
  107774. * only a few settings, see the complete options set below. If the total
  107775. * number of data points exceeds the series' turboThreshold, this option is
  107776. * not available. (see online documentation for example)
  107777. */
  107778. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  107779. /**
  107780. * Not available
  107781. */
  107782. dataParser?: undefined;
  107783. /**
  107784. * Not available
  107785. */
  107786. dataURL?: undefined;
  107787. /**
  107788. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  107789. * TypeScript non-optional and might be `undefined` in series objects from
  107790. * unknown sources.
  107791. */
  107792. type: "area";
  107793. /**
  107794. * Not available
  107795. */
  107796. useOhlcData?: undefined;
  107797. }
  107798. /**
  107799. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  107800. * is displayed for the `dataLabels`. The animation can also be set as a
  107801. * configuration object. Please note that this option only applies to the
  107802. * initial animation. For other animations, see chart.animation and the
  107803. * animation parameter under the API methods. The following properties are
  107804. * supported:
  107805. *
  107806. * - `defer`: The animation delay time in milliseconds.
  107807. */
  107808. export interface SeriesArearangeDataDataLabelsAnimationOptions {
  107809. /**
  107810. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  107811. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  107812. * from the series.animation.defer.
  107813. */
  107814. defer?: number;
  107815. }
  107816. /**
  107817. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  107818. * one state by default, the `default` state.
  107819. */
  107820. export interface SeriesArearangeDataDragDropGuideBoxOptions {
  107821. /**
  107822. * (Highcharts, Highstock) Style options for the guide box default state.
  107823. */
  107824. default?: DragDropGuideBoxOptionsObject;
  107825. }
  107826. /**
  107827. * (Highcharts, Highstock) Extended data labels for range series types. Range
  107828. * series data labels use no `x` and `y` options. Instead, they have `xLow`,
  107829. * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower data label
  107830. * sets individually.
  107831. */
  107832. export interface SeriesAreaRangeDataLabelsOptionsObject {
  107833. /**
  107834. * (Highcharts, Highstock) The alignment of the data label compared to the
  107835. * point. If `right`, the right side of the label should be touching the
  107836. * point. For points with an extent, like columns, the alignments also
  107837. * dictates how to align it inside the box, as given with the inside option.
  107838. * Can be one of `left`, `center` or `right`.
  107839. */
  107840. align?: string;
  107841. /**
  107842. * (Highcharts, Highstock) Whether to allow data labels to overlap. To make
  107843. * the labels less sensitive for overlapping, the dataLabels.padding can be
  107844. * set to 0.
  107845. */
  107846. allowOverlap?: boolean;
  107847. /**
  107848. * (Highcharts, Highstock) Enable or disable the initial animation when a
  107849. * series is displayed for the `dataLabels`. The animation can also be set
  107850. * as a configuration object. Please note that this option only applies to
  107851. * the initial animation. For other animations, see chart.animation and the
  107852. * animation parameter under the API methods. The following properties are
  107853. * supported:
  107854. *
  107855. * - `defer`: The animation delay time in milliseconds.
  107856. */
  107857. animation?: (boolean|PlotArearangeDataLabelsAnimationOptions|PlotAreasplinerangeDataLabelsAnimationOptions|PlotColumnrangeDataLabelsAnimationOptions|PlotDumbbellDataLabelsAnimationOptions|
  107858. PlotLollipopDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  107859. /**
  107860. * (Highcharts, Highstock) The background color or gradient for the data
  107861. * label.
  107862. */
  107863. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  107864. /**
  107865. * (Highcharts, Highstock) The border color for the data label. Defaults to
  107866. * `undefined`.
  107867. */
  107868. borderColor?: (ColorString|GradientColorObject|PatternObject);
  107869. /**
  107870. * (Highcharts, Highstock) The border radius in pixels for the data label.
  107871. */
  107872. borderRadius?: number;
  107873. /**
  107874. * (Highcharts, Highstock) The border width in pixels for the data label.
  107875. */
  107876. borderWidth?: number;
  107877. /**
  107878. * (Highcharts, Highstock) A class name for the data label. Particularly in
  107879. * styled mode, this can be used to give each series' or point's data label
  107880. * unique styling. In addition to this option, a default color class name is
  107881. * added so that we can give the labels a contrast text shadow.
  107882. */
  107883. className?: string;
  107884. /**
  107885. * (Highcharts, Highstock) The text color for the data labels. Defaults to
  107886. * `undefined`. For certain series types, like column or map, the data
  107887. * labels can be drawn inside the points. In this case the data label will
  107888. * be drawn with maximum contrast by default. Additionally, it will be given
  107889. * a `text-outline` style with the opposite color, to further increase the
  107890. * contrast. This can be overridden by setting the `text-outline` style to
  107891. * `none` in the `dataLabels.style` option.
  107892. */
  107893. color?: (ColorString|GradientColorObject|PatternObject);
  107894. /**
  107895. * (Highcharts, Highstock) Whether to hide data labels that are outside the
  107896. * plot area. By default, the data label is moved inside the plot area
  107897. * according to the overflow option.
  107898. */
  107899. crop?: boolean;
  107900. /**
  107901. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  107902. * labels until the initial series animation has finished. Setting to
  107903. * `false` renders the data label immediately. If set to `true` inherits the
  107904. * defer time set in plotOptions.series.animation. If set to a number, a
  107905. * defer time is specified in milliseconds.
  107906. */
  107907. defer?: (boolean|number);
  107908. /**
  107909. * (Highcharts, Highstock) Enable or disable the data labels.
  107910. */
  107911. enabled?: boolean;
  107912. /**
  107913. * (Highcharts, Highstock) A declarative filter to control of which data
  107914. * labels to display. The declarative filter is designed for use when
  107915. * callback functions are not available, like when the chart options require
  107916. * a pure JSON structure or for use with graphical editors. For programmatic
  107917. * control, use the `formatter` instead, and return `undefined` to disable a
  107918. * single data label.
  107919. */
  107920. filter?: DataLabelsFilterOptionsObject;
  107921. /**
  107922. * (Highcharts, Highstock) A format string for the data label. Available
  107923. * variables are the same as for `formatter`.
  107924. */
  107925. format?: string;
  107926. /**
  107927. * (Highcharts, Highstock) Callback JavaScript function to format the data
  107928. * label. Note that if a `format` is defined, the format takes precedence
  107929. * and the formatter is ignored.
  107930. */
  107931. formatter?: DataLabelsFormatterCallbackFunction;
  107932. /**
  107933. * (Highcharts, Highstock) For points with an extent, like columns or map
  107934. * areas, whether to align the data label inside the box or to the actual
  107935. * value point. Defaults to `false` in most cases, `true` in stacked
  107936. * columns.
  107937. */
  107938. inside?: boolean;
  107939. /**
  107940. * (Highcharts, Highstock) Format for points with the value of null. Works
  107941. * analogously to format. `nullFormat` can be applied only to series which
  107942. * support displaying null points.
  107943. */
  107944. nullFormat?: (boolean|string);
  107945. /**
  107946. * (Highcharts, Highstock) Callback JavaScript function that defines
  107947. * formatting for points with the value of null. Works analogously to
  107948. * formatter. `nullPointFormatter` can be applied only to series which
  107949. * support displaying null points.
  107950. */
  107951. nullFormatter?: DataLabelsFormatterCallbackFunction;
  107952. /**
  107953. * (Highcharts, Highstock) How to handle data labels that flow outside the
  107954. * plot area. The default is `"justify"`, which aligns them inside the plot
  107955. * area. For columns and bars, this means it will be moved inside the bar.
  107956. * To display data labels outside the plot area, set `crop` to `false` and
  107957. * `overflow` to `"allow"`.
  107958. */
  107959. overflow?: DataLabelsOverflowValue;
  107960. /**
  107961. * (Highcharts, Highstock) When either the `borderWidth` or the
  107962. * `backgroundColor` is set, this is the padding within the box.
  107963. */
  107964. padding?: number;
  107965. /**
  107966. * (Highcharts, Highstock) Aligns data labels relative to points. If
  107967. * `center` alignment is not possible, it defaults to `right`.
  107968. */
  107969. position?: AlignValue;
  107970. /**
  107971. * (Highcharts, Highstock) Text rotation in degrees. Note that due to a more
  107972. * complex structure, backgrounds, borders and padding will be lost on a
  107973. * rotated data label.
  107974. */
  107975. rotation?: number;
  107976. /**
  107977. * (Highcharts, Highstock) The shadow of the box. Works best with
  107978. * `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
  107979. * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
  107980. * `width`.
  107981. */
  107982. shadow?: (boolean|ShadowOptionsObject);
  107983. /**
  107984. * (Highcharts, Highstock) The name of a symbol to use for the border around
  107985. * the label. Symbols are predefined functions on the Renderer object.
  107986. */
  107987. shape?: string;
  107988. /**
  107989. * (Highcharts, Highstock) Styles for the label. The default `color` setting
  107990. * is `"contrast"`, which is a pseudo color that Highcharts picks up and
  107991. * applies the maximum contrast to the underlying point item, for example
  107992. * the bar in a bar chart.
  107993. *
  107994. * The `textOutline` is a pseudo property that applies an outline of the
  107995. * given width with the given color, which by default is the maximum
  107996. * contrast to the text. So a bright text color will result in a black text
  107997. * outline for maximum readability on a mixed background. In some cases,
  107998. * especially with grayscale text, the text outline doesn't work well, in
  107999. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  108000. * is true, the `textOutline` will not be picked up. In this, case, the same
  108001. * effect can be acheived through the `text-shadow` CSS property.
  108002. *
  108003. * For some series types, where each point has an extent, like for example
  108004. * tree maps, the data label may overflow the point. There are two
  108005. * strategies for handling overflow. By default, the text will wrap to
  108006. * multiple lines. The other strategy is to set `style.textOverflow` to
  108007. * `ellipsis`, which will keep the text on one line plus it will break
  108008. * inside long words.
  108009. */
  108010. style?: CSSObject;
  108011. /**
  108012. * (Highcharts, Highstock) Options for a label text which should follow
  108013. * marker's shape. Border and background are disabled for a label that
  108014. * follows a path.
  108015. *
  108016. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  108017. * to true will disable this option.
  108018. */
  108019. textPath?: DataLabelsTextPathOptionsObject;
  108020. /**
  108021. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  108022. */
  108023. useHTML?: boolean;
  108024. /**
  108025. * (Highcharts, Highstock) The vertical alignment of a data label. Can be
  108026. * one of `top`, `middle` or `bottom`. The default value depends on the
  108027. * data, for instance in a column chart, the label is above positive values
  108028. * and below negative values.
  108029. */
  108030. verticalAlign?: string;
  108031. /**
  108032. * (Highcharts, Highstock) The x position offset of the label relative to
  108033. * the point in pixels.
  108034. */
  108035. x?: number;
  108036. /**
  108037. * (Highcharts, Highstock) X offset of the higher data labels relative to
  108038. * the point value.
  108039. */
  108040. xHigh?: number;
  108041. /**
  108042. * (Highcharts, Highstock) X offset of the lower data labels relative to the
  108043. * point value.
  108044. */
  108045. xLow?: number;
  108046. /**
  108047. * (Highcharts, Highstock) The y position offset of the label relative to
  108048. * the point in pixels.
  108049. */
  108050. y?: number;
  108051. /**
  108052. * (Highcharts, Highstock) Y offset of the higher data labels relative to
  108053. * the point value.
  108054. */
  108055. yHigh?: number;
  108056. /**
  108057. * (Highcharts, Highstock) Y offset of the lower data labels relative to the
  108058. * point value.
  108059. */
  108060. yLow?: number;
  108061. /**
  108062. * (Highcharts, Highstock) The Z index of the data labels. The default Z
  108063. * index puts it above the series. Use a Z index of 2 to display it behind
  108064. * the series.
  108065. */
  108066. z?: number;
  108067. }
  108068. /**
  108069. * (Highcharts, Highstock) A `arearange` series. If the type option is not
  108070. * specified, it is inherited from chart.type.
  108071. *
  108072. * In TypeScript the type option must always be set.
  108073. *
  108074. * Configuration options for the series are given in three levels:
  108075. *
  108076. * 1. Options for all series in a chart are defined in the plotOptions.series
  108077. * object.
  108078. *
  108079. * 2. Options for all `arearange` series are defined in plotOptions.arearange.
  108080. *
  108081. * 3. Options for one single series are given in the series instance array. (see
  108082. * online documentation for example)
  108083. *
  108084. * You have to extend the `SeriesArearangeOptions` via an interface to allow
  108085. * custom properties: ``` declare interface SeriesArearangeOptions {
  108086. * customProperty: string; }
  108087. *
  108088. */
  108089. export interface SeriesArearangeOptions extends PlotArearangeOptions, SeriesOptions {
  108090. /**
  108091. * (Highcharts, Highstock) An array of data points for the series. For the
  108092. * `arearange` series type, points can be given in the following ways:
  108093. *
  108094. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108095. * correspond to `x,low,high`. If the first value is a string, it is applied
  108096. * as the name of the point, and the `x` value is inferred. The `x` value
  108097. * can also be omitted, in which case the inner arrays should be of length
  108098. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108099. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108100. * the series options. (see online documentation for example)
  108101. *
  108102. * 2. An array of objects with named values. The following snippet shows
  108103. * only a few settings, see the complete options set below. If the total
  108104. * number of data points exceeds the series' turboThreshold, this option is
  108105. * not available. (see online documentation for example)
  108106. */
  108107. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108108. /**
  108109. * Not available
  108110. */
  108111. dataParser?: undefined;
  108112. /**
  108113. * Not available
  108114. */
  108115. dataURL?: undefined;
  108116. /**
  108117. * Not available
  108118. */
  108119. stack?: undefined;
  108120. /**
  108121. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108122. * TypeScript non-optional and might be `undefined` in series objects from
  108123. * unknown sources.
  108124. */
  108125. type: "arearange";
  108126. }
  108127. /**
  108128. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108129. * series is displayed for the `dataLabels`. The animation can also be set as a
  108130. * configuration object. Please note that this option only applies to the
  108131. * initial animation. For other animations, see chart.animation and the
  108132. * animation parameter under the API methods. The following properties are
  108133. * supported:
  108134. *
  108135. * - `defer`: The animation delay time in milliseconds.
  108136. */
  108137. export interface SeriesAreasplineDataDataLabelsAnimationOptions {
  108138. /**
  108139. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108140. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108141. * time from the series.animation.defer.
  108142. */
  108143. defer?: number;
  108144. }
  108145. /**
  108146. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  108147. * one state by default, the `default` state.
  108148. */
  108149. export interface SeriesAreasplineDataDragDropGuideBoxOptions {
  108150. /**
  108151. * (Highcharts, Highstock) Style options for the guide box default state.
  108152. */
  108153. default?: DragDropGuideBoxOptionsObject;
  108154. }
  108155. /**
  108156. * (Highcharts, Highstock) A `areaspline` series. If the type option is not
  108157. * specified, it is inherited from chart.type.
  108158. *
  108159. * In TypeScript the type option must always be set.
  108160. *
  108161. * Configuration options for the series are given in three levels:
  108162. *
  108163. * 1. Options for all series in a chart are defined in the plotOptions.series
  108164. * object.
  108165. *
  108166. * 2. Options for all `areaspline` series are defined in plotOptions.areaspline.
  108167. *
  108168. * 3. Options for one single series are given in the series instance array. (see
  108169. * online documentation for example)
  108170. *
  108171. * You have to extend the `SeriesAreasplineOptions` via an interface to allow
  108172. * custom properties: ``` declare interface SeriesAreasplineOptions {
  108173. * customProperty: string; }
  108174. *
  108175. */
  108176. export interface SeriesAreasplineOptions extends PlotAreasplineOptions, SeriesOptions {
  108177. /**
  108178. * (Highcharts, Highstock) An array of data points for the series. For the
  108179. * `areaspline` series type, points can be given in the following ways:
  108180. *
  108181. * 1. An array of numerical values. In this case, the numerical values will
  108182. * be interpreted as `y` options. The `x` values will be automatically
  108183. * calculated, either starting at 0 and incremented by 1, or from
  108184. * `pointStart` and `pointInterval` given in the series options. If the axis
  108185. * has categories, these will be used. Example: (see online documentation
  108186. * for example)
  108187. *
  108188. * 2. An array of arrays with 2 values. In this case, the values correspond
  108189. * to `x,y`. If the first value is a string, it is applied as the name of
  108190. * the point, and the `x` value is inferred. (see online documentation for
  108191. * example)
  108192. *
  108193. * 3. An array of objects with named values. The following snippet shows
  108194. * only a few settings, see the complete options set below. If the total
  108195. * number of data points exceeds the series' turboThreshold, this option is
  108196. * not available. (see online documentation for example)
  108197. */
  108198. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  108199. /**
  108200. * Not available
  108201. */
  108202. dataParser?: undefined;
  108203. /**
  108204. * Not available
  108205. */
  108206. dataURL?: undefined;
  108207. /**
  108208. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108209. * TypeScript non-optional and might be `undefined` in series objects from
  108210. * unknown sources.
  108211. */
  108212. type: "areaspline";
  108213. }
  108214. /**
  108215. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  108216. * is displayed for the `dataLabels`. The animation can also be set as a
  108217. * configuration object. Please note that this option only applies to the
  108218. * initial animation. For other animations, see chart.animation and the
  108219. * animation parameter under the API methods. The following properties are
  108220. * supported:
  108221. *
  108222. * - `defer`: The animation delay time in milliseconds.
  108223. */
  108224. export interface SeriesAreasplinerangeDataDataLabelsAnimationOptions {
  108225. /**
  108226. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  108227. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  108228. * from the series.animation.defer.
  108229. */
  108230. defer?: number;
  108231. }
  108232. /**
  108233. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  108234. * one state by default, the `default` state.
  108235. */
  108236. export interface SeriesAreasplinerangeDataDragDropGuideBoxOptions {
  108237. /**
  108238. * (Highcharts, Highstock) Style options for the guide box default state.
  108239. */
  108240. default?: DragDropGuideBoxOptionsObject;
  108241. }
  108242. /**
  108243. * (Highcharts, Highstock) A `areasplinerange` series. If the type option is not
  108244. * specified, it is inherited from chart.type.
  108245. *
  108246. * In TypeScript the type option must always be set.
  108247. *
  108248. * Configuration options for the series are given in three levels:
  108249. *
  108250. * 1. Options for all series in a chart are defined in the plotOptions.series
  108251. * object.
  108252. *
  108253. * 2. Options for all `areasplinerange` series are defined in
  108254. * plotOptions.areasplinerange.
  108255. *
  108256. * 3. Options for one single series are given in the series instance array. (see
  108257. * online documentation for example)
  108258. *
  108259. * You have to extend the `SeriesAreasplinerangeOptions` via an interface to
  108260. * allow custom properties: ``` declare interface SeriesAreasplinerangeOptions {
  108261. * customProperty: string; }
  108262. *
  108263. */
  108264. export interface SeriesAreasplinerangeOptions extends PlotAreasplinerangeOptions, SeriesOptions {
  108265. /**
  108266. * (Highcharts, Highstock) An array of data points for the series. For the
  108267. * `areasplinerange` series type, points can be given in the following ways:
  108268. *
  108269. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108270. * correspond to `x,low,high`. If the first value is a string, it is applied
  108271. * as the name of the point, and the `x` value is inferred. The `x` value
  108272. * can also be omitted, in which case the inner arrays should be of length
  108273. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108274. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108275. * the series options. (see online documentation for example)
  108276. *
  108277. * 2. An array of objects with named values. The following snippet shows
  108278. * only a few settings, see the complete options set below. If the total
  108279. * number of data points exceeds the series' turboThreshold, this option is
  108280. * not available. (see online documentation for example)
  108281. */
  108282. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108283. /**
  108284. * Not available
  108285. */
  108286. dataParser?: undefined;
  108287. /**
  108288. * Not available
  108289. */
  108290. dataURL?: undefined;
  108291. /**
  108292. * Not available
  108293. */
  108294. stack?: undefined;
  108295. /**
  108296. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108297. * TypeScript non-optional and might be `undefined` in series objects from
  108298. * unknown sources.
  108299. */
  108300. type: "areasplinerange";
  108301. }
  108302. /**
  108303. * (Highstock) A Aroon indicator. If the type option is not specified, it is
  108304. * inherited from chart.type.
  108305. *
  108306. * In TypeScript the type option must always be set.
  108307. *
  108308. * Configuration options for the series are given in three levels:
  108309. *
  108310. * 1. Options for all series in a chart are defined in the plotOptions.series
  108311. * object.
  108312. *
  108313. * 2. Options for all `aroon` series are defined in plotOptions.aroon.
  108314. *
  108315. * 3. Options for one single series are given in the series instance array. (see
  108316. * online documentation for example)
  108317. *
  108318. * You have to extend the `SeriesAroonOptions` via an interface to allow custom
  108319. * properties: ``` declare interface SeriesAroonOptions { customProperty:
  108320. * string; }
  108321. *
  108322. */
  108323. export interface SeriesAroonOptions extends PlotAroonOptions, SeriesOptions {
  108324. /**
  108325. * Not available
  108326. */
  108327. dataParser?: undefined;
  108328. /**
  108329. * Not available
  108330. */
  108331. dataURL?: undefined;
  108332. /**
  108333. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108334. * TypeScript non-optional and might be `undefined` in series objects from
  108335. * unknown sources.
  108336. */
  108337. type: "aroon";
  108338. }
  108339. /**
  108340. * (Highstock) An `Aroon Oscillator` series. If the type option is not
  108341. * specified, it is inherited from chart.type.
  108342. *
  108343. * In TypeScript the type option must always be set.
  108344. *
  108345. * Configuration options for the series are given in three levels:
  108346. *
  108347. * 1. Options for all series in a chart are defined in the plotOptions.series
  108348. * object.
  108349. *
  108350. * 2. Options for all `aroonoscillator` series are defined in
  108351. * plotOptions.aroonoscillator.
  108352. *
  108353. * 3. Options for one single series are given in the series instance array. (see
  108354. * online documentation for example)
  108355. *
  108356. * You have to extend the `SeriesAroonoscillatorOptions` via an interface to
  108357. * allow custom properties: ``` declare interface SeriesAroonoscillatorOptions {
  108358. * customProperty: string; }
  108359. *
  108360. */
  108361. export interface SeriesAroonoscillatorOptions extends PlotAroonoscillatorOptions, SeriesOptions {
  108362. /**
  108363. * Not available
  108364. */
  108365. aroonDown?: undefined;
  108366. /**
  108367. * Not available
  108368. */
  108369. dataParser?: undefined;
  108370. /**
  108371. * Not available
  108372. */
  108373. dataURL?: undefined;
  108374. /**
  108375. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108376. * TypeScript non-optional and might be `undefined` in series objects from
  108377. * unknown sources.
  108378. */
  108379. type: "aroonoscillator";
  108380. }
  108381. /**
  108382. * (Highstock) A `ATR` 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 `atr` series are defined in plotOptions.atr.
  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 `SeriesAtrOptions` via an interface to allow custom
  108398. * properties: ``` declare interface SeriesAtrOptions { customProperty: string;
  108399. * }
  108400. *
  108401. */
  108402. export interface SeriesAtrOptions extends PlotAtrOptions, SeriesOptions {
  108403. /**
  108404. * Not available
  108405. */
  108406. dataParser?: undefined;
  108407. /**
  108408. * Not available
  108409. */
  108410. dataURL?: undefined;
  108411. /**
  108412. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108413. * TypeScript non-optional and might be `undefined` in series objects from
  108414. * unknown sources.
  108415. */
  108416. type: "atr";
  108417. }
  108418. /**
  108419. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108420. * series is displayed for the `dataLabels`. The animation can also be set as a
  108421. * configuration object. Please note that this option only applies to the
  108422. * initial animation. For other animations, see chart.animation and the
  108423. * animation parameter under the API methods. The following properties are
  108424. * supported:
  108425. *
  108426. * - `defer`: The animation delay time in milliseconds.
  108427. */
  108428. export interface SeriesBarDataDataLabelsAnimationOptions {
  108429. /**
  108430. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108431. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108432. * time from the series.animation.defer.
  108433. */
  108434. defer?: number;
  108435. }
  108436. /**
  108437. * (Highcharts) Style options for the guide box. The guide box has one state by
  108438. * default, the `default` state.
  108439. */
  108440. export interface SeriesBarDataDragDropGuideBoxOptions {
  108441. /**
  108442. * (Highcharts) Style options for the guide box default state.
  108443. */
  108444. default?: DragDropGuideBoxOptionsObject;
  108445. }
  108446. /**
  108447. * (Highcharts) A `bar` series. If the type option is not specified, it is
  108448. * inherited from chart.type.
  108449. *
  108450. * In TypeScript the type option must always be set.
  108451. *
  108452. * Configuration options for the series are given in three levels:
  108453. *
  108454. * 1. Options for all series in a chart are defined in the plotOptions.series
  108455. * object.
  108456. *
  108457. * 2. Options for all `bar` series are defined in plotOptions.bar.
  108458. *
  108459. * 3. Options for one single series are given in the series instance array. (see
  108460. * online documentation for example)
  108461. *
  108462. * You have to extend the `SeriesBarOptions` via an interface to allow custom
  108463. * properties: ``` declare interface SeriesBarOptions { customProperty: string;
  108464. * }
  108465. *
  108466. */
  108467. export interface SeriesBarOptions extends PlotBarOptions, SeriesOptions {
  108468. /**
  108469. * (Highcharts) An array of data points for the series. For the `bar` series
  108470. * type, points can be given in the following ways:
  108471. *
  108472. * 1. An array of numerical values. In this case, the numerical values will
  108473. * be interpreted as `y` options. The `x` values will be automatically
  108474. * calculated, either starting at 0 and incremented by 1, or from
  108475. * `pointStart` and `pointInterval` given in the series options. If the axis
  108476. * has categories, these will be used. Example: (see online documentation
  108477. * for example)
  108478. *
  108479. * 2. An array of arrays with 2 values. In this case, the values correspond
  108480. * to `x,y`. If the first value is a string, it is applied as the name of
  108481. * the point, and the `x` value is inferred. (see online documentation for
  108482. * example)
  108483. *
  108484. * 3. An array of objects with named values. The following snippet shows
  108485. * only a few settings, see the complete options set below. If the total
  108486. * number of data points exceeds the series' turboThreshold, this option is
  108487. * not available. (see online documentation for example)
  108488. */
  108489. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  108490. /**
  108491. * Not available
  108492. */
  108493. dataParser?: undefined;
  108494. /**
  108495. * Not available
  108496. */
  108497. dataURL?: undefined;
  108498. /**
  108499. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108500. * TypeScript non-optional and might be `undefined` in series objects from
  108501. * unknown sources.
  108502. */
  108503. type: "bar";
  108504. }
  108505. /**
  108506. * (Highstock) A bollinger bands indicator. If the type option is not specified,
  108507. * it is inherited from chart.type.
  108508. *
  108509. * In TypeScript the type option must always be set.
  108510. *
  108511. * Configuration options for the series are given in three levels:
  108512. *
  108513. * 1. Options for all series in a chart are defined in the plotOptions.series
  108514. * object.
  108515. *
  108516. * 2. Options for all `bb` series are defined in plotOptions.bb.
  108517. *
  108518. * 3. Options for one single series are given in the series instance array. (see
  108519. * online documentation for example)
  108520. *
  108521. * You have to extend the `SeriesBbOptions` via an interface to allow custom
  108522. * properties: ``` declare interface SeriesBbOptions { customProperty: string; }
  108523. *
  108524. */
  108525. export interface SeriesBbOptions extends PlotBbOptions, SeriesOptions {
  108526. /**
  108527. * Not available
  108528. */
  108529. dataParser?: undefined;
  108530. /**
  108531. * Not available
  108532. */
  108533. dataURL?: undefined;
  108534. /**
  108535. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108536. * TypeScript non-optional and might be `undefined` in series objects from
  108537. * unknown sources.
  108538. */
  108539. type: "bb";
  108540. }
  108541. /**
  108542. * (Highcharts) A `bellcurve` series. If the type option is not specified, it is
  108543. * inherited from chart.type.
  108544. *
  108545. * For options that apply to multiple series, it is recommended to add them to
  108546. * the plotOptions.series options structure. To apply to all series of this
  108547. * specific type, apply it to plotOptions.bellcurve.
  108548. *
  108549. * In TypeScript the type option must always be set.
  108550. *
  108551. * Configuration options for the series are given in three levels:
  108552. *
  108553. * 1. Options for all series in a chart are defined in the plotOptions.series
  108554. * object.
  108555. *
  108556. * 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
  108557. *
  108558. * 3. Options for one single series are given in the series instance array. (see
  108559. * online documentation for example)
  108560. *
  108561. * You have to extend the `SeriesBellcurveOptions` via an interface to allow
  108562. * custom properties: ``` declare interface SeriesBellcurveOptions {
  108563. * customProperty: string; }
  108564. *
  108565. */
  108566. export interface SeriesBellcurveOptions extends PlotBellcurveOptions, SeriesOptions {
  108567. /**
  108568. * (Highcharts) An integer identifying the index to use for the base series,
  108569. * or a string representing the id of the series.
  108570. */
  108571. baseSeries?: (number|string);
  108572. /**
  108573. * Not available
  108574. */
  108575. data?: undefined;
  108576. /**
  108577. * Not available
  108578. */
  108579. dataParser?: undefined;
  108580. /**
  108581. * Not available
  108582. */
  108583. dataURL?: undefined;
  108584. /**
  108585. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108586. * TypeScript non-optional and might be `undefined` in series objects from
  108587. * unknown sources.
  108588. */
  108589. type: "bellcurve";
  108590. }
  108591. /**
  108592. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108593. * series is displayed for the `dataLabels`. The animation can also be set as a
  108594. * configuration object. Please note that this option only applies to the
  108595. * initial animation. For other animations, see chart.animation and the
  108596. * animation parameter under the API methods. The following properties are
  108597. * supported:
  108598. *
  108599. * - `defer`: The animation delay time in milliseconds.
  108600. */
  108601. export interface SeriesBoxplotDataDataLabelsAnimationOptions {
  108602. /**
  108603. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108604. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108605. * time from the series.animation.defer.
  108606. */
  108607. defer?: number;
  108608. }
  108609. /**
  108610. * (Highcharts) Style options for the guide box. The guide box has one state by
  108611. * default, the `default` state.
  108612. */
  108613. export interface SeriesBoxplotDataDragDropGuideBoxOptions {
  108614. /**
  108615. * (Highcharts) Style options for the guide box default state.
  108616. */
  108617. default?: DragDropGuideBoxOptionsObject;
  108618. }
  108619. /**
  108620. * (Highcharts) A `boxplot` series. If the type option is not specified, it is
  108621. * inherited from chart.type.
  108622. *
  108623. * In TypeScript the type option must always be set.
  108624. *
  108625. * Configuration options for the series are given in three levels:
  108626. *
  108627. * 1. Options for all series in a chart are defined in the plotOptions.series
  108628. * object.
  108629. *
  108630. * 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
  108631. *
  108632. * 3. Options for one single series are given in the series instance array. (see
  108633. * online documentation for example)
  108634. *
  108635. * You have to extend the `SeriesBoxplotOptions` via an interface to allow
  108636. * custom properties: ``` declare interface SeriesBoxplotOptions {
  108637. * customProperty: string; }
  108638. *
  108639. */
  108640. export interface SeriesBoxplotOptions extends PlotBoxplotOptions, SeriesOptions {
  108641. /**
  108642. * (Highcharts) An array of data points for the series. For the `boxplot`
  108643. * series type, points can be given in the following ways:
  108644. *
  108645. * 1. An array of arrays with 6 or 5 values. In this case, the values
  108646. * correspond to `x,low,q1,median,q3,high`. If the first value is a string,
  108647. * it is applied as the name of the point, and the `x` value is inferred.
  108648. * The `x` value can also be omitted, in which case the inner arrays should
  108649. * be of length 5. Then the `x` value is automatically calculated, either
  108650. * starting at 0 and incremented by 1, or from `pointStart` and
  108651. * `pointInterval` given in the series options. (see online documentation
  108652. * for example)
  108653. *
  108654. * 2. An array of objects with named values. The following snippet shows
  108655. * only a few settings, see the complete options set below. If the total
  108656. * number of data points exceeds the series' turboThreshold, this option is
  108657. * not available. (see online documentation for example)
  108658. */
  108659. data?: Array<([(number|string), number, number, number, number]|[(number|string), number, number, number, number, number]|PointOptionsObject)>;
  108660. /**
  108661. * Not available
  108662. */
  108663. dataParser?: undefined;
  108664. /**
  108665. * Not available
  108666. */
  108667. dataURL?: undefined;
  108668. /**
  108669. * Not available
  108670. */
  108671. stack?: undefined;
  108672. /**
  108673. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108674. * TypeScript non-optional and might be `undefined` in series objects from
  108675. * unknown sources.
  108676. */
  108677. type: "boxplot";
  108678. }
  108679. /**
  108680. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108681. * series is displayed for the `dataLabels`. The animation can also be set as a
  108682. * configuration object. Please note that this option only applies to the
  108683. * initial animation. For other animations, see chart.animation and the
  108684. * animation parameter under the API methods. The following properties are
  108685. * supported:
  108686. *
  108687. * - `defer`: The animation delay time in milliseconds.
  108688. */
  108689. export interface SeriesBubbleDataDataLabelsAnimationOptions {
  108690. /**
  108691. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108692. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108693. * time from the series.animation.defer.
  108694. */
  108695. defer?: number;
  108696. }
  108697. /**
  108698. * (Highcharts) Style options for the guide box. The guide box has one state by
  108699. * default, the `default` state.
  108700. */
  108701. export interface SeriesBubbleDataDragDropGuideBoxOptions {
  108702. /**
  108703. * (Highcharts) Style options for the guide box default state.
  108704. */
  108705. default?: DragDropGuideBoxOptionsObject;
  108706. }
  108707. /**
  108708. * (Highcharts, Highstock) A `bubble` series. If the type option is not
  108709. * specified, it is inherited from chart.type.
  108710. *
  108711. * In TypeScript the type option must always be set.
  108712. *
  108713. * Configuration options for the series are given in three levels:
  108714. *
  108715. * 1. Options for all series in a chart are defined in the plotOptions.series
  108716. * object.
  108717. *
  108718. * 2. Options for all `bubble` series are defined in plotOptions.bubble.
  108719. *
  108720. * 3. Options for one single series are given in the series instance array. (see
  108721. * online documentation for example)
  108722. *
  108723. * You have to extend the `SeriesBubbleOptions` via an interface to allow custom
  108724. * properties: ``` declare interface SeriesBubbleOptions { customProperty:
  108725. * string; }
  108726. *
  108727. */
  108728. export interface SeriesBubbleOptions extends PlotBubbleOptions, SeriesOptions {
  108729. /**
  108730. * (Highcharts) An array of data points for the series. For the `bubble`
  108731. * series type, points can be given in the following ways:
  108732. *
  108733. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108734. * correspond to `x,y,z`. If the first value is a string, it is applied as
  108735. * the name of the point, and the `x` value is inferred. The `x` value can
  108736. * also be omitted, in which case the inner arrays should be of length 2\.
  108737. * Then the `x` value is automatically calculated, either starting at 0 and
  108738. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  108739. * series options. (see online documentation for example)
  108740. *
  108741. * 2. An array of objects with named values. The following snippet shows
  108742. * only a few settings, see the complete options set below. If the total
  108743. * number of data points exceeds the series' turboThreshold, this option is
  108744. * not available. (see online documentation for example)
  108745. */
  108746. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108747. /**
  108748. * Not available
  108749. */
  108750. dataParser?: undefined;
  108751. /**
  108752. * Not available
  108753. */
  108754. dataURL?: undefined;
  108755. /**
  108756. * Not available
  108757. */
  108758. stack?: undefined;
  108759. /**
  108760. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108761. * TypeScript non-optional and might be `undefined` in series objects from
  108762. * unknown sources.
  108763. */
  108764. type: "bubble";
  108765. }
  108766. /**
  108767. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  108768. * series is displayed for the `dataLabels`. The animation can also be set as a
  108769. * configuration object. Please note that this option only applies to the
  108770. * initial animation. For other animations, see chart.animation and the
  108771. * animation parameter under the API methods. The following properties are
  108772. * supported:
  108773. *
  108774. * - `defer`: The animation delay time in milliseconds.
  108775. */
  108776. export interface SeriesBulletDataDataLabelsAnimationOptions {
  108777. /**
  108778. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  108779. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  108780. * time from the series.animation.defer.
  108781. */
  108782. defer?: number;
  108783. }
  108784. /**
  108785. * (Highcharts) Style options for the guide box. The guide box has one state by
  108786. * default, the `default` state.
  108787. */
  108788. export interface SeriesBulletDataDragDropGuideBoxOptions {
  108789. /**
  108790. * (Highcharts) Style options for the guide box default state.
  108791. */
  108792. default?: DragDropGuideBoxOptionsObject;
  108793. }
  108794. /**
  108795. * (Highcharts) Individual target options for each point.
  108796. */
  108797. export interface SeriesBulletDataTargetOptions {
  108798. /**
  108799. * (Highcharts) The border color of the rectangle representing the target.
  108800. * When not set, the point's border color is used.
  108801. *
  108802. * In styled mode, use class `highcharts-bullet-target` instead.
  108803. */
  108804. borderColor?: ColorString;
  108805. /**
  108806. * (Highcharts) The border radius of the rectangle representing the target.
  108807. */
  108808. borderRadius?: number;
  108809. /**
  108810. * (Highcharts) The border width of the rectangle representing the target.
  108811. *
  108812. * In styled mode, use class `highcharts-bullet-target` instead.
  108813. */
  108814. borderWidth?: number;
  108815. /**
  108816. * (Highcharts) The color of the rectangle representing the target. When not
  108817. * set, point's color (if set in point's options - `color`) or zone of the
  108818. * target value (if `zones` or `negativeColor` are set) or the same color as
  108819. * the point has is used.
  108820. *
  108821. * In styled mode, use class `highcharts-bullet-target` instead.
  108822. */
  108823. color?: (ColorString|GradientColorObject|PatternObject);
  108824. /**
  108825. * (Highcharts) The height of the rectangle representing the target.
  108826. */
  108827. height?: number;
  108828. /**
  108829. * (Highcharts) The width of the rectangle representing the target. Could be
  108830. * set as a pixel value or as a percentage of a column width.
  108831. */
  108832. width?: (number|string);
  108833. }
  108834. /**
  108835. * (Highcharts) A `bullet` series. If the type option is not specified, it is
  108836. * inherited from chart.type.
  108837. *
  108838. * In TypeScript the type option must always be set.
  108839. *
  108840. * Configuration options for the series are given in three levels:
  108841. *
  108842. * 1. Options for all series in a chart are defined in the plotOptions.series
  108843. * object.
  108844. *
  108845. * 2. Options for all `bullet` series are defined in plotOptions.bullet.
  108846. *
  108847. * 3. Options for one single series are given in the series instance array. (see
  108848. * online documentation for example)
  108849. *
  108850. * You have to extend the `SeriesBulletOptions` via an interface to allow custom
  108851. * properties: ``` declare interface SeriesBulletOptions { customProperty:
  108852. * string; }
  108853. *
  108854. */
  108855. export interface SeriesBulletOptions extends PlotBulletOptions, SeriesOptions {
  108856. /**
  108857. * (Highcharts) An array of data points for the series. For the `bullet`
  108858. * series type, points can be given in the following ways:
  108859. *
  108860. * 1. An array of arrays with 3 or 2 values. In this case, the values
  108861. * correspond to `x,y,target`. If the first value is a string, it is applied
  108862. * as the name of the point, and the `x` value is inferred. The `x` value
  108863. * can also be omitted, in which case the inner arrays should be of length
  108864. * 2\. Then the `x` value is automatically calculated, either starting at 0
  108865. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  108866. * the series options. (see online documentation for example)
  108867. *
  108868. * 2. An array of objects with named values. The following snippet shows
  108869. * only a few settings, see the complete options set below. If the total
  108870. * number of data points exceeds the series' turboThreshold, this option is
  108871. * not available. (see online documentation for example)
  108872. */
  108873. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  108874. /**
  108875. * Not available
  108876. */
  108877. dataParser?: undefined;
  108878. /**
  108879. * Not available
  108880. */
  108881. dataURL?: undefined;
  108882. /**
  108883. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108884. * TypeScript non-optional and might be `undefined` in series objects from
  108885. * unknown sources.
  108886. */
  108887. type: "bullet";
  108888. }
  108889. /**
  108890. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  108891. * is displayed for the `dataLabels`. The animation can also be set as a
  108892. * configuration object. Please note that this option only applies to the
  108893. * initial animation. For other animations, see chart.animation and the
  108894. * animation parameter under the API methods. The following properties are
  108895. * supported:
  108896. *
  108897. * - `defer`: The animation delay time in milliseconds.
  108898. */
  108899. export interface SeriesCandlestickDataDataLabelsAnimationOptions {
  108900. /**
  108901. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  108902. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  108903. * from the series.animation.defer.
  108904. */
  108905. defer?: number;
  108906. }
  108907. /**
  108908. * (Highstock) Style options for the guide box. The guide box has one state by
  108909. * default, the `default` state.
  108910. */
  108911. export interface SeriesCandlestickDataDragDropGuideBoxOptions {
  108912. /**
  108913. * (Highstock) Style options for the guide box default state.
  108914. */
  108915. default?: DragDropGuideBoxOptionsObject;
  108916. }
  108917. /**
  108918. * (Highstock) A `candlestick` series. If the type option is not specified, it
  108919. * is inherited from chart.type.
  108920. *
  108921. * In TypeScript the type option must always be set.
  108922. *
  108923. * Configuration options for the series are given in three levels:
  108924. *
  108925. * 1. Options for all series in a chart are defined in the plotOptions.series
  108926. * object.
  108927. *
  108928. * 2. Options for all `candlestick` series are defined in
  108929. * plotOptions.candlestick.
  108930. *
  108931. * 3. Options for one single series are given in the series instance array. (see
  108932. * online documentation for example)
  108933. *
  108934. * You have to extend the `SeriesCandlestickOptions` via an interface to allow
  108935. * custom properties: ``` declare interface SeriesCandlestickOptions {
  108936. * customProperty: string; }
  108937. *
  108938. */
  108939. export interface SeriesCandlestickOptions extends PlotCandlestickOptions, SeriesOptions {
  108940. /**
  108941. * (Highstock) An array of data points for the series. For the `candlestick`
  108942. * series type, points can be given in the following ways:
  108943. *
  108944. * 1. An array of arrays with 5 or 4 values. In this case, the values
  108945. * correspond to `x,open,high,low,close`. If the first value is a string, it
  108946. * is applied as the name of the point, and the `x` value is inferred. The
  108947. * `x` value can also be omitted, in which case the inner arrays should be
  108948. * of length 4. Then the `x` value is automatically calculated, either
  108949. * starting at 0 and incremented by 1, or from `pointStart` and
  108950. * `pointInterval` given in the series options. (see online documentation
  108951. * for example)
  108952. *
  108953. * 2. An array of objects with named values. The following snippet shows
  108954. * only a few settings, see the complete options set below. If the total
  108955. * number of data points exceeds the series' turboThreshold, this option is
  108956. * not available. (see online documentation for example)
  108957. */
  108958. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  108959. /**
  108960. * Not available
  108961. */
  108962. dataParser?: undefined;
  108963. /**
  108964. * Not available
  108965. */
  108966. dataURL?: undefined;
  108967. /**
  108968. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  108969. * TypeScript non-optional and might be `undefined` in series objects from
  108970. * unknown sources.
  108971. */
  108972. type: "candlestick";
  108973. }
  108974. /**
  108975. * (Highstock) A `CCI` series. If the type option is not specified, it is
  108976. * inherited from chart.type.
  108977. *
  108978. * In TypeScript the type option must always be set.
  108979. *
  108980. * Configuration options for the series are given in three levels:
  108981. *
  108982. * 1. Options for all series in a chart are defined in the plotOptions.series
  108983. * object.
  108984. *
  108985. * 2. Options for all `cci` series are defined in plotOptions.cci.
  108986. *
  108987. * 3. Options for one single series are given in the series instance array. (see
  108988. * online documentation for example)
  108989. *
  108990. * You have to extend the `SeriesCciOptions` via an interface to allow custom
  108991. * properties: ``` declare interface SeriesCciOptions { customProperty: string;
  108992. * }
  108993. *
  108994. */
  108995. export interface SeriesCciOptions extends PlotCciOptions, SeriesOptions {
  108996. /**
  108997. * Not available
  108998. */
  108999. dataParser?: undefined;
  109000. /**
  109001. * Not available
  109002. */
  109003. dataURL?: undefined;
  109004. /**
  109005. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109006. * TypeScript non-optional and might be `undefined` in series objects from
  109007. * unknown sources.
  109008. */
  109009. type: "cci";
  109010. }
  109011. /**
  109012. * (Highstock) A `Chaikin Oscillator` series. If the type option is not
  109013. * specified, it is inherited from chart.type.
  109014. *
  109015. * In TypeScript the type option must always be set.
  109016. *
  109017. * Configuration options for the series are given in three levels:
  109018. *
  109019. * 1. Options for all series in a chart are defined in the plotOptions.series
  109020. * object.
  109021. *
  109022. * 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
  109023. *
  109024. * 3. Options for one single series are given in the series instance array. (see
  109025. * online documentation for example)
  109026. *
  109027. * You have to extend the `SeriesChaikinOptions` via an interface to allow
  109028. * custom properties: ``` declare interface SeriesChaikinOptions {
  109029. * customProperty: string; }
  109030. *
  109031. */
  109032. export interface SeriesChaikinOptions extends PlotChaikinOptions, SeriesOptions {
  109033. /**
  109034. * Not available
  109035. */
  109036. dataParser?: undefined;
  109037. /**
  109038. * Not available
  109039. */
  109040. dataURL?: undefined;
  109041. /**
  109042. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109043. * TypeScript non-optional and might be `undefined` in series objects from
  109044. * unknown sources.
  109045. */
  109046. type: "chaikin";
  109047. }
  109048. /**
  109049. * Event information regarding check of a series box.
  109050. */
  109051. export interface SeriesCheckboxClickEventObject {
  109052. /**
  109053. * Whether the box has been checked.
  109054. */
  109055. checked: boolean;
  109056. /**
  109057. * Related series.
  109058. */
  109059. item: Series;
  109060. /**
  109061. * Related series.
  109062. */
  109063. target: Series;
  109064. /**
  109065. * Event type.
  109066. */
  109067. type: "checkboxClick";
  109068. }
  109069. /**
  109070. * Common information for a click event on a series.
  109071. */
  109072. export interface SeriesClickEventObject extends Event {
  109073. /**
  109074. * Nearest point on the graph.
  109075. */
  109076. point: Point;
  109077. }
  109078. /**
  109079. * (Highstock) A `CMF` series. If the type option is not specified, it is
  109080. * inherited from chart.type.
  109081. *
  109082. * In TypeScript the type option must always be set.
  109083. *
  109084. * Configuration options for the series are given in three levels:
  109085. *
  109086. * 1. Options for all series in a chart are defined in the plotOptions.series
  109087. * object.
  109088. *
  109089. * 2. Options for all `cmf` series are defined in plotOptions.cmf.
  109090. *
  109091. * 3. Options for one single series are given in the series instance array. (see
  109092. * online documentation for example)
  109093. *
  109094. * You have to extend the `SeriesCmfOptions` via an interface to allow custom
  109095. * properties: ``` declare interface SeriesCmfOptions { customProperty: string;
  109096. * }
  109097. *
  109098. */
  109099. export interface SeriesCmfOptions extends PlotCmfOptions, SeriesOptions {
  109100. /**
  109101. * Not available
  109102. */
  109103. dataParser?: undefined;
  109104. /**
  109105. * Not available
  109106. */
  109107. dataURL?: undefined;
  109108. /**
  109109. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109110. * TypeScript non-optional and might be `undefined` in series objects from
  109111. * unknown sources.
  109112. */
  109113. type: "cmf";
  109114. }
  109115. /**
  109116. * (Highstock) A `CMO` series. If the type option is not specified, it is
  109117. * inherited from chart.type.
  109118. *
  109119. * In TypeScript the type option must always be set.
  109120. *
  109121. * Configuration options for the series are given in three levels:
  109122. *
  109123. * 1. Options for all series in a chart are defined in the plotOptions.series
  109124. * object.
  109125. *
  109126. * 2. Options for all `cmo` series are defined in plotOptions.cmo.
  109127. *
  109128. * 3. Options for one single series are given in the series instance array. (see
  109129. * online documentation for example)
  109130. *
  109131. * You have to extend the `SeriesCmoOptions` via an interface to allow custom
  109132. * properties: ``` declare interface SeriesCmoOptions { customProperty: string;
  109133. * }
  109134. *
  109135. */
  109136. export interface SeriesCmoOptions extends PlotCmoOptions, SeriesOptions {
  109137. /**
  109138. * Not available
  109139. */
  109140. dataParser?: undefined;
  109141. /**
  109142. * Not available
  109143. */
  109144. dataURL?: undefined;
  109145. /**
  109146. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109147. * TypeScript non-optional and might be `undefined` in series objects from
  109148. * unknown sources.
  109149. */
  109150. type: "cmo";
  109151. }
  109152. /**
  109153. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109154. * series is displayed for the `dataLabels`. The animation can also be set as a
  109155. * configuration object. Please note that this option only applies to the
  109156. * initial animation. For other animations, see chart.animation and the
  109157. * animation parameter under the API methods. The following properties are
  109158. * supported:
  109159. *
  109160. * - `defer`: The animation delay time in milliseconds.
  109161. */
  109162. export interface SeriesColumnDataDataLabelsAnimationOptions {
  109163. /**
  109164. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109165. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109166. * time from the series.animation.defer.
  109167. */
  109168. defer?: number;
  109169. }
  109170. /**
  109171. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109172. * one state by default, the `default` state.
  109173. */
  109174. export interface SeriesColumnDataDragDropGuideBoxOptions {
  109175. /**
  109176. * (Highcharts, Highstock) Style options for the guide box default state.
  109177. */
  109178. default?: DragDropGuideBoxOptionsObject;
  109179. }
  109180. /**
  109181. * (Highcharts, Highstock) A `column` series. If the type option is not
  109182. * specified, it is inherited from chart.type.
  109183. *
  109184. * In TypeScript the type option must always be set.
  109185. *
  109186. * Configuration options for the series are given in three levels:
  109187. *
  109188. * 1. Options for all series in a chart are defined in the plotOptions.series
  109189. * object.
  109190. *
  109191. * 2. Options for all `column` series are defined in plotOptions.column.
  109192. *
  109193. * 3. Options for one single series are given in the series instance array. (see
  109194. * online documentation for example)
  109195. *
  109196. * You have to extend the `SeriesColumnOptions` via an interface to allow custom
  109197. * properties: ``` declare interface SeriesColumnOptions { customProperty:
  109198. * string; }
  109199. *
  109200. */
  109201. export interface SeriesColumnOptions extends PlotColumnOptions, SeriesOptions {
  109202. /**
  109203. * (Highcharts, Highstock) An array of data points for the series. For the
  109204. * `column` series type, points can be given in the following ways:
  109205. *
  109206. * 1. An array of numerical values. In this case, the numerical values will
  109207. * be interpreted as `y` options. The `x` values will be automatically
  109208. * calculated, either starting at 0 and incremented by 1, or from
  109209. * `pointStart` and `pointInterval` given in the series options. If the axis
  109210. * has categories, these will be used. Example: (see online documentation
  109211. * for example)
  109212. *
  109213. * 2. An array of arrays with 2 values. In this case, the values correspond
  109214. * to `x,y`. If the first value is a string, it is applied as the name of
  109215. * the point, and the `x` value is inferred. (see online documentation for
  109216. * example)
  109217. *
  109218. * 3. An array of objects with named values. The following snippet shows
  109219. * only a few settings, see the complete options set below. If the total
  109220. * number of data points exceeds the series' turboThreshold, this option is
  109221. * not available. (see online documentation for example)
  109222. */
  109223. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109224. /**
  109225. * Not available
  109226. */
  109227. dataParser?: undefined;
  109228. /**
  109229. * Not available
  109230. */
  109231. dataURL?: undefined;
  109232. /**
  109233. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109234. * TypeScript non-optional and might be `undefined` in series objects from
  109235. * unknown sources.
  109236. */
  109237. type: "column";
  109238. }
  109239. /**
  109240. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109241. * series is displayed for the `dataLabels`. The animation can also be set as a
  109242. * configuration object. Please note that this option only applies to the
  109243. * initial animation. For other animations, see chart.animation and the
  109244. * animation parameter under the API methods. The following properties are
  109245. * supported:
  109246. *
  109247. * - `defer`: The animation delay time in milliseconds.
  109248. */
  109249. export interface SeriesColumnpyramidDataDataLabelsAnimationOptions {
  109250. /**
  109251. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109252. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109253. * time from the series.animation.defer.
  109254. */
  109255. defer?: number;
  109256. }
  109257. /**
  109258. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109259. * one state by default, the `default` state.
  109260. */
  109261. export interface SeriesColumnpyramidDataDragDropGuideBoxOptions {
  109262. /**
  109263. * (Highcharts, Highstock) Style options for the guide box default state.
  109264. */
  109265. default?: DragDropGuideBoxOptionsObject;
  109266. }
  109267. /**
  109268. * (Highcharts, Highstock) A `columnpyramid` series. If the type option is not
  109269. * specified, it is inherited from chart.type.
  109270. *
  109271. * In TypeScript the type option must always be set.
  109272. *
  109273. * Configuration options for the series are given in three levels:
  109274. *
  109275. * 1. Options for all series in a chart are defined in the plotOptions.series
  109276. * object.
  109277. *
  109278. * 2. Options for all `columnpyramid` series are defined in
  109279. * plotOptions.columnpyramid.
  109280. *
  109281. * 3. Options for one single series are given in the series instance array. (see
  109282. * online documentation for example)
  109283. *
  109284. * You have to extend the `SeriesColumnpyramidOptions` via an interface to allow
  109285. * custom properties: ``` declare interface SeriesColumnpyramidOptions {
  109286. * customProperty: string; }
  109287. *
  109288. */
  109289. export interface SeriesColumnpyramidOptions extends PlotColumnpyramidOptions, SeriesOptions {
  109290. /**
  109291. * (Highcharts, Highstock) An array of data points for the series. For the
  109292. * `columnpyramid` series type, points can be given in the following ways:
  109293. *
  109294. * 1. An array of numerical values. In this case, the numerical values will
  109295. * be interpreted as `y` options. The `x` values will be automatically
  109296. * calculated, either starting at 0 and incremented by 1, or from
  109297. * `pointStart` and `pointInterval` given in the series options. If the axis
  109298. * has categories, these will be used. Example: (see online documentation
  109299. * for example)
  109300. *
  109301. * 2. An array of arrays with 2 values. In this case, the values correspond
  109302. * to `x,y`. If the first value is a string, it is applied as the name of
  109303. * the point, and the `x` value is inferred. (see online documentation for
  109304. * example)
  109305. *
  109306. * 3. An array of objects with named values. The objects are point
  109307. * configuration objects as seen below. If the total number of data points
  109308. * exceeds the series' turboThreshold, this option is not available. (see
  109309. * online documentation for example)
  109310. */
  109311. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109312. /**
  109313. * Not available
  109314. */
  109315. dataParser?: undefined;
  109316. /**
  109317. * Not available
  109318. */
  109319. dataURL?: undefined;
  109320. /**
  109321. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109322. * TypeScript non-optional and might be `undefined` in series objects from
  109323. * unknown sources.
  109324. */
  109325. type: "columnpyramid";
  109326. }
  109327. /**
  109328. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  109329. * is displayed for the `dataLabels`. The animation can also be set as a
  109330. * configuration object. Please note that this option only applies to the
  109331. * initial animation. For other animations, see chart.animation and the
  109332. * animation parameter under the API methods. The following properties are
  109333. * supported:
  109334. *
  109335. * - `defer`: The animation delay time in milliseconds.
  109336. */
  109337. export interface SeriesColumnrangeDataDataLabelsAnimationOptions {
  109338. /**
  109339. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  109340. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  109341. * from the series.animation.defer.
  109342. */
  109343. defer?: number;
  109344. }
  109345. /**
  109346. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109347. * one state by default, the `default` state.
  109348. */
  109349. export interface SeriesColumnrangeDataDragDropGuideBoxOptions {
  109350. /**
  109351. * (Highcharts, Highstock) Style options for the guide box default state.
  109352. */
  109353. default?: DragDropGuideBoxOptionsObject;
  109354. }
  109355. /**
  109356. * (Highcharts, Highstock) A `columnrange` series. If the type option is not
  109357. * specified, it is inherited from chart.type.
  109358. *
  109359. * In TypeScript the type option must always be set.
  109360. *
  109361. * Configuration options for the series are given in three levels:
  109362. *
  109363. * 1. Options for all series in a chart are defined in the plotOptions.series
  109364. * object.
  109365. *
  109366. * 2. Options for all `columnrange` series are defined in
  109367. * plotOptions.columnrange.
  109368. *
  109369. * 3. Options for one single series are given in the series instance array. (see
  109370. * online documentation for example)
  109371. *
  109372. * You have to extend the `SeriesColumnrangeOptions` via an interface to allow
  109373. * custom properties: ``` declare interface SeriesColumnrangeOptions {
  109374. * customProperty: string; }
  109375. *
  109376. */
  109377. export interface SeriesColumnrangeOptions extends PlotColumnrangeOptions, SeriesOptions {
  109378. /**
  109379. * (Highcharts, Highstock) An array of data points for the series. For the
  109380. * `columnrange` series type, points can be given in the following ways:
  109381. *
  109382. * 1. An array of arrays with 3 or 2 values. In this case, the values
  109383. * correspond to `x,low,high`. If the first value is a string, it is applied
  109384. * as the name of the point, and the `x` value is inferred. The `x` value
  109385. * can also be omitted, in which case the inner arrays should be of length
  109386. * 2\. Then the `x` value is automatically calculated, either starting at 0
  109387. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  109388. * the series options. (see online documentation for example)
  109389. *
  109390. * 2. An array of objects with named values. The following snippet shows
  109391. * only a few settings, see the complete options set below. If the total
  109392. * number of data points exceeds the series' turboThreshold, this option is
  109393. * not available. (see online documentation for example)
  109394. */
  109395. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  109396. /**
  109397. * Not available
  109398. */
  109399. dataParser?: undefined;
  109400. /**
  109401. * Not available
  109402. */
  109403. dataURL?: undefined;
  109404. /**
  109405. * Not available
  109406. */
  109407. stack?: undefined;
  109408. /**
  109409. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109410. * TypeScript non-optional and might be `undefined` in series objects from
  109411. * unknown sources.
  109412. */
  109413. type: "columnrange";
  109414. }
  109415. /**
  109416. * (Gantt) Override Pathfinder connector options for a series. Requires
  109417. * Highcharts Gantt to be loaded.
  109418. */
  109419. export interface SeriesConnectorsOptionsObject {
  109420. animation?: ConnectorsAnimationOptionsObject;
  109421. /**
  109422. * (Gantt) Set the default dash style for this chart's connecting lines.
  109423. */
  109424. dashStyle?: string;
  109425. /**
  109426. * (Gantt) Marker options specific to the end markers for this chart's
  109427. * Pathfinder connectors. Overrides the generic marker options.
  109428. */
  109429. endMarker?: ConnectorsEndMarkerOptions;
  109430. /**
  109431. * (Gantt) Set the default color for this chart's Pathfinder connecting
  109432. * lines. Defaults to the color of the point being connected.
  109433. */
  109434. lineColor?: ColorString;
  109435. /**
  109436. * (Gantt) Set the default pixel width for this chart's Pathfinder
  109437. * connecting lines.
  109438. */
  109439. lineWidth?: number;
  109440. /**
  109441. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  109442. * this option is overridden by the `startMarker` and `endMarker` options.
  109443. */
  109444. marker?: ConnectorsMarkerOptions;
  109445. /**
  109446. * (Gantt) Marker options specific to the start markers for this chart's
  109447. * Pathfinder connectors. Overrides the generic marker options.
  109448. */
  109449. startMarker?: ConnectorsStartMarkerOptions;
  109450. /**
  109451. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  109452. * possible to define your own algorithms by adding them to the
  109453. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  109454. * been created.
  109455. *
  109456. * The default algorithms are as follows:
  109457. *
  109458. * `straight`: Draws a straight line between the connecting points. Does not
  109459. * avoid other points when drawing.
  109460. *
  109461. * `simpleConnect`: Finds a path between the points using right angles only.
  109462. * Takes only starting/ending points into account, and will not avoid other
  109463. * points.
  109464. *
  109465. * `fastAvoid`: Finds a path between the points using right angles only.
  109466. * Will attempt to avoid other points, but its focus is performance over
  109467. * accuracy. Works well with less dense datasets.
  109468. *
  109469. * Default value: `straight` is used as default for most series types, while
  109470. * `simpleConnect` is used as default for Gantt series, to show dependencies
  109471. * between points.
  109472. */
  109473. type?: (string|PathfinderTypeValue);
  109474. }
  109475. /**
  109476. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  109477. * series is displayed for the `dataLabels`. The animation can also be set as a
  109478. * configuration object. Please note that this option only applies to the
  109479. * initial animation. For other animations, see chart.animation and the
  109480. * animation parameter under the API methods. The following properties are
  109481. * supported:
  109482. *
  109483. * - `defer`: The animation delay time in milliseconds.
  109484. */
  109485. export interface SeriesCylinderDataDataLabelsAnimationOptions {
  109486. /**
  109487. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  109488. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  109489. * time from the series.animation.defer.
  109490. */
  109491. defer?: number;
  109492. }
  109493. /**
  109494. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109495. * one state by default, the `default` state.
  109496. */
  109497. export interface SeriesCylinderDataDragDropGuideBoxOptions {
  109498. /**
  109499. * (Highcharts, Highstock) Style options for the guide box default state.
  109500. */
  109501. default?: DragDropGuideBoxOptionsObject;
  109502. }
  109503. /**
  109504. * (Highcharts) A `cylinder` series. If the type option is not specified, it is
  109505. * inherited from chart.type.
  109506. *
  109507. * In TypeScript the type option must always be set.
  109508. *
  109509. * Configuration options for the series are given in three levels:
  109510. *
  109511. * 1. Options for all series in a chart are defined in the plotOptions.series
  109512. * object.
  109513. *
  109514. * 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
  109515. *
  109516. * 3. Options for one single series are given in the series instance array. (see
  109517. * online documentation for example)
  109518. *
  109519. * You have to extend the `SeriesCylinderOptions` via an interface to allow
  109520. * custom properties: ``` declare interface SeriesCylinderOptions {
  109521. * customProperty: string; }
  109522. *
  109523. */
  109524. export interface SeriesCylinderOptions extends PlotCylinderOptions, SeriesOptions {
  109525. /**
  109526. * (Highcharts, Highstock) An array of data points for the series. For the
  109527. * `cylinder` series type, points can be given in the following ways:
  109528. *
  109529. * 1. An array of numerical values. In this case, the numerical values will
  109530. * be interpreted as `y` options. The `x` values will be automatically
  109531. * calculated, either starting at 0 and incremented by 1, or from
  109532. * `pointStart` and `pointInterval` given in the series options. If the axis
  109533. * has categories, these will be used. Example: (see online documentation
  109534. * for example)
  109535. *
  109536. * 2. An array of arrays with 2 values. In this case, the values correspond
  109537. * to `x,y`. If the first value is a string, it is applied as the name of
  109538. * the point, and the `x` value is inferred. (see online documentation for
  109539. * example)
  109540. *
  109541. * 3. An array of objects with named values. The following snippet shows
  109542. * only a few settings, see the complete options set below. If the total
  109543. * number of data points exceeds the series' turboThreshold, this option is
  109544. * not available. (see online documentation for example)
  109545. */
  109546. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  109547. /**
  109548. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109549. * TypeScript non-optional and might be `undefined` in series objects from
  109550. * unknown sources.
  109551. */
  109552. type: "cylinder";
  109553. }
  109554. /**
  109555. * (Highstock) A `DEMA` series. If the type option is not specified, it is
  109556. * inherited from chart.type.
  109557. *
  109558. * In TypeScript the type option must always be set.
  109559. *
  109560. * Configuration options for the series are given in three levels:
  109561. *
  109562. * 1. Options for all series in a chart are defined in the plotOptions.series
  109563. * object.
  109564. *
  109565. * 2. Options for all `dema` series are defined in plotOptions.dema.
  109566. *
  109567. * 3. Options for one single series are given in the series instance array. (see
  109568. * online documentation for example)
  109569. *
  109570. * You have to extend the `SeriesDemaOptions` via an interface to allow custom
  109571. * properties: ``` declare interface SeriesDemaOptions { customProperty: string;
  109572. * }
  109573. *
  109574. */
  109575. export interface SeriesDemaOptions extends PlotDemaOptions, SeriesOptions {
  109576. /**
  109577. * Not available
  109578. */
  109579. dataParser?: undefined;
  109580. /**
  109581. * Not available
  109582. */
  109583. dataURL?: undefined;
  109584. /**
  109585. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109586. * TypeScript non-optional and might be `undefined` in series objects from
  109587. * unknown sources.
  109588. */
  109589. type: "dema";
  109590. }
  109591. /**
  109592. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  109593. * animation when a series is displayed for the `dataLabels`. The animation can
  109594. * also be set as a configuration object. Please note that this option only
  109595. * applies to the initial animation. For other animations, see chart.animation
  109596. * and the animation parameter under the API methods. The following properties
  109597. * are supported:
  109598. *
  109599. * - `defer`: The animation delay time in milliseconds.
  109600. */
  109601. export interface SeriesDependencywheelNodesDataLabelsAnimationOptions {
  109602. /**
  109603. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  109604. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  109605. * inherits defer time from the series.animation.defer.
  109606. */
  109607. defer?: number;
  109608. }
  109609. /**
  109610. * (Highcharts) A `dependencywheel` series. If the type option is not specified,
  109611. * it is inherited from chart.type.
  109612. *
  109613. * In TypeScript the type option must always be set.
  109614. *
  109615. * Configuration options for the series are given in three levels:
  109616. *
  109617. * 1. Options for all series in a chart are defined in the plotOptions.series
  109618. * object.
  109619. *
  109620. * 2. Options for all `dependencywheel` series are defined in
  109621. * plotOptions.dependencywheel.
  109622. *
  109623. * 3. Options for one single series are given in the series instance array. (see
  109624. * online documentation for example)
  109625. *
  109626. * You have to extend the `SeriesDependencywheelOptions` via an interface to
  109627. * allow custom properties: ``` declare interface SeriesDependencywheelOptions {
  109628. * customProperty: string; }
  109629. *
  109630. */
  109631. export interface SeriesDependencywheelOptions extends PlotDependencywheelOptions, SeriesOptions {
  109632. /**
  109633. * (Highcharts) An array of data points for the series. For the
  109634. * `dependencywheel` series type, points can be given in the following way:
  109635. *
  109636. * An array of objects with named values. The following snippet shows only a
  109637. * few settings, see the complete options set below. If the total number of
  109638. * data points exceeds the series' turboThreshold, this option is not
  109639. * available. (see online documentation for example)
  109640. */
  109641. data?: Array<SeriesSankeyPointOptionsObject>;
  109642. /**
  109643. * (Highcharts) A collection of options for the individual nodes. The nodes
  109644. * in a dependency diagram are auto-generated instances of
  109645. * `Highcharts.Point`, but options can be applied here and linked by the
  109646. * `id`.
  109647. */
  109648. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  109649. /**
  109650. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109651. * TypeScript non-optional and might be `undefined` in series objects from
  109652. * unknown sources.
  109653. */
  109654. type: "dependencywheel";
  109655. }
  109656. /**
  109657. * (Highstock) The Disparity Index indicator series. If the type option is not
  109658. * specified, it is inherited from chart.type.
  109659. *
  109660. * In TypeScript the type option must always be set.
  109661. *
  109662. * Configuration options for the series are given in three levels:
  109663. *
  109664. * 1. Options for all series in a chart are defined in the plotOptions.series
  109665. * object.
  109666. *
  109667. * 2. Options for all `disparityindex` series are defined in
  109668. * plotOptions.disparityindex.
  109669. *
  109670. * 3. Options for one single series are given in the series instance array. (see
  109671. * online documentation for example)
  109672. *
  109673. * You have to extend the `SeriesDisparityindexOptions` via an interface to
  109674. * allow custom properties: ``` declare interface SeriesDisparityindexOptions {
  109675. * customProperty: string; }
  109676. *
  109677. */
  109678. export interface SeriesDisparityindexOptions extends PlotDisparityindexOptions, SeriesOptions {
  109679. /**
  109680. * Not available
  109681. */
  109682. dataParser?: undefined;
  109683. /**
  109684. * Not available
  109685. */
  109686. dataURL?: undefined;
  109687. /**
  109688. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109689. * TypeScript non-optional and might be `undefined` in series objects from
  109690. * unknown sources.
  109691. */
  109692. type: "disparityindex";
  109693. }
  109694. /**
  109695. * (Highstock) The Directional Movement Index (DMI) indicator series. If the
  109696. * type option is not specified, it is inherited from chart.type.
  109697. *
  109698. * In TypeScript the type option must always be set.
  109699. *
  109700. * Configuration options for the series are given in three levels:
  109701. *
  109702. * 1. Options for all series in a chart are defined in the plotOptions.series
  109703. * object.
  109704. *
  109705. * 2. Options for all `dmi` series are defined in plotOptions.dmi.
  109706. *
  109707. * 3. Options for one single series are given in the series instance array. (see
  109708. * online documentation for example)
  109709. *
  109710. * You have to extend the `SeriesDmiOptions` via an interface to allow custom
  109711. * properties: ``` declare interface SeriesDmiOptions { customProperty: string;
  109712. * }
  109713. *
  109714. */
  109715. export interface SeriesDmiOptions extends PlotDmiOptions, SeriesOptions {
  109716. /**
  109717. * Not available
  109718. */
  109719. dataParser?: undefined;
  109720. /**
  109721. * Not available
  109722. */
  109723. dataURL?: undefined;
  109724. /**
  109725. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109726. * TypeScript non-optional and might be `undefined` in series objects from
  109727. * unknown sources.
  109728. */
  109729. type: "dmi";
  109730. }
  109731. /**
  109732. * (Highstock) A Detrended Price Oscillator. If the type option is not
  109733. * specified, it is inherited from chart.type.
  109734. *
  109735. * In TypeScript the type option must always be set.
  109736. *
  109737. * Configuration options for the series are given in three levels:
  109738. *
  109739. * 1. Options for all series in a chart are defined in the plotOptions.series
  109740. * object.
  109741. *
  109742. * 2. Options for all `dpo` series are defined in plotOptions.dpo.
  109743. *
  109744. * 3. Options for one single series are given in the series instance array. (see
  109745. * online documentation for example)
  109746. *
  109747. * You have to extend the `SeriesDpoOptions` via an interface to allow custom
  109748. * properties: ``` declare interface SeriesDpoOptions { customProperty: string;
  109749. * }
  109750. *
  109751. */
  109752. export interface SeriesDpoOptions extends PlotDpoOptions, SeriesOptions {
  109753. /**
  109754. * Not available
  109755. */
  109756. dataParser?: undefined;
  109757. /**
  109758. * Not available
  109759. */
  109760. dataURL?: undefined;
  109761. /**
  109762. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109763. * TypeScript non-optional and might be `undefined` in series objects from
  109764. * unknown sources.
  109765. */
  109766. type: "dpo";
  109767. }
  109768. /**
  109769. * (Highcharts, Highstock, Gantt) The draggable-points module allows points to
  109770. * be moved around or modified in the chart. In addition to the options
  109771. * mentioned under the `dragDrop` API structure, the module fires three events,
  109772. * point.dragStart, point.drag and point.drop.
  109773. */
  109774. export interface SeriesDragDropOptionsObject {
  109775. /**
  109776. * (Highstock) Allow close value to be dragged individually.
  109777. */
  109778. draggableClose?: boolean;
  109779. /**
  109780. * (Gantt) Allow end value to be dragged individually.
  109781. */
  109782. draggableEnd?: boolean;
  109783. /**
  109784. * (Highstock) Allow high value to be dragged individually.
  109785. */
  109786. draggableHigh?: boolean;
  109787. /**
  109788. * (Highstock) Allow low value to be dragged individually.
  109789. */
  109790. draggableLow?: boolean;
  109791. /**
  109792. * (Highstock) Allow open value to be dragged individually.
  109793. */
  109794. draggableOpen?: boolean;
  109795. /**
  109796. * (Highcharts, Highstock) Allow Q1 value to be dragged individually.
  109797. */
  109798. draggableQ1?: boolean;
  109799. /**
  109800. * (Highcharts, Highstock) Allow Q3 value to be dragged individually.
  109801. */
  109802. draggableQ3?: boolean;
  109803. /**
  109804. * (Gantt) Allow start value to be dragged individually.
  109805. */
  109806. draggableStart?: boolean;
  109807. /**
  109808. * (Highcharts) Allow target value to be dragged individually.
  109809. */
  109810. draggableTarget?: boolean;
  109811. /**
  109812. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  109813. */
  109814. draggableX?: boolean;
  109815. /**
  109816. * (Highcharts, Highstock, Gantt) Allow x value to be dragged individually.
  109817. */
  109818. draggableX1?: boolean;
  109819. /**
  109820. * (Highcharts, Highstock, Gantt) Allow x2 value to be dragged individually.
  109821. */
  109822. draggableX2?: boolean;
  109823. /**
  109824. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  109825. * that this is not supported for TreeGrid axes (the default axis type in
  109826. * Gantt charts).
  109827. */
  109828. draggableY?: boolean;
  109829. /**
  109830. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  109831. */
  109832. dragHandle?: DragDropHandleOptionsObject;
  109833. /**
  109834. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  109835. * moved to.
  109836. */
  109837. dragMaxX?: number;
  109838. /**
  109839. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  109840. * moved to.
  109841. */
  109842. dragMaxY?: number;
  109843. /**
  109844. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  109845. * moved to.
  109846. */
  109847. dragMinX?: number;
  109848. /**
  109849. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  109850. * moved to.
  109851. */
  109852. dragMinY?: number;
  109853. /**
  109854. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  109855. * series. Set to 0 to disable. By default this is disabled, except for
  109856. * category axes, where the default is 1.
  109857. */
  109858. dragPrecisionX?: number;
  109859. /**
  109860. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  109861. * series. Set to 0 to disable. By default this is disabled, except for
  109862. * category axes, where the default is 1.
  109863. */
  109864. dragPrecisionY?: number;
  109865. /**
  109866. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  109867. * before it counts as a drag operation. This prevents drag/drop to fire
  109868. * when just clicking or selecting points.
  109869. */
  109870. dragSensitivity?: number;
  109871. /**
  109872. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  109873. * with the same property value will be grouped together when moving.
  109874. */
  109875. groupBy?: string;
  109876. /**
  109877. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  109878. * box has one state by default, the `default` state.
  109879. */
  109880. guideBox?: (PlotAreaDragDropGuideBoxOptions|PlotArearangeDragDropGuideBoxOptions|PlotAreasplineDragDropGuideBoxOptions|PlotAreasplinerangeDragDropGuideBoxOptions|PlotBarDragDropGuideBoxOptions|
  109881. PlotBoxplotDragDropGuideBoxOptions|PlotBubbleDragDropGuideBoxOptions|PlotBulletDragDropGuideBoxOptions|PlotCandlestickDragDropGuideBoxOptions|PlotColumnDragDropGuideBoxOptions|
  109882. PlotColumnpyramidDragDropGuideBoxOptions|PlotColumnrangeDragDropGuideBoxOptions|PlotDumbbellDragDropGuideBoxOptions|PlotErrorbarDragDropGuideBoxOptions|PlotFlagsDragDropGuideBoxOptions|
  109883. PlotFunnel3dDragDropGuideBoxOptions|PlotGanttDragDropGuideBoxOptions|PlotHeatmapDragDropGuideBoxOptions|PlotLineDragDropGuideBoxOptions|PlotLollipopDragDropGuideBoxOptions|
  109884. PlotMapbubbleDragDropGuideBoxOptions|PlotMapDragDropGuideBoxOptions|PlotMaplineDragDropGuideBoxOptions|PlotMappointDragDropGuideBoxOptions|PlotOhlcDragDropGuideBoxOptions|
  109885. PlotPolygonDragDropGuideBoxOptions|PlotPyramid3dDragDropGuideBoxOptions|PlotScatterDragDropGuideBoxOptions|PlotSeriesDragDropGuideBoxOptions|PlotSplineDragDropGuideBoxOptions|
  109886. PlotStreamgraphDragDropGuideBoxOptions|PlotTilemapDragDropGuideBoxOptions|PlotTimelineDragDropGuideBoxOptions|PlotVariwideDragDropGuideBoxOptions|PlotWaterfallDragDropGuideBoxOptions|
  109887. PlotXrangeDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  109888. /**
  109889. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  109890. * false, a guide box is drawn to illustrate the new point size.
  109891. */
  109892. liveRedraw?: boolean;
  109893. }
  109894. /**
  109895. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  109896. * is displayed for the `dataLabels`. The animation can also be set as a
  109897. * configuration object. Please note that this option only applies to the
  109898. * initial animation. For other animations, see chart.animation and the
  109899. * animation parameter under the API methods. The following properties are
  109900. * supported:
  109901. *
  109902. * - `defer`: The animation delay time in milliseconds.
  109903. */
  109904. export interface SeriesDumbbellDataDataLabelsAnimationOptions {
  109905. /**
  109906. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  109907. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  109908. * from the series.animation.defer.
  109909. */
  109910. defer?: number;
  109911. }
  109912. /**
  109913. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  109914. * one state by default, the `default` state.
  109915. */
  109916. export interface SeriesDumbbellDataDragDropGuideBoxOptions {
  109917. /**
  109918. * (Highcharts, Highstock) Style options for the guide box default state.
  109919. */
  109920. default?: DragDropGuideBoxOptionsObject;
  109921. }
  109922. /**
  109923. * (Highcharts, Highstock) The `dumbbell` series. If the type option is not
  109924. * specified, it is inherited from chart.type.
  109925. *
  109926. * In TypeScript the type option must always be set.
  109927. *
  109928. * Configuration options for the series are given in three levels:
  109929. *
  109930. * 1. Options for all series in a chart are defined in the plotOptions.series
  109931. * object.
  109932. *
  109933. * 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
  109934. *
  109935. * 3. Options for one single series are given in the series instance array. (see
  109936. * online documentation for example)
  109937. *
  109938. * You have to extend the `SeriesDumbbellOptions` via an interface to allow
  109939. * custom properties: ``` declare interface SeriesDumbbellOptions {
  109940. * customProperty: string; }
  109941. *
  109942. */
  109943. export interface SeriesDumbbellOptions extends PlotDumbbellOptions, SeriesOptions {
  109944. /**
  109945. * (Highcharts, Highstock) An array of data points for the series. For the
  109946. * `dumbbell` series type, points can be given in the following ways:
  109947. *
  109948. * 1. An array of arrays with 3 or 2 values. In this case, the values
  109949. * correspond to `x,low,high`. If the first value is a string, it is applied
  109950. * as the name of the point, and the `x` value is inferred. The `x` value
  109951. * can also be omitted, in which case the inner arrays should be of length
  109952. * 2\. Then the `x` value is automatically calculated, either starting at 0
  109953. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  109954. * the series options. (see online documentation for example)
  109955. *
  109956. * 2. An array of objects with named values. The following snippet shows
  109957. * only a few settings, see the complete options set below. If the total
  109958. * number of data points exceeds the series' turboThreshold, this option is
  109959. * not available. (see online documentation for example)
  109960. */
  109961. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  109962. /**
  109963. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  109964. * TypeScript non-optional and might be `undefined` in series objects from
  109965. * unknown sources.
  109966. */
  109967. type: "dumbbell";
  109968. }
  109969. /**
  109970. * (Highstock) A `EMA` series. If the type option is not specified, it is
  109971. * inherited from chart.type.
  109972. *
  109973. * In TypeScript the type option must always be set.
  109974. *
  109975. * Configuration options for the series are given in three levels:
  109976. *
  109977. * 1. Options for all series in a chart are defined in the plotOptions.series
  109978. * object.
  109979. *
  109980. * 2. Options for all `ema` series are defined in plotOptions.ema.
  109981. *
  109982. * 3. Options for one single series are given in the series instance array. (see
  109983. * online documentation for example)
  109984. *
  109985. * You have to extend the `SeriesEmaOptions` via an interface to allow custom
  109986. * properties: ``` declare interface SeriesEmaOptions { customProperty: string;
  109987. * }
  109988. *
  109989. */
  109990. export interface SeriesEmaOptions extends PlotEmaOptions, SeriesOptions {
  109991. /**
  109992. * Not available
  109993. */
  109994. dataParser?: undefined;
  109995. /**
  109996. * Not available
  109997. */
  109998. dataURL?: 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: "ema";
  110005. }
  110006. /**
  110007. * (Highcharts) Style options for the guide box. The guide box has one state by
  110008. * default, the `default` state.
  110009. */
  110010. export interface SeriesErrorbarDataDragDropGuideBoxOptions {
  110011. /**
  110012. * (Highcharts) Style options for the guide box default state.
  110013. */
  110014. default?: DragDropGuideBoxOptionsObject;
  110015. }
  110016. /**
  110017. * (Highcharts) A `errorbar` series. If the type option is not specified, it is
  110018. * inherited from chart.type.
  110019. *
  110020. * In TypeScript the type option must always be set.
  110021. *
  110022. * Configuration options for the series are given in three levels:
  110023. *
  110024. * 1. Options for all series in a chart are defined in the plotOptions.series
  110025. * object.
  110026. *
  110027. * 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
  110028. *
  110029. * 3. Options for one single series are given in the series instance array. (see
  110030. * online documentation for example)
  110031. *
  110032. * You have to extend the `SeriesErrorbarOptions` via an interface to allow
  110033. * custom properties: ``` declare interface SeriesErrorbarOptions {
  110034. * customProperty: string; }
  110035. *
  110036. */
  110037. export interface SeriesErrorbarOptions extends PlotErrorbarOptions, SeriesOptions {
  110038. /**
  110039. * (Highcharts) An array of data points for the series. For the `errorbar`
  110040. * series type, points can be given in the following ways:
  110041. *
  110042. * 1. An array of arrays with 3 or 2 values. In this case, the values
  110043. * correspond to `x,low,high`. If the first value is a string, it is applied
  110044. * as the name of the point, and the `x` value is inferred. The `x` value
  110045. * can also be omitted, in which case the inner arrays should be of length
  110046. * 2\. Then the `x` value is automatically calculated, either starting at 0
  110047. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  110048. * the series options. (see online documentation for example)
  110049. *
  110050. * 2. An array of objects with named values. The following snippet shows
  110051. * only a few settings, see the complete options set below. If the total
  110052. * number of data points exceeds the series' turboThreshold, this option is
  110053. * not available. (see online documentation for example)
  110054. */
  110055. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  110056. /**
  110057. * Not available
  110058. */
  110059. dataParser?: undefined;
  110060. /**
  110061. * Not available
  110062. */
  110063. dataURL?: undefined;
  110064. /**
  110065. * Not available
  110066. */
  110067. stack?: undefined;
  110068. /**
  110069. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110070. * TypeScript non-optional and might be `undefined` in series objects from
  110071. * unknown sources.
  110072. */
  110073. type: "errorbar";
  110074. }
  110075. /**
  110076. * (Highstock) General event handlers for the series items. These event hooks
  110077. * can also be attached to the series at run time using the
  110078. * `Highcharts.addEvent` function.
  110079. */
  110080. export interface SeriesEventsOptionsObject {
  110081. /**
  110082. * (Highcharts, Highstock, Gantt) Fires after the series has finished its
  110083. * initial animation, or in case animation is disabled, immediately as the
  110084. * series is displayed.
  110085. */
  110086. afterAnimate?: SeriesAfterAnimateCallbackFunction;
  110087. /**
  110088. * (Highstock) Fires when the checkbox next to the series' name in the
  110089. * legend is clicked. One parameter, `event`, is passed to the function. The
  110090. * state of the checkbox is found by `event.checked`. The checked item is
  110091. * found by `event.item`. Return `false` to prevent the default action which
  110092. * is to toggle the select state of the series.
  110093. */
  110094. checkboxClick?: (Function|SeriesCheckboxClickCallbackFunction);
  110095. /**
  110096. * (Highstock) Fires when the series is clicked. One parameter, `event`, is
  110097. * passed to the function, containing common event information.
  110098. * Additionally, `event.point` holds a pointer to the nearest point on the
  110099. * graph.
  110100. */
  110101. click?: SeriesClickCallbackFunction;
  110102. /**
  110103. * (Highstock) Fires when the series is hidden after chart generation time,
  110104. * either by clicking the legend item or by calling `.hide()`.
  110105. */
  110106. hide?: SeriesHideCallbackFunction;
  110107. /**
  110108. * (Highstock) Fires when the legend item belonging to the series is
  110109. * clicked. One parameter, `event`, is passed to the function. The default
  110110. * action is to toggle the visibility of the series. This can be prevented
  110111. * by returning `false` or calling `event.preventDefault()`.
  110112. */
  110113. legendItemClick?: SeriesLegendItemClickCallbackFunction;
  110114. /**
  110115. * (Highstock) Fires when the mouse leaves the graph. One parameter,
  110116. * `event`, is passed to the function, containing common event information.
  110117. * If the stickyTracking option is true, `mouseOut` doesn't happen before
  110118. * the mouse enters another graph or leaves the plot area.
  110119. */
  110120. mouseOut?: SeriesMouseOutCallbackFunction;
  110121. /**
  110122. * (Highstock) Fires when the mouse enters the graph. One parameter,
  110123. * `event`, is passed to the function, containing common event information.
  110124. */
  110125. mouseOver?: SeriesMouseOverCallbackFunction;
  110126. /**
  110127. * (Highcharts) Fires on a request for change of root node for the tree,
  110128. * before the update is made. An event object is passed to the function,
  110129. * containing additional properties `newRootId`, `previousRootId`, `redraw`
  110130. * and `trigger`.
  110131. */
  110132. setRootNode?: Function;
  110133. /**
  110134. * (Highstock) Fires when the series is shown after chart generation time,
  110135. * either by clicking the legend item or by calling `.show()`.
  110136. */
  110137. show?: SeriesShowCallbackFunction;
  110138. }
  110139. /**
  110140. * (Highstock) Style options for the guide box. The guide box has one state by
  110141. * default, the `default` state.
  110142. */
  110143. export interface SeriesFlagsDataDragDropGuideBoxOptions {
  110144. /**
  110145. * (Highstock) Style options for the guide box default state.
  110146. */
  110147. default?: DragDropGuideBoxOptionsObject;
  110148. }
  110149. /**
  110150. * (Highstock) A `flags` series. If the type option is not specified, it is
  110151. * inherited from chart.type.
  110152. *
  110153. * In TypeScript the type option must always be set.
  110154. *
  110155. * Configuration options for the series are given in three levels:
  110156. *
  110157. * 1. Options for all series in a chart are defined in the plotOptions.series
  110158. * object.
  110159. *
  110160. * 2. Options for all `flags` series are defined in plotOptions.flags.
  110161. *
  110162. * 3. Options for one single series are given in the series instance array. (see
  110163. * online documentation for example)
  110164. *
  110165. * You have to extend the `SeriesFlagsOptions` via an interface to allow custom
  110166. * properties: ``` declare interface SeriesFlagsOptions { customProperty:
  110167. * string; }
  110168. *
  110169. */
  110170. export interface SeriesFlagsOptions extends PlotFlagsOptions, SeriesOptions {
  110171. /**
  110172. * Not available
  110173. */
  110174. borderRadius?: undefined;
  110175. /**
  110176. * Not available
  110177. */
  110178. colorByPoint?: undefined;
  110179. /**
  110180. * (Highstock) An array of data points for the series. For the `flags`
  110181. * series type, points can be given in the following ways:
  110182. *
  110183. * 1. An array of objects with named values. The following snippet shows
  110184. * only a few settings, see the complete options set below. If the total
  110185. * number of data points exceeds the series' turboThreshold, this option is
  110186. * not available. (see online documentation for example)
  110187. */
  110188. data?: Array<PointOptionsObject>;
  110189. /**
  110190. * Not available
  110191. */
  110192. dataParser?: undefined;
  110193. /**
  110194. * Not available
  110195. */
  110196. dataURL?: undefined;
  110197. /**
  110198. * Not available
  110199. */
  110200. pointPadding?: undefined;
  110201. /**
  110202. * Not available
  110203. */
  110204. pointWidth?: undefined;
  110205. /**
  110206. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110207. * TypeScript non-optional and might be `undefined` in series objects from
  110208. * unknown sources.
  110209. */
  110210. type: "flags";
  110211. /**
  110212. * Not available
  110213. */
  110214. useOhlcData?: undefined;
  110215. }
  110216. /**
  110217. * (Highcharts) A `funnel3d` series. If the type option is not specified, it is
  110218. * inherited from chart.type.
  110219. *
  110220. * In TypeScript the type option must always be set.
  110221. *
  110222. * Configuration options for the series are given in three levels:
  110223. *
  110224. * 1. Options for all series in a chart are defined in the plotOptions.series
  110225. * object.
  110226. *
  110227. * 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
  110228. *
  110229. * 3. Options for one single series are given in the series instance array. (see
  110230. * online documentation for example)
  110231. *
  110232. * You have to extend the `SeriesFunnel3dOptions` via an interface to allow
  110233. * custom properties: ``` declare interface SeriesFunnel3dOptions {
  110234. * customProperty: string; }
  110235. *
  110236. */
  110237. export interface SeriesFunnel3dOptions extends PlotFunnel3dOptions, SeriesOptions {
  110238. /**
  110239. * Not available
  110240. */
  110241. allAreas?: undefined;
  110242. /**
  110243. * Not available
  110244. */
  110245. boostThreshold?: undefined;
  110246. /**
  110247. * (Highcharts) The center of the series. By default, it is centered in the
  110248. * middle of the plot area, so it fills the plot area height.
  110249. */
  110250. center?: Array<(number|string)>;
  110251. /**
  110252. * Not available
  110253. */
  110254. colorAxis?: undefined;
  110255. /**
  110256. * Not available
  110257. */
  110258. compare?: undefined;
  110259. /**
  110260. * Not available
  110261. */
  110262. compareBase?: undefined;
  110263. /**
  110264. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  110265. * series plot across the extremes.
  110266. */
  110267. connectEnds?: boolean;
  110268. /**
  110269. * (Highcharts, Highstock) Whether to connect a graph line across null
  110270. * points, or render a gap between the two points on either side of the
  110271. * null.
  110272. */
  110273. connectNulls?: boolean;
  110274. /**
  110275. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  110276. * right. Defaults to `startAngle` plus 360.
  110277. */
  110278. endAngle?: number;
  110279. /**
  110280. * (Highcharts) If the total sum of the pie's values is 0, the series is
  110281. * represented as an empty circle . The `fillColor` option defines the color
  110282. * of that circle. Use pie.borderWidth to set the border thickness.
  110283. */
  110284. fillColor?: (ColorString|GradientColorObject|PatternObject);
  110285. /**
  110286. * (Highstock) Defines when to display a gap in the graph, together with the
  110287. * gapUnit option.
  110288. *
  110289. * In case when `dataGrouping` is enabled, points can be grouped into a
  110290. * larger time span. This can make the grouped points to have a greater
  110291. * distance than the absolute value of `gapSize` property, which will result
  110292. * in disappearing graph completely. To prevent this situation the mentioned
  110293. * distance between grouped points is used instead of previously defined
  110294. * `gapSize`.
  110295. *
  110296. * In practice, this option is most often used to visualize gaps in time
  110297. * series. In a stock chart, intraday data is available for daytime hours,
  110298. * while gaps will appear in nights and weekends.
  110299. */
  110300. gapSize?: number;
  110301. /**
  110302. * (Highstock) Together with gapSize, this option defines where to draw gaps
  110303. * in the graph.
  110304. *
  110305. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  110306. * if the distance between two points is greater than 5 times that of the
  110307. * two closest points, the graph will be broken.
  110308. *
  110309. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  110310. * values, which on a datetime axis is milliseconds. This also applies to
  110311. * the navigator series that inherits gap options from the base series.
  110312. */
  110313. gapUnit?: OptionsGapUnitValue;
  110314. /**
  110315. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  110316. * whether the series shall be redrawn as if the hidden point were `null`.
  110317. *
  110318. * The default value changed from `false` to `true` with Highcharts 3.0.
  110319. */
  110320. ignoreHiddenPoint?: boolean;
  110321. /**
  110322. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  110323. * the graph.
  110324. */
  110325. linecap?: SeriesLinecapValue;
  110326. /**
  110327. * (Highcharts, Highstock) Pixel width of the graph line.
  110328. */
  110329. lineWidth?: number;
  110330. /**
  110331. * (Highcharts) Options for the point markers of line-like series.
  110332. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  110333. * visual appearance of the markers. Other series types, like column series,
  110334. * don't have markers, but have visual options on the series level instead.
  110335. *
  110336. * In styled mode, the markers can be styled with the `.highcharts-point`,
  110337. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  110338. */
  110339. marker?: PointMarkerOptionsObject;
  110340. /**
  110341. * (Highcharts) The minimum size for a pie in response to auto margins. The
  110342. * pie will try to shrink to make room for data labels in side the plot
  110343. * area, but only to this size.
  110344. */
  110345. minSize?: (number|string);
  110346. /**
  110347. * (Highcharts) If a point is sliced, moved out from the center, how many
  110348. * pixels should it be moved?.
  110349. */
  110350. slicedOffset?: number;
  110351. /**
  110352. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  110353. * and 90 right.
  110354. */
  110355. startAngle?: number;
  110356. /**
  110357. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  110358. * values are `left`, `center` and `right`.
  110359. */
  110360. step?: OptionsStepValue;
  110361. /**
  110362. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110363. * TypeScript non-optional and might be `undefined` in series objects from
  110364. * unknown sources.
  110365. */
  110366. type: "funnel3d";
  110367. /**
  110368. * (Highstock) The parameter allows setting line series type and use OHLC
  110369. * indicators. Data in OHLC format is required.
  110370. */
  110371. useOhlcData?: boolean;
  110372. }
  110373. /**
  110374. * (Highcharts) Enable or disable the initial animation when a series is
  110375. * displayed for the `dataLabels`. The animation can also be set as a
  110376. * configuration object. Please note that this option only applies to the
  110377. * initial animation. For other animations, see chart.animation and the
  110378. * animation parameter under the API methods. The following properties are
  110379. * supported:
  110380. *
  110381. * - `defer`: The animation delay time in milliseconds.
  110382. */
  110383. export interface SeriesFunnelDataDataLabelsAnimationOptions {
  110384. /**
  110385. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  110386. * dataLabel immediately. As `undefined` inherits defer time from the
  110387. * series.animation.defer.
  110388. */
  110389. defer?: number;
  110390. }
  110391. /**
  110392. * (Highcharts) Style options for the guide box. The guide box has one state by
  110393. * default, the `default` state.
  110394. */
  110395. export interface SeriesFunnelDataDragDropGuideBoxOptions {
  110396. /**
  110397. * (Highcharts) Style options for the guide box default state.
  110398. */
  110399. default?: DragDropGuideBoxOptionsObject;
  110400. }
  110401. /**
  110402. * (Highcharts) A `funnel` series. If the type option is not specified, it is
  110403. * inherited from chart.type.
  110404. *
  110405. * In TypeScript the type option must always be set.
  110406. *
  110407. * Configuration options for the series are given in three levels:
  110408. *
  110409. * 1. Options for all series in a chart are defined in the plotOptions.series
  110410. * object.
  110411. *
  110412. * 2. Options for all `funnel` series are defined in plotOptions.funnel.
  110413. *
  110414. * 3. Options for one single series are given in the series instance array. (see
  110415. * online documentation for example)
  110416. *
  110417. * You have to extend the `SeriesFunnelOptions` via an interface to allow custom
  110418. * properties: ``` declare interface SeriesFunnelOptions { customProperty:
  110419. * string; }
  110420. *
  110421. */
  110422. export interface SeriesFunnelOptions extends PlotFunnelOptions, SeriesOptions {
  110423. /**
  110424. * (Highcharts) An array of data points for the series. For the `funnel`
  110425. * series type, points can be given in the following ways:
  110426. *
  110427. * 1. An array of numerical values. In this case, the numerical values will
  110428. * be interpreted as `y` options. Example: (see online documentation for
  110429. * example)
  110430. *
  110431. * 2. An array of objects with named values. The following snippet shows
  110432. * only a few settings, see the complete options set below. If the total
  110433. * number of data points exceeds the series' turboThreshold, this option is
  110434. * not available. (see online documentation for example)
  110435. */
  110436. data?: Array<(number|null|PointOptionsObject)>;
  110437. /**
  110438. * Not available
  110439. */
  110440. dataParser?: undefined;
  110441. /**
  110442. * Not available
  110443. */
  110444. dataURL?: undefined;
  110445. /**
  110446. * Not available
  110447. */
  110448. stack?: undefined;
  110449. /**
  110450. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110451. * TypeScript non-optional and might be `undefined` in series objects from
  110452. * unknown sources.
  110453. */
  110454. type: "funnel";
  110455. /**
  110456. * Not available
  110457. */
  110458. xAxis?: undefined;
  110459. /**
  110460. * Not available
  110461. */
  110462. yAxis?: undefined;
  110463. }
  110464. /**
  110465. * (Gantt) Style options for the guide box. The guide box has one state by
  110466. * default, the `default` state.
  110467. */
  110468. export interface SeriesGanttDataDragDropGuideBoxOptions {
  110469. /**
  110470. * (Gantt) Style options for the guide box default state.
  110471. */
  110472. default?: DragDropGuideBoxOptionsObject;
  110473. }
  110474. /**
  110475. * (Gantt) A `gantt` series.
  110476. *
  110477. * In TypeScript the type option must always be set.
  110478. *
  110479. * Configuration options for the series are given in three levels:
  110480. *
  110481. * 1. Options for all series in a chart are defined in the plotOptions.series
  110482. * object.
  110483. *
  110484. * 2. Options for all `gantt` series are defined in plotOptions.gantt.
  110485. *
  110486. * 3. Options for one single series are given in the series instance array. (see
  110487. * online documentation for example)
  110488. *
  110489. * You have to extend the `SeriesGanttOptions` via an interface to allow custom
  110490. * properties: ``` declare interface SeriesGanttOptions { customProperty:
  110491. * string; }
  110492. *
  110493. */
  110494. export interface SeriesGanttOptions extends PlotGanttOptions, SeriesOptions {
  110495. /**
  110496. * (Gantt) Data for a Gantt series.
  110497. */
  110498. data?: Array<GanttPointOptionsObject>;
  110499. /**
  110500. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110501. * TypeScript non-optional and might be `undefined` in series objects from
  110502. * unknown sources.
  110503. */
  110504. type: "gantt";
  110505. }
  110506. /**
  110507. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110508. * series is displayed for the `dataLabels`. The animation can also be set as a
  110509. * configuration object. Please note that this option only applies to the
  110510. * initial animation. For other animations, see chart.animation and the
  110511. * animation parameter under the API methods. The following properties are
  110512. * supported:
  110513. *
  110514. * - `defer`: The animation delay time in milliseconds.
  110515. */
  110516. export interface SeriesGaugeDataDataLabelsAnimationOptions {
  110517. /**
  110518. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110519. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110520. * time from the series.animation.defer.
  110521. */
  110522. defer?: number;
  110523. }
  110524. /**
  110525. * (Highcharts) Style options for the guide box. The guide box has one state by
  110526. * default, the `default` state.
  110527. */
  110528. export interface SeriesGaugeDataDragDropGuideBoxOptions {
  110529. /**
  110530. * (Highcharts) Style options for the guide box default state.
  110531. */
  110532. default?: DragDropGuideBoxOptionsObject;
  110533. }
  110534. /**
  110535. * (Highcharts) A `gauge` series. If the type option is not specified, it is
  110536. * inherited from chart.type.
  110537. *
  110538. * In TypeScript the type option must always be set.
  110539. *
  110540. * Configuration options for the series are given in three levels:
  110541. *
  110542. * 1. Options for all series in a chart are defined in the plotOptions.series
  110543. * object.
  110544. *
  110545. * 2. Options for all `gauge` series are defined in plotOptions.gauge.
  110546. *
  110547. * 3. Options for one single series are given in the series instance array. (see
  110548. * online documentation for example)
  110549. *
  110550. * You have to extend the `SeriesGaugeOptions` via an interface to allow custom
  110551. * properties: ``` declare interface SeriesGaugeOptions { customProperty:
  110552. * string; }
  110553. *
  110554. */
  110555. export interface SeriesGaugeOptions extends PlotGaugeOptions, SeriesOptions {
  110556. /**
  110557. * (Highcharts) An array of data points for the series. For the `gauge`
  110558. * series type, points can be given in the following ways:
  110559. *
  110560. * 1. An array of numerical values. In this case, the numerical values will
  110561. * be interpreted as `y` options. Example: (see online documentation for
  110562. * example)
  110563. *
  110564. * 2. An array of objects with named values. The following snippet shows
  110565. * only a few settings, see the complete options set below. If the total
  110566. * number of data points exceeds the series' turboThreshold, this option is
  110567. * not available. (see online documentation for example)
  110568. *
  110569. * The typical gauge only contains a single data value.
  110570. */
  110571. data?: Array<(number|null|PointOptionsObject)>;
  110572. /**
  110573. * Not available
  110574. */
  110575. dataParser?: undefined;
  110576. /**
  110577. * Not available
  110578. */
  110579. dataURL?: undefined;
  110580. /**
  110581. * Not available
  110582. */
  110583. stack?: undefined;
  110584. /**
  110585. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110586. * TypeScript non-optional and might be `undefined` in series objects from
  110587. * unknown sources.
  110588. */
  110589. type: "gauge";
  110590. }
  110591. /**
  110592. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  110593. * series is displayed for the `dataLabels`. The animation can also be set as a
  110594. * configuration object. Please note that this option only applies to the
  110595. * initial animation. For other animations, see chart.animation and the
  110596. * animation parameter under the API methods. The following properties are
  110597. * supported:
  110598. *
  110599. * - `defer`: The animation delay time in milliseconds.
  110600. */
  110601. export interface SeriesHeatmapDataDataLabelsAnimationOptions {
  110602. /**
  110603. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  110604. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  110605. * time from the series.animation.defer.
  110606. */
  110607. defer?: number;
  110608. }
  110609. /**
  110610. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  110611. * state by default, the `default` state.
  110612. */
  110613. export interface SeriesHeatmapDataDragDropGuideBoxOptions {
  110614. /**
  110615. * (Highcharts, Highmaps) Style options for the guide box default state.
  110616. */
  110617. default?: DragDropGuideBoxOptionsObject;
  110618. }
  110619. /**
  110620. * (Highcharts, Highmaps) A `heatmap` series. If the type option is not
  110621. * specified, it is inherited from chart.type.
  110622. *
  110623. * In TypeScript the type option must always be set.
  110624. *
  110625. * Configuration options for the series are given in three levels:
  110626. *
  110627. * 1. Options for all series in a chart are defined in the plotOptions.series
  110628. * object.
  110629. *
  110630. * 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
  110631. *
  110632. * 3. Options for one single series are given in the series instance array. (see
  110633. * online documentation for example)
  110634. *
  110635. * You have to extend the `SeriesHeatmapOptions` via an interface to allow
  110636. * custom properties: ``` declare interface SeriesHeatmapOptions {
  110637. * customProperty: string; }
  110638. *
  110639. */
  110640. export interface SeriesHeatmapOptions extends PlotHeatmapOptions, SeriesOptions {
  110641. /**
  110642. * (Highcharts, Highmaps) An array of data points for the series. For the
  110643. * `heatmap` series type, points can be given in the following ways:
  110644. *
  110645. * 1. An array of arrays with 3 or 2 values. In this case, the values
  110646. * correspond to `x,y,value`. If the first value is a string, it is applied
  110647. * as the name of the point, and the `x` value is inferred. The `x` value
  110648. * can also be omitted, in which case the inner arrays should be of length
  110649. * 2\. Then the `x` value is automatically calculated, either starting at 0
  110650. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  110651. * the series options. (see online documentation for example)
  110652. *
  110653. * 2. An array of objects with named values. The following snippet shows
  110654. * only a few settings, see the complete options set below. If the total
  110655. * number of data points exceeds the series' turboThreshold, this option is
  110656. * not available. (see online documentation for example)
  110657. */
  110658. data?: Array<(Array<number>|PointOptionsObject)>;
  110659. /**
  110660. * Not available
  110661. */
  110662. dataParser?: undefined;
  110663. /**
  110664. * Not available
  110665. */
  110666. dataURL?: undefined;
  110667. /**
  110668. * Not available
  110669. */
  110670. stack?: undefined;
  110671. /**
  110672. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110673. * TypeScript non-optional and might be `undefined` in series objects from
  110674. * unknown sources.
  110675. */
  110676. type: "heatmap";
  110677. }
  110678. /**
  110679. * (Highcharts) A `histogram` series. If the type option is not specified, it is
  110680. * inherited from chart.type.
  110681. *
  110682. * In TypeScript the type option must always be set.
  110683. *
  110684. * Configuration options for the series are given in three levels:
  110685. *
  110686. * 1. Options for all series in a chart are defined in the plotOptions.series
  110687. * object.
  110688. *
  110689. * 2. Options for all `histogram` series are defined in plotOptions.histogram.
  110690. *
  110691. * 3. Options for one single series are given in the series instance array. (see
  110692. * online documentation for example)
  110693. *
  110694. * You have to extend the `SeriesHistogramOptions` via an interface to allow
  110695. * custom properties: ``` declare interface SeriesHistogramOptions {
  110696. * customProperty: string; }
  110697. *
  110698. */
  110699. export interface SeriesHistogramOptions extends PlotHistogramOptions, SeriesOptions {
  110700. /**
  110701. * (Highcharts) An integer identifying the index to use for the base series,
  110702. * or a string representing the id of the series.
  110703. */
  110704. baseSeries?: (number|string);
  110705. /**
  110706. * Not available
  110707. */
  110708. data?: undefined;
  110709. /**
  110710. * Not available
  110711. */
  110712. dataParser?: undefined;
  110713. /**
  110714. * Not available
  110715. */
  110716. dataURL?: undefined;
  110717. /**
  110718. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110719. * TypeScript non-optional and might be `undefined` in series objects from
  110720. * unknown sources.
  110721. */
  110722. type: "histogram";
  110723. }
  110724. /**
  110725. * (Highstock) A `IKH` series. If the type option is not specified, it is
  110726. * inherited from chart.type.
  110727. *
  110728. * In TypeScript the type option must always be set.
  110729. *
  110730. * Configuration options for the series are given in three levels:
  110731. *
  110732. * 1. Options for all series in a chart are defined in the plotOptions.series
  110733. * object.
  110734. *
  110735. * 2. Options for all `ikh` series are defined in plotOptions.ikh.
  110736. *
  110737. * 3. Options for one single series are given in the series instance array. (see
  110738. * online documentation for example)
  110739. *
  110740. * You have to extend the `SeriesIkhOptions` via an interface to allow custom
  110741. * properties: ``` declare interface SeriesIkhOptions { customProperty: string;
  110742. * }
  110743. *
  110744. */
  110745. export interface SeriesIkhOptions extends PlotIkhOptions, SeriesOptions {
  110746. /**
  110747. * Not available
  110748. */
  110749. dataParser?: undefined;
  110750. /**
  110751. * Not available
  110752. */
  110753. dataURL?: undefined;
  110754. /**
  110755. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110756. * TypeScript non-optional and might be `undefined` in series objects from
  110757. * unknown sources.
  110758. */
  110759. type: "ikh";
  110760. }
  110761. /**
  110762. * (Highcharts) Enable or disable the initial animation when a series is
  110763. * displayed for the `dataLabels`. The animation can also be set as a
  110764. * configuration object. Please note that this option only applies to the
  110765. * initial animation. For other animations, see chart.animation and the
  110766. * animation parameter under the API methods. The following properties are
  110767. * supported:
  110768. *
  110769. * - `defer`: The animation delay time in milliseconds.
  110770. */
  110771. export interface SeriesItemDataDataLabelsAnimationOptions {
  110772. /**
  110773. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  110774. * dataLabel immediately. As `undefined` inherits defer time from the
  110775. * series.animation.defer.
  110776. */
  110777. defer?: number;
  110778. }
  110779. /**
  110780. * (Highcharts) Style options for the guide box. The guide box has one state by
  110781. * default, the `default` state.
  110782. */
  110783. export interface SeriesItemDataDragDropGuideBoxOptions {
  110784. /**
  110785. * (Highcharts) Style options for the guide box default state.
  110786. */
  110787. default?: DragDropGuideBoxOptionsObject;
  110788. }
  110789. /**
  110790. * (Highcharts) An `item` series. If the type option is not specified, it is
  110791. * inherited from chart.type.
  110792. *
  110793. * In TypeScript the type option must always be set.
  110794. *
  110795. * Configuration options for the series are given in three levels:
  110796. *
  110797. * 1. Options for all series in a chart are defined in the plotOptions.series
  110798. * object.
  110799. *
  110800. * 2. Options for all `item` series are defined in plotOptions.item.
  110801. *
  110802. * 3. Options for one single series are given in the series instance array. (see
  110803. * online documentation for example)
  110804. *
  110805. * You have to extend the `SeriesItemOptions` via an interface to allow custom
  110806. * properties: ``` declare interface SeriesItemOptions { customProperty: string;
  110807. * }
  110808. *
  110809. */
  110810. export interface SeriesItemOptions extends PlotItemOptions, SeriesOptions {
  110811. /**
  110812. * (Highcharts) An array of data points for the series. For the `item`
  110813. * series type, points can be given in the following ways:
  110814. *
  110815. * 1. An array of numerical values. In this case, the numerical values will
  110816. * be interpreted as `y` options. Example: (see online documentation for
  110817. * example)
  110818. *
  110819. * 2. An array of objects with named values. The following snippet shows
  110820. * only a few settings, see the complete options set below. If the total
  110821. * number of data points exceeds the series' turboThreshold, this option is
  110822. * not available. (see online documentation for example)
  110823. */
  110824. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  110825. /**
  110826. * Not available
  110827. */
  110828. dataParser?: undefined;
  110829. /**
  110830. * Not available
  110831. */
  110832. dataURL?: undefined;
  110833. /**
  110834. * Not available
  110835. */
  110836. stack?: undefined;
  110837. /**
  110838. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110839. * TypeScript non-optional and might be `undefined` in series objects from
  110840. * unknown sources.
  110841. */
  110842. type: "item";
  110843. /**
  110844. * Not available
  110845. */
  110846. xAxis?: undefined;
  110847. /**
  110848. * Not available
  110849. */
  110850. yAxis?: undefined;
  110851. }
  110852. /**
  110853. * (Highstock) A Keltner Channels indicator. If the type option is not
  110854. * specified, it is inherited fromchart.type.
  110855. *
  110856. * In TypeScript the type option must always be set.
  110857. *
  110858. * Configuration options for the series are given in three levels:
  110859. *
  110860. * 1. Options for all series in a chart are defined in the plotOptions.series
  110861. * object.
  110862. *
  110863. * 2. Options for all `keltnerchannels` series are defined in
  110864. * plotOptions.keltnerchannels.
  110865. *
  110866. * 3. Options for one single series are given in the series instance array. (see
  110867. * online documentation for example)
  110868. *
  110869. * You have to extend the `SeriesKeltnerchannelsOptions` via an interface to
  110870. * allow custom properties: ``` declare interface SeriesKeltnerchannelsOptions {
  110871. * customProperty: string; }
  110872. *
  110873. */
  110874. export interface SeriesKeltnerchannelsOptions extends PlotKeltnerchannelsOptions, SeriesOptions {
  110875. /**
  110876. * Not available
  110877. */
  110878. dataParser?: undefined;
  110879. /**
  110880. * Not available
  110881. */
  110882. dataURL?: undefined;
  110883. /**
  110884. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110885. * TypeScript non-optional and might be `undefined` in series objects from
  110886. * unknown sources.
  110887. */
  110888. type: "keltnerchannels";
  110889. }
  110890. /**
  110891. * (Highstock) A Klinger oscillator. If the type option is not specified, it is
  110892. * inherited from chart.type.
  110893. *
  110894. * In TypeScript the type option must always be set.
  110895. *
  110896. * Configuration options for the series are given in three levels:
  110897. *
  110898. * 1. Options for all series in a chart are defined in the plotOptions.series
  110899. * object.
  110900. *
  110901. * 2. Options for all `klinger` series are defined in plotOptions.klinger.
  110902. *
  110903. * 3. Options for one single series are given in the series instance array. (see
  110904. * online documentation for example)
  110905. *
  110906. * You have to extend the `SeriesKlingerOptions` via an interface to allow
  110907. * custom properties: ``` declare interface SeriesKlingerOptions {
  110908. * customProperty: string; }
  110909. *
  110910. */
  110911. export interface SeriesKlingerOptions extends PlotKlingerOptions, SeriesOptions {
  110912. /**
  110913. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  110914. * TypeScript non-optional and might be `undefined` in series objects from
  110915. * unknown sources.
  110916. */
  110917. type: "klinger";
  110918. /**
  110919. * Not available
  110920. */
  110921. useOhlcData?: undefined;
  110922. }
  110923. /**
  110924. * (Highcharts, Highstock, Gantt) Series labels are placed as close to the
  110925. * series as possible in a natural way, seeking to avoid other series. The goal
  110926. * of this feature is to make the chart more easily readable, like if a human
  110927. * designer placed the labels in the optimal position.
  110928. *
  110929. * The series labels currently work with series types having a `graph` or an
  110930. * `area`.
  110931. */
  110932. export interface SeriesLabelOptionsObject {
  110933. /**
  110934. * (Highcharts, Highstock, Gantt) An array of boxes to avoid when laying out
  110935. * the labels. Each item has a `left`, `right`, `top` and `bottom` property.
  110936. */
  110937. boxesToAvoid?: Array<LabelIntersectBoxObject>;
  110938. /**
  110939. * (Highcharts, Highstock, Gantt) Allow labels to be placed distant to the
  110940. * graph if necessary, and draw a connector line to the graph. Setting this
  110941. * option to true may decrease the performance significantly, since the
  110942. * algorithm with systematically search for open spaces in the whole plot
  110943. * area. Visually, it may also result in a more cluttered chart, though more
  110944. * of the series will be labeled.
  110945. */
  110946. connectorAllowed?: boolean;
  110947. /**
  110948. * (Highcharts, Highstock, Gantt) If the label is closer than this to a
  110949. * neighbour graph, draw a connector.
  110950. */
  110951. connectorNeighbourDistance?: number;
  110952. /**
  110953. * (Highcharts, Highstock, Gantt) Enable the series label per series.
  110954. */
  110955. enabled?: boolean;
  110956. /**
  110957. * (Highcharts, Highstock, Gantt) A format string for the label, with
  110958. * support for a subset of HTML. Variables are enclosed by curly brackets.
  110959. * Available variables are `name`, `options.xxx`, `color` and other members
  110960. * from the `series` object. Use this option also to set a static text for
  110961. * the label.
  110962. */
  110963. format?: string;
  110964. /**
  110965. * (Highcharts, Highstock, Gantt) Callback function to format each of the
  110966. * series' labels. The `this` keyword refers to the series object. By
  110967. * default the `formatter` is undefined and the `series.name` is rendered.
  110968. */
  110969. formatter?: FormatterCallbackFunction<Series>;
  110970. /**
  110971. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  110972. * to vary so that small areas get a smaller font size. The default applies
  110973. * this effect to area-like series but not line-like series.
  110974. */
  110975. maxFontSize?: (number|null);
  110976. /**
  110977. * (Highcharts, Highstock, Gantt) For area-like series, allow the font size
  110978. * to vary so that small areas get a smaller font size. The default applies
  110979. * this effect to area-like series but not line-like series.
  110980. */
  110981. minFontSize?: (number|null);
  110982. /**
  110983. * (Highcharts, Highstock, Gantt) Draw the label on the area of an area
  110984. * series. By default it is drawn on the area. Set it to `false` to draw it
  110985. * next to the graph instead.
  110986. */
  110987. onArea?: (boolean|null);
  110988. /**
  110989. * (Highcharts, Highstock, Gantt) Styles for the series label. The color
  110990. * defaults to the series color, or a contrast color if `onArea`.
  110991. */
  110992. style?: CSSObject;
  110993. }
  110994. /**
  110995. * (Highstock) A label on the axis next to the crosshair.
  110996. *
  110997. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  110998. * class.
  110999. */
  111000. export interface SeriesLastPriceLabelOptionsObject {
  111001. /**
  111002. * (Highstock) Alignment of the label compared to the axis. Defaults to
  111003. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  111004. * for horizontal axes.
  111005. */
  111006. align?: AlignValue;
  111007. /**
  111008. * (Highstock) The background color for the label. Defaults to the related
  111009. * series color, or `#666666` if that is not available.
  111010. */
  111011. backgroundColor?: ColorType;
  111012. /**
  111013. * (Highstock) The border color of `lastPrice` label.
  111014. */
  111015. borderColor?: ColorType;
  111016. /**
  111017. * (Highstock) The border radius of `lastPrice` label.
  111018. */
  111019. borderRadius?: number;
  111020. /**
  111021. * (Highstock) The border width for the `lastPrice` label.
  111022. */
  111023. borderWidth?: number;
  111024. /**
  111025. * (Highstock) Flag to enable `lastPrice` label.
  111026. */
  111027. enabled?: boolean;
  111028. /**
  111029. * (Highstock) A format string for the `lastPrice` label. Defaults to
  111030. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  111031. */
  111032. format?: string;
  111033. /**
  111034. * (Highstock) Formatter function for the label text.
  111035. */
  111036. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  111037. /**
  111038. * (Highstock) Padding inside the `lastPrice` label.
  111039. */
  111040. padding?: number;
  111041. /**
  111042. * (Highstock) The shape to use for the label box.
  111043. */
  111044. shape?: string;
  111045. /**
  111046. * (Highstock) Text styles for the `lastPrice` label.
  111047. */
  111048. style?: CSSObject;
  111049. }
  111050. /**
  111051. * (Highstock) The line marks the last price from all points.
  111052. */
  111053. export interface SeriesLastPriceOptionsObject {
  111054. /**
  111055. * (Highstock) The color of the line of last price. By default, the line has
  111056. * the same color as the series.
  111057. */
  111058. color?: string;
  111059. /**
  111060. * (Highstock) Enable or disable the indicator.
  111061. */
  111062. enabled?: boolean;
  111063. /**
  111064. * (Highstock) A label on the axis next to the crosshair.
  111065. *
  111066. * In styled mode, the label is styled with the
  111067. * `.highcharts-crosshair-label` class.
  111068. */
  111069. label?: SeriesLastPriceLabelOptionsObject;
  111070. }
  111071. /**
  111072. * (Highstock) A label on the axis next to the crosshair.
  111073. *
  111074. * In styled mode, the label is styled with the `.highcharts-crosshair-label`
  111075. * class.
  111076. */
  111077. export interface SeriesLastVisiblePriceLabelOptionsObject {
  111078. /**
  111079. * (Highstock) Alignment of the label compared to the axis. Defaults to
  111080. * `"left"` for right-side axes, `"right"` for left-side axes and `"center"`
  111081. * for horizontal axes.
  111082. */
  111083. align?: AlignValue;
  111084. /**
  111085. * (Highstock) The background color for the label. Defaults to the related
  111086. * series color, or `#666666` if that is not available.
  111087. */
  111088. backgroundColor?: ColorType;
  111089. /**
  111090. * (Highstock) The border color for the `lastVisiblePrice` label.
  111091. */
  111092. borderColor?: ColorType;
  111093. /**
  111094. * (Highstock) The border corner radius of the `lastVisiblePrice` label.
  111095. */
  111096. borderRadius?: number;
  111097. /**
  111098. * (Highstock) The border width for the `lastVisiblePrice` label.
  111099. */
  111100. borderWidth?: number;
  111101. /**
  111102. * (Highstock) Flag to enable `lastVisiblePrice` label.
  111103. */
  111104. enabled?: boolean;
  111105. /**
  111106. * (Highstock) A format string for the `lastVisiblePrice` label. Defaults to
  111107. * `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
  111108. */
  111109. format?: string;
  111110. /**
  111111. * (Highstock) Formatter function for the label text.
  111112. */
  111113. formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
  111114. /**
  111115. * (Highstock) Padding inside the `lastVisiblePrice` label.
  111116. */
  111117. padding?: number;
  111118. /**
  111119. * (Highstock) The shape to use for the label box.
  111120. */
  111121. shape?: string;
  111122. /**
  111123. * (Highstock) Text styles for the `lastVisiblePrice` label.
  111124. */
  111125. style?: CSSObject;
  111126. }
  111127. /**
  111128. * (Highstock) The line marks the last price from visible range of points.
  111129. */
  111130. export interface SeriesLastVisiblePriceOptionsObject {
  111131. /**
  111132. * (Highstock) Enable or disable the indicator.
  111133. */
  111134. enabled?: boolean;
  111135. /**
  111136. * (Highstock) A label on the axis next to the crosshair.
  111137. *
  111138. * In styled mode, the label is styled with the
  111139. * `.highcharts-crosshair-label` class.
  111140. */
  111141. label?: SeriesLastVisiblePriceLabelOptionsObject;
  111142. }
  111143. /**
  111144. * Information about the legend click event.
  111145. */
  111146. export interface SeriesLegendItemClickEventObject {
  111147. /**
  111148. * Related browser event.
  111149. */
  111150. browserEvent: PointerEvent;
  111151. /**
  111152. * Prevent the default action of toggle the visibility of the series.
  111153. */
  111154. preventDefault: Function;
  111155. /**
  111156. * Related series.
  111157. */
  111158. target: Series;
  111159. /**
  111160. * Event type.
  111161. */
  111162. type: "legendItemClick";
  111163. }
  111164. /**
  111165. * (Highstock) A linear regression intercept series. If the type option is not
  111166. * specified, it is inherited from chart.type.
  111167. *
  111168. * In TypeScript the type option must always be set.
  111169. *
  111170. * Configuration options for the series are given in three levels:
  111171. *
  111172. * 1. Options for all series in a chart are defined in the plotOptions.series
  111173. * object.
  111174. *
  111175. * 2. Options for all `linearregressionangle` series are defined in
  111176. * plotOptions.linearregressionangle.
  111177. *
  111178. * 3. Options for one single series are given in the series instance array. (see
  111179. * online documentation for example)
  111180. *
  111181. * You have to extend the `SeriesLinearregressionangleOptions` via an interface
  111182. * to allow custom properties: ``` declare interface
  111183. * SeriesLinearregressionangleOptions { customProperty: string; }
  111184. *
  111185. */
  111186. export interface SeriesLinearregressionangleOptions extends PlotLinearregressionangleOptions, SeriesOptions {
  111187. /**
  111188. * Not available
  111189. */
  111190. dataParser?: undefined;
  111191. /**
  111192. * Not available
  111193. */
  111194. dataURL?: undefined;
  111195. /**
  111196. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111197. * TypeScript non-optional and might be `undefined` in series objects from
  111198. * unknown sources.
  111199. */
  111200. type: "linearregressionangle";
  111201. }
  111202. /**
  111203. * (Highstock) A linear regression intercept series. If the type option is not
  111204. * specified, it is inherited from chart.type.
  111205. *
  111206. * In TypeScript the type option must always be set.
  111207. *
  111208. * Configuration options for the series are given in three levels:
  111209. *
  111210. * 1. Options for all series in a chart are defined in the plotOptions.series
  111211. * object.
  111212. *
  111213. * 2. Options for all `linearregressionintercept` series are defined in
  111214. * plotOptions.linearregressionintercept.
  111215. *
  111216. * 3. Options for one single series are given in the series instance array. (see
  111217. * online documentation for example)
  111218. *
  111219. * You have to extend the `SeriesLinearregressioninterceptOptions` via an
  111220. * interface to allow custom properties: ``` declare interface
  111221. * SeriesLinearregressioninterceptOptions { customProperty: string; }
  111222. *
  111223. */
  111224. export interface SeriesLinearregressioninterceptOptions extends PlotLinearregressioninterceptOptions, SeriesOptions {
  111225. /**
  111226. * Not available
  111227. */
  111228. dataParser?: undefined;
  111229. /**
  111230. * Not available
  111231. */
  111232. dataURL?: undefined;
  111233. /**
  111234. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111235. * TypeScript non-optional and might be `undefined` in series objects from
  111236. * unknown sources.
  111237. */
  111238. type: "linearregressionintercept";
  111239. }
  111240. /**
  111241. * (Highstock) A linear regression series. If the type option is not specified,
  111242. * it is inherited from chart.type.
  111243. *
  111244. * In TypeScript the type option must always be set.
  111245. *
  111246. * Configuration options for the series are given in three levels:
  111247. *
  111248. * 1. Options for all series in a chart are defined in the plotOptions.series
  111249. * object.
  111250. *
  111251. * 2. Options for all `linearregression` series are defined in
  111252. * plotOptions.linearregression.
  111253. *
  111254. * 3. Options for one single series are given in the series instance array. (see
  111255. * online documentation for example)
  111256. *
  111257. * You have to extend the `SeriesLinearregressionOptions` via an interface to
  111258. * allow custom properties: ``` declare interface SeriesLinearregressionOptions
  111259. * { customProperty: string; }
  111260. *
  111261. */
  111262. export interface SeriesLinearregressionOptions extends PlotLinearregressionOptions, SeriesOptions {
  111263. /**
  111264. * Not available
  111265. */
  111266. dataParser?: undefined;
  111267. /**
  111268. * Not available
  111269. */
  111270. dataURL?: undefined;
  111271. /**
  111272. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111273. * TypeScript non-optional and might be `undefined` in series objects from
  111274. * unknown sources.
  111275. */
  111276. type: "linearregression";
  111277. }
  111278. /**
  111279. * (Highstock) A linear regression intercept series. If the type option is not
  111280. * specified, it is inherited from chart.type.
  111281. *
  111282. * In TypeScript the type option must always be set.
  111283. *
  111284. * Configuration options for the series are given in three levels:
  111285. *
  111286. * 1. Options for all series in a chart are defined in the plotOptions.series
  111287. * object.
  111288. *
  111289. * 2. Options for all `linearregressionslope` series are defined in
  111290. * plotOptions.linearregressionslope.
  111291. *
  111292. * 3. Options for one single series are given in the series instance array. (see
  111293. * online documentation for example)
  111294. *
  111295. * You have to extend the `SeriesLinearregressionslopeOptions` via an interface
  111296. * to allow custom properties: ``` declare interface
  111297. * SeriesLinearregressionslopeOptions { customProperty: string; }
  111298. *
  111299. */
  111300. export interface SeriesLinearregressionslopeOptions extends PlotLinearregressionslopeOptions, SeriesOptions {
  111301. /**
  111302. * Not available
  111303. */
  111304. dataParser?: undefined;
  111305. /**
  111306. * Not available
  111307. */
  111308. dataURL?: undefined;
  111309. /**
  111310. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111311. * TypeScript non-optional and might be `undefined` in series objects from
  111312. * unknown sources.
  111313. */
  111314. type: "linearregressionslope";
  111315. }
  111316. /**
  111317. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  111318. * series is displayed for the `dataLabels`. The animation can also be set as a
  111319. * configuration object. Please note that this option only applies to the
  111320. * initial animation. For other animations, see chart.animation and the
  111321. * animation parameter under the API methods. The following properties are
  111322. * supported:
  111323. *
  111324. * - `defer`: The animation delay time in milliseconds.
  111325. */
  111326. export interface SeriesLineDataDataLabelsAnimationOptions {
  111327. /**
  111328. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  111329. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  111330. * time from the series.animation.defer.
  111331. */
  111332. defer?: number;
  111333. }
  111334. /**
  111335. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  111336. * one state by default, the `default` state.
  111337. */
  111338. export interface SeriesLineDataDragDropGuideBoxOptions {
  111339. /**
  111340. * (Highcharts, Highstock) Style options for the guide box default state.
  111341. */
  111342. default?: DragDropGuideBoxOptionsObject;
  111343. }
  111344. /**
  111345. * (Highcharts, Highstock, Gantt) Point specific options for the
  111346. * draggable-points module. Overrides options on `series.dragDrop`.
  111347. */
  111348. export interface SeriesLineDataDragDropOptions {
  111349. /**
  111350. * (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
  111351. */
  111352. draggableX?: boolean;
  111353. /**
  111354. * (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
  111355. * that this is not supported for TreeGrid axes (the default axis type in
  111356. * Gantt charts).
  111357. */
  111358. draggableY?: boolean;
  111359. /**
  111360. * (Highcharts, Highstock, Gantt) Options for the drag handles.
  111361. */
  111362. dragHandle?: DragDropHandleOptionsObject;
  111363. /**
  111364. * (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
  111365. * moved to.
  111366. */
  111367. dragMaxX?: number;
  111368. /**
  111369. * (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
  111370. * moved to.
  111371. */
  111372. dragMaxY?: number;
  111373. /**
  111374. * (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
  111375. * moved to.
  111376. */
  111377. dragMinX?: number;
  111378. /**
  111379. * (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
  111380. * moved to.
  111381. */
  111382. dragMinY?: number;
  111383. /**
  111384. * (Highcharts, Highstock, Gantt) The X precision value to drag to for this
  111385. * series. Set to 0 to disable. By default this is disabled, except for
  111386. * category axes, where the default is 1.
  111387. */
  111388. dragPrecisionX?: number;
  111389. /**
  111390. * (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
  111391. * series. Set to 0 to disable. By default this is disabled, except for
  111392. * category axes, where the default is 1.
  111393. */
  111394. dragPrecisionY?: number;
  111395. /**
  111396. * (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
  111397. * before it counts as a drag operation. This prevents drag/drop to fire
  111398. * when just clicking or selecting points.
  111399. */
  111400. dragSensitivity?: number;
  111401. /**
  111402. * (Highcharts, Highstock, Gantt) Group the points by a property. Points
  111403. * with the same property value will be grouped together when moving.
  111404. */
  111405. groupBy?: string;
  111406. /**
  111407. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
  111408. * box has one state by default, the `default` state.
  111409. */
  111410. guideBox?: (SeriesAreaDataDragDropGuideBoxOptions|SeriesArearangeDataDragDropGuideBoxOptions|SeriesAreasplineDataDragDropGuideBoxOptions|SeriesAreasplinerangeDataDragDropGuideBoxOptions|
  111411. SeriesBarDataDragDropGuideBoxOptions|SeriesBoxplotDataDragDropGuideBoxOptions|SeriesBubbleDataDragDropGuideBoxOptions|SeriesBulletDataDragDropGuideBoxOptions|
  111412. SeriesCandlestickDataDragDropGuideBoxOptions|SeriesColumnDataDragDropGuideBoxOptions|SeriesColumnpyramidDataDragDropGuideBoxOptions|SeriesColumnrangeDataDragDropGuideBoxOptions|
  111413. SeriesCylinderDataDragDropGuideBoxOptions|SeriesDumbbellDataDragDropGuideBoxOptions|SeriesErrorbarDataDragDropGuideBoxOptions|SeriesFlagsDataDragDropGuideBoxOptions|
  111414. SeriesFunnelDataDragDropGuideBoxOptions|SeriesGanttDataDragDropGuideBoxOptions|SeriesGaugeDataDragDropGuideBoxOptions|SeriesHeatmapDataDragDropGuideBoxOptions|SeriesItemDataDragDropGuideBoxOptions|
  111415. SeriesLineDataDragDropGuideBoxOptions|SeriesLollipopDataDragDropGuideBoxOptions|SeriesNetworkgraphDataDragDropGuideBoxOptions|SeriesOhlcDataDragDropGuideBoxOptions|
  111416. SeriesPackedbubbleDataDragDropGuideBoxOptions|SeriesParetoDataDragDropGuideBoxOptions|SeriesPieDataDragDropGuideBoxOptions|SeriesPolygonDataDragDropGuideBoxOptions|
  111417. SeriesPyramidDataDragDropGuideBoxOptions|SeriesScatter3dDataDragDropGuideBoxOptions|SeriesScatterDataDragDropGuideBoxOptions|SeriesSolidgaugeDataDragDropGuideBoxOptions|
  111418. SeriesSplineDataDragDropGuideBoxOptions|SeriesStreamgraphDataDragDropGuideBoxOptions|SeriesSunburstDataDragDropGuideBoxOptions|SeriesTilemapDataDragDropGuideBoxOptions|
  111419. SeriesTimelineDataDragDropGuideBoxOptions|SeriesTreemapDataDragDropGuideBoxOptions|SeriesVariablepieDataDragDropGuideBoxOptions|SeriesVariwideDataDragDropGuideBoxOptions|
  111420. SeriesVectorDataDragDropGuideBoxOptions|SeriesVennDataDragDropGuideBoxOptions|SeriesWaterfallDataDragDropGuideBoxOptions|SeriesWindbarbDataDragDropGuideBoxOptions|
  111421. SeriesWordcloudDataDragDropGuideBoxOptions|SeriesXrangeDataDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
  111422. /**
  111423. * (Highcharts, Highstock, Gantt) Update points as they are dragged. If
  111424. * false, a guide box is drawn to illustrate the new point size.
  111425. */
  111426. liveRedraw?: boolean;
  111427. }
  111428. /**
  111429. * (Highcharts, Highstock) A `line` series. If the type option is not specified,
  111430. * it is inherited from chart.type.
  111431. *
  111432. * In TypeScript the type option must always be set.
  111433. *
  111434. * Configuration options for the series are given in three levels:
  111435. *
  111436. * 1. Options for all series in a chart are defined in the plotOptions.series
  111437. * object.
  111438. *
  111439. * 2. Options for all `line` series are defined in plotOptions.line.
  111440. *
  111441. * 3. Options for one single series are given in the series instance array. (see
  111442. * online documentation for example)
  111443. *
  111444. * You have to extend the `SeriesLineOptions` via an interface to allow custom
  111445. * properties: ``` declare interface SeriesLineOptions { customProperty: string;
  111446. * }
  111447. *
  111448. */
  111449. export interface SeriesLineOptions extends PlotLineOptions, SeriesOptions {
  111450. /**
  111451. * (Highcharts, Highstock) An array of data points for the series. For the
  111452. * `line` series type, points can be given in the following ways:
  111453. *
  111454. * 1. An array of numerical values. In this case, the numerical values will
  111455. * be interpreted as `y` options. The `x` values will be automatically
  111456. * calculated, either starting at 0 and incremented by 1, or from
  111457. * `pointStart` and `pointInterval` given in the series options. If the axis
  111458. * has categories, these will be used. Example: (see online documentation
  111459. * for example)
  111460. *
  111461. * 2. An array of arrays with 2 values. In this case, the values correspond
  111462. * to `x,y`. If the first value is a string, it is applied as the name of
  111463. * the point, and the `x` value is inferred. (see online documentation for
  111464. * example)
  111465. *
  111466. * 3. An array of objects with named values. The following snippet shows
  111467. * only a few settings, see the complete options set below. If the total
  111468. * number of data points exceeds the series' turboThreshold, this option is
  111469. * not available. (see online documentation for example)
  111470. *
  111471. * **Note:** In TypeScript you have to extend `PointOptionsObject` with an
  111472. * additional declaration to allow custom data types: ```ts declare module
  111473. * `highcharts` { interface PointOptionsObject { custom: Record<string,
  111474. * (boolean|number|string)>; } } ```
  111475. */
  111476. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  111477. /**
  111478. * Not available
  111479. */
  111480. dataParser?: undefined;
  111481. /**
  111482. * Not available
  111483. */
  111484. dataURL?: undefined;
  111485. /**
  111486. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111487. * TypeScript non-optional and might be `undefined` in series objects from
  111488. * unknown sources.
  111489. */
  111490. type: "line";
  111491. }
  111492. /**
  111493. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  111494. * is displayed for the `dataLabels`. The animation can also be set as a
  111495. * configuration object. Please note that this option only applies to the
  111496. * initial animation. For other animations, see chart.animation and the
  111497. * animation parameter under the API methods. The following properties are
  111498. * supported:
  111499. *
  111500. * - `defer`: The animation delay time in milliseconds.
  111501. */
  111502. export interface SeriesLollipopDataDataLabelsAnimationOptions {
  111503. /**
  111504. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  111505. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  111506. * from the series.animation.defer.
  111507. */
  111508. defer?: number;
  111509. }
  111510. /**
  111511. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  111512. * one state by default, the `default` state.
  111513. */
  111514. export interface SeriesLollipopDataDragDropGuideBoxOptions {
  111515. /**
  111516. * (Highcharts, Highstock) Style options for the guide box default state.
  111517. */
  111518. default?: DragDropGuideBoxOptionsObject;
  111519. }
  111520. /**
  111521. * (Highcharts, Highstock) The `lollipop` series. If the type option is not
  111522. * specified, it is inherited from chart.type.
  111523. *
  111524. * In TypeScript the type option must always be set.
  111525. *
  111526. * Configuration options for the series are given in three levels:
  111527. *
  111528. * 1. Options for all series in a chart are defined in the plotOptions.series
  111529. * object.
  111530. *
  111531. * 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
  111532. *
  111533. * 3. Options for one single series are given in the series instance array. (see
  111534. * online documentation for example)
  111535. *
  111536. * You have to extend the `SeriesLollipopOptions` via an interface to allow
  111537. * custom properties: ``` declare interface SeriesLollipopOptions {
  111538. * customProperty: string; }
  111539. *
  111540. */
  111541. export interface SeriesLollipopOptions extends PlotLollipopOptions, SeriesOptions {
  111542. /**
  111543. * (Highcharts, Highstock) An array of data points for the series. For the
  111544. * `lollipop` series type, points can be given in the following ways:
  111545. *
  111546. * 1. An array of numerical values. In this case, the numerical values will
  111547. * be interpreted as `y` options. The `x` values will be automatically
  111548. * calculated, either starting at 0 and incremented by 1, or from
  111549. * `pointStart` and `pointInterval` given in the series options. If the axis
  111550. * has categories, these will be used. Example: (see online documentation
  111551. * for example)
  111552. *
  111553. * 2. An array of arrays with 2 values. In this case, the values correspond
  111554. * to `x,y`. If the first value is a string, it is applied as the name of
  111555. * the point, and the `x` value is inferred. (see online documentation for
  111556. * example)
  111557. *
  111558. * 3. An array of objects with named values. The following snippet shows
  111559. * only a few settings, see the complete options set below. If the total
  111560. * number of data points exceeds the series' turboThreshold, this option is
  111561. * not available. (see online documentation for example)
  111562. */
  111563. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  111564. /**
  111565. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111566. * TypeScript non-optional and might be `undefined` in series objects from
  111567. * unknown sources.
  111568. */
  111569. type: "lollipop";
  111570. }
  111571. /**
  111572. * (Highstock) A `MACD` series. If the type option is not specified, it is
  111573. * inherited from chart.type.
  111574. *
  111575. * In TypeScript the type option must always be set.
  111576. *
  111577. * Configuration options for the series are given in three levels:
  111578. *
  111579. * 1. Options for all series in a chart are defined in the plotOptions.series
  111580. * object.
  111581. *
  111582. * 2. Options for all `macd` series are defined in plotOptions.macd.
  111583. *
  111584. * 3. Options for one single series are given in the series instance array. (see
  111585. * online documentation for example)
  111586. *
  111587. * You have to extend the `SeriesMacdOptions` via an interface to allow custom
  111588. * properties: ``` declare interface SeriesMacdOptions { customProperty: string;
  111589. * }
  111590. *
  111591. */
  111592. export interface SeriesMacdOptions extends PlotMacdOptions, SeriesOptions {
  111593. /**
  111594. * Not available
  111595. */
  111596. dataParser?: undefined;
  111597. /**
  111598. * Not available
  111599. */
  111600. dataURL?: undefined;
  111601. /**
  111602. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111603. * TypeScript non-optional and might be `undefined` in series objects from
  111604. * unknown sources.
  111605. */
  111606. type: "macd";
  111607. }
  111608. /**
  111609. * (Highmaps) An array of data points for the series. For the `mapbubble` series
  111610. * type, points can be given in the following ways:
  111611. *
  111612. * 1. An array of numerical values. In this case, the numerical values will be
  111613. * interpreted as `z` options. Example: (see online documentation for example)
  111614. *
  111615. * 2. An array of objects with named values. The following snippet shows only a
  111616. * few settings, see the complete options set below. If the total number of data
  111617. * points exceeds the series' turboThreshold, this option is not available. (see
  111618. * online documentation for example)
  111619. */
  111620. export interface SeriesMapbubbleDataOptions {
  111621. /**
  111622. * (Highmaps) Individual color for the point. By default the color is either
  111623. * used to denote the value, or pulled from the global `colors` array.
  111624. */
  111625. color?: (ColorString|GradientColorObject|PatternObject);
  111626. /**
  111627. * (Highmaps) Individual data label for each point. The options are the same
  111628. * as the ones for plotOptions.series.dataLabels.
  111629. */
  111630. dataLabels?: DataLabelsOptions;
  111631. /**
  111632. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111633. * a drilldown for this point.
  111634. */
  111635. drilldown?: string;
  111636. /**
  111637. * (Highmaps) Individual point events
  111638. */
  111639. events?: PointEventsOptionsObject;
  111640. /**
  111641. * (Highmaps) An id for the point. This can be used after render time to get
  111642. * a pointer to the point object through `chart.get()`.
  111643. */
  111644. id?: string;
  111645. /**
  111646. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111647. * dataLabel etc.
  111648. */
  111649. name?: string;
  111650. /**
  111651. * (Highmaps) While the `x` and `y` values of the bubble are determined by
  111652. * the underlying map, the `z` indicates the actual value that gives the
  111653. * size of the bubble.
  111654. */
  111655. z?: (number|null);
  111656. }
  111657. /**
  111658. * (Highmaps) A `mapbubble` series. If the type option is not specified, it is
  111659. * inherited from chart.type.
  111660. *
  111661. * In TypeScript the type option must always be set.
  111662. *
  111663. * Configuration options for the series are given in three levels:
  111664. *
  111665. * 1. Options for all series in a chart are defined in the plotOptions.series
  111666. * object.
  111667. *
  111668. * 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
  111669. *
  111670. * 3. Options for one single series are given in the series instance array. (see
  111671. * online documentation for example)
  111672. *
  111673. * You have to extend the `SeriesMapbubbleOptions` via an interface to allow
  111674. * custom properties: ``` declare interface SeriesMapbubbleOptions {
  111675. * customProperty: string; }
  111676. *
  111677. */
  111678. export interface SeriesMapbubbleOptions extends PlotMapbubbleOptions, SeriesOptions {
  111679. /**
  111680. * (Highmaps) An array of data points for the series. For the `mapbubble`
  111681. * series type, points can be given in the following ways:
  111682. *
  111683. * 1. An array of numerical values. In this case, the numerical values will
  111684. * be interpreted as `z` options. Example: (see online documentation for
  111685. * example)
  111686. *
  111687. * 2. An array of objects with named values. The following snippet shows
  111688. * only a few settings, see the complete options set below. If the total
  111689. * number of data points exceeds the series' turboThreshold, this option is
  111690. * not available. (see online documentation for example)
  111691. */
  111692. data?: Array<(number|null|SeriesMapbubbleDataOptions)>;
  111693. /**
  111694. * Not available
  111695. */
  111696. dataParser?: undefined;
  111697. /**
  111698. * Not available
  111699. */
  111700. dataURL?: undefined;
  111701. /**
  111702. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111703. * TypeScript non-optional and might be `undefined` in series objects from
  111704. * unknown sources.
  111705. */
  111706. type: "mapbubble";
  111707. }
  111708. /**
  111709. * (Highmaps) An array of data points for the series. For the `map` series type,
  111710. * points can be given in the following ways:
  111711. *
  111712. * 1. An array of numerical values. In this case, the numerical values will be
  111713. * interpreted as `value` options. Example: (see online documentation for
  111714. * example)
  111715. *
  111716. * 2. An array of arrays with 2 values. In this case, the values correspond to
  111717. * `[hc-key, value]`. Example: (see online documentation for example)
  111718. *
  111719. * 3. An array of objects with named values. The following snippet shows only a
  111720. * few settings, see the complete options set below. If the total number of data
  111721. * points exceeds the series' turboThreshold, this option is not available. (see
  111722. * online documentation for example)
  111723. */
  111724. export interface SeriesMapDataOptions {
  111725. /**
  111726. * (Highmaps) Individual color for the point. By default the color is either
  111727. * used to denote the value, or pulled from the global `colors` array.
  111728. */
  111729. color?: (ColorString|GradientColorObject|PatternObject);
  111730. /**
  111731. * (Highmaps) Individual data label for each point. The options are the same
  111732. * as the ones for plotOptions.series.dataLabels.
  111733. */
  111734. dataLabels?: DataLabelsOptions;
  111735. /**
  111736. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111737. * a drilldown for this point.
  111738. */
  111739. drilldown?: string;
  111740. /**
  111741. * (Highmaps) Individual point events
  111742. */
  111743. events?: PointEventsOptionsObject;
  111744. /**
  111745. * (Highmaps) An id for the point. This can be used after render time to get
  111746. * a pointer to the point object through `chart.get()`.
  111747. */
  111748. id?: string;
  111749. /**
  111750. * (Highmaps) When data labels are laid out on a map, Highmaps runs a
  111751. * simplified algorithm to detect collision. When two labels collide, the
  111752. * one with the lowest rank is hidden. By default the rank is computed from
  111753. * the area.
  111754. */
  111755. labelrank?: number;
  111756. /**
  111757. * (Highmaps) The relative mid point of an area, used to place the data
  111758. * label. Ranges from 0 to 1\. When `mapData` is used, middleX can be
  111759. * defined there.
  111760. */
  111761. middleX?: number;
  111762. /**
  111763. * (Highmaps) The relative mid point of an area, used to place the data
  111764. * label. Ranges from 0 to 1\. When `mapData` is used, middleY can be
  111765. * defined there.
  111766. */
  111767. middleY?: number;
  111768. /**
  111769. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111770. * dataLabel etc.
  111771. */
  111772. name?: string;
  111773. /**
  111774. * (Highmaps) For map and mapline series types, the SVG path for the shape.
  111775. * For compatibily with old IE, not all SVG path definitions are supported,
  111776. * but M, L and C operators are safe.
  111777. *
  111778. * To achieve a better separation between the structure and the data, it is
  111779. * recommended to use `mapData` to define that paths instead of defining
  111780. * them on the data points themselves.
  111781. */
  111782. path?: string;
  111783. /**
  111784. * (Highmaps) The numeric value of the data point.
  111785. */
  111786. value?: (number|null);
  111787. }
  111788. /**
  111789. * (Highmaps) A `mapline` series. If the type option is not specified, it is
  111790. * inherited from chart.type.
  111791. *
  111792. * In TypeScript the type option must always be set.
  111793. *
  111794. * Configuration options for the series are given in three levels:
  111795. *
  111796. * 1. Options for all series in a chart are defined in the plotOptions.series
  111797. * object.
  111798. *
  111799. * 2. Options for all `mapline` series are defined in plotOptions.mapline.
  111800. *
  111801. * 3. Options for one single series are given in the series instance array. (see
  111802. * online documentation for example)
  111803. *
  111804. * You have to extend the `SeriesMaplineOptions` via an interface to allow
  111805. * custom properties: ``` declare interface SeriesMaplineOptions {
  111806. * customProperty: string; }
  111807. *
  111808. */
  111809. export interface SeriesMaplineOptions extends PlotMaplineOptions, SeriesOptions {
  111810. /**
  111811. * (Highmaps) An array of data points for the series. For the `mapline`
  111812. * series type, points can be given in the following ways:
  111813. *
  111814. * 1. An array of numerical values. In this case, the numerical values will
  111815. * be interpreted as `value` options. Example: (see online documentation for
  111816. * example)
  111817. *
  111818. * 2. An array of arrays with 2 values. In this case, the values correspond
  111819. * to `[hc-key, value]`. Example: (see online documentation for example)
  111820. *
  111821. * 3. An array of objects with named values. The following snippet shows
  111822. * only a few settings, see the complete options set below. If the total
  111823. * number of data points exceeds the series' turboThreshold, this option is
  111824. * not available. (see online documentation for example)
  111825. */
  111826. data?: Array<(number|[string, (number|null)]|null|any)>;
  111827. /**
  111828. * Not available
  111829. */
  111830. dataParser?: undefined;
  111831. /**
  111832. * Not available
  111833. */
  111834. dataURL?: undefined;
  111835. /**
  111836. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111837. * TypeScript non-optional and might be `undefined` in series objects from
  111838. * unknown sources.
  111839. */
  111840. type: "mapline";
  111841. }
  111842. /**
  111843. * (Highmaps) A `map` series. If the type option is not specified, it is
  111844. * inherited from chart.type.
  111845. *
  111846. * In TypeScript the type option must always be set.
  111847. *
  111848. * Configuration options for the series are given in three levels:
  111849. *
  111850. * 1. Options for all series in a chart are defined in the plotOptions.series
  111851. * object.
  111852. *
  111853. * 2. Options for all `map` series are defined in plotOptions.map.
  111854. *
  111855. * 3. Options for one single series are given in the series instance array. (see
  111856. * online documentation for example)
  111857. *
  111858. * You have to extend the `SeriesMapOptions` via an interface to allow custom
  111859. * properties: ``` declare interface SeriesMapOptions { customProperty: string;
  111860. * }
  111861. *
  111862. */
  111863. export interface SeriesMapOptions extends PlotMapOptions, SeriesOptions {
  111864. /**
  111865. * (Highmaps) An array of data points for the series. For the `map` series
  111866. * type, points can be given in the following ways:
  111867. *
  111868. * 1. An array of numerical values. In this case, the numerical values will
  111869. * be interpreted as `value` options. Example: (see online documentation for
  111870. * example)
  111871. *
  111872. * 2. An array of arrays with 2 values. In this case, the values correspond
  111873. * to `[hc-key, value]`. Example: (see online documentation for example)
  111874. *
  111875. * 3. An array of objects with named values. The following snippet shows
  111876. * only a few settings, see the complete options set below. If the total
  111877. * number of data points exceeds the series' turboThreshold, this option is
  111878. * not available. (see online documentation for example)
  111879. */
  111880. data?: Array<(number|[string, (number|null)]|null|SeriesMapDataOptions)>;
  111881. /**
  111882. * Not available
  111883. */
  111884. dataParser?: undefined;
  111885. /**
  111886. * Not available
  111887. */
  111888. dataURL?: undefined;
  111889. /**
  111890. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  111891. * TypeScript non-optional and might be `undefined` in series objects from
  111892. * unknown sources.
  111893. */
  111894. type: "map";
  111895. }
  111896. /**
  111897. * (Highmaps) An array of data points for the series. For the `mappoint` series
  111898. * type, points can be given in the following ways:
  111899. *
  111900. * 1. An array of numerical values. In this case, the numerical values will be
  111901. * interpreted as `y` options. The `x` values will be automatically calculated,
  111902. * either starting at 0 and incremented by 1, or from `pointStart` and
  111903. * `pointInterval` given in the series options. If the axis has categories,
  111904. * these will be used. Example: (see online documentation for example)
  111905. *
  111906. * 2. An array of arrays with 2 values. In this case, the values correspond to
  111907. * `x,y`. If the first value is a string, it is applied as the name of the
  111908. * point, and the `x` value is inferred. (see online documentation for example)
  111909. *
  111910. * 3. An array of objects with named values. The following snippet shows only a
  111911. * few settings, see the complete options set below. If the total number of data
  111912. * points exceeds the series' turboThreshold, this option is not available. (see
  111913. * online documentation for example)
  111914. */
  111915. export interface SeriesMappointDataOptions {
  111916. /**
  111917. * (Highmaps) Individual color for the point. By default the color is either
  111918. * used to denote the value, or pulled from the global `colors` array.
  111919. */
  111920. color?: (ColorString|GradientColorObject|PatternObject);
  111921. /**
  111922. * (Highmaps) Individual data label for each point. The options are the same
  111923. * as the ones for plotOptions.series.dataLabels.
  111924. */
  111925. dataLabels?: DataLabelsOptions;
  111926. /**
  111927. * (Highmaps) The `id` of a series in the drilldown.series array to use for
  111928. * a drilldown for this point.
  111929. */
  111930. drilldown?: string;
  111931. /**
  111932. * (Highmaps) Individual point events
  111933. */
  111934. events?: PointEventsOptionsObject;
  111935. /**
  111936. * (Highmaps) An id for the point. This can be used after render time to get
  111937. * a pointer to the point object through `chart.get()`.
  111938. */
  111939. id?: string;
  111940. /**
  111941. * (Highmaps) The latitude of the point. Must be combined with the `lon`
  111942. * option to work. Overrides `x` and `y` values.
  111943. */
  111944. lat?: number;
  111945. /**
  111946. * (Highmaps) The longitude of the point. Must be combined with the `lon`
  111947. * option to work. Overrides `x` and `y` values.
  111948. */
  111949. lon?: number;
  111950. /**
  111951. * (Highmaps) The name of the point as shown in the legend, tooltip,
  111952. * dataLabel etc.
  111953. */
  111954. name?: string;
  111955. /**
  111956. * (Highmaps) The x coordinate of the point in terms of the map path
  111957. * coordinates.
  111958. */
  111959. x?: number;
  111960. /**
  111961. * (Highmaps) The x coordinate of the point in terms of the map path
  111962. * coordinates.
  111963. */
  111964. y?: (number|null);
  111965. }
  111966. /**
  111967. * (Highmaps) A `mappoint` series. If the type option is not specified, it is
  111968. * inherited from chart.type.
  111969. *
  111970. * In TypeScript the type option must always be set.
  111971. *
  111972. * Configuration options for the series are given in three levels:
  111973. *
  111974. * 1. Options for all series in a chart are defined in the plotOptions.series
  111975. * object.
  111976. *
  111977. * 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
  111978. *
  111979. * 3. Options for one single series are given in the series instance array. (see
  111980. * online documentation for example)
  111981. *
  111982. * You have to extend the `SeriesMappointOptions` via an interface to allow
  111983. * custom properties: ``` declare interface SeriesMappointOptions {
  111984. * customProperty: string; }
  111985. *
  111986. */
  111987. export interface SeriesMappointOptions extends PlotMappointOptions, SeriesOptions {
  111988. /**
  111989. * (Highmaps) An array of data points for the series. For the `mappoint`
  111990. * series type, points can be given in the following ways:
  111991. *
  111992. * 1. An array of numerical values. In this case, the numerical values will
  111993. * be interpreted as `y` options. The `x` values will be automatically
  111994. * calculated, either starting at 0 and incremented by 1, or from
  111995. * `pointStart` and `pointInterval` given in the series options. If the axis
  111996. * has categories, these will be used. Example: (see online documentation
  111997. * for example)
  111998. *
  111999. * 2. An array of arrays with 2 values. In this case, the values correspond
  112000. * to `x,y`. If the first value is a string, it is applied as the name of
  112001. * the point, and the `x` value is inferred. (see online documentation for
  112002. * example)
  112003. *
  112004. * 3. An array of objects with named values. The following snippet shows
  112005. * only a few settings, see the complete options set below. If the total
  112006. * number of data points exceeds the series' turboThreshold, this option is
  112007. * not available. (see online documentation for example)
  112008. */
  112009. data?: Array<(number|[number, (number|null)]|null|SeriesMappointDataOptions)>;
  112010. /**
  112011. * Not available
  112012. */
  112013. dataParser?: undefined;
  112014. /**
  112015. * Not available
  112016. */
  112017. dataURL?: undefined;
  112018. /**
  112019. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112020. * TypeScript non-optional and might be `undefined` in series objects from
  112021. * unknown sources.
  112022. */
  112023. type: "mappoint";
  112024. }
  112025. /**
  112026. * (Highstock) A `MFI` series. If the type option is not specified, it is
  112027. * inherited from chart.type.
  112028. *
  112029. * In TypeScript the type option must always be set.
  112030. *
  112031. * Configuration options for the series are given in three levels:
  112032. *
  112033. * 1. Options for all series in a chart are defined in the plotOptions.series
  112034. * object.
  112035. *
  112036. * 2. Options for all `mfi` series are defined in plotOptions.mfi.
  112037. *
  112038. * 3. Options for one single series are given in the series instance array. (see
  112039. * online documentation for example)
  112040. *
  112041. * You have to extend the `SeriesMfiOptions` via an interface to allow custom
  112042. * properties: ``` declare interface SeriesMfiOptions { customProperty: string;
  112043. * }
  112044. *
  112045. */
  112046. export interface SeriesMfiOptions extends PlotMfiOptions, SeriesOptions {
  112047. /**
  112048. * Not available
  112049. */
  112050. dataParser?: undefined;
  112051. /**
  112052. * Not available
  112053. */
  112054. dataURL?: undefined;
  112055. /**
  112056. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112057. * TypeScript non-optional and might be `undefined` in series objects from
  112058. * unknown sources.
  112059. */
  112060. type: "mfi";
  112061. }
  112062. /**
  112063. * (Highstock) A `Momentum` series. If the type option is not specified, it is
  112064. * inherited from chart.type.
  112065. *
  112066. * In TypeScript the type option must always be set.
  112067. *
  112068. * Configuration options for the series are given in three levels:
  112069. *
  112070. * 1. Options for all series in a chart are defined in the plotOptions.series
  112071. * object.
  112072. *
  112073. * 2. Options for all `momentum` series are defined in plotOptions.momentum.
  112074. *
  112075. * 3. Options for one single series are given in the series instance array. (see
  112076. * online documentation for example)
  112077. *
  112078. * You have to extend the `SeriesMomentumOptions` via an interface to allow
  112079. * custom properties: ``` declare interface SeriesMomentumOptions {
  112080. * customProperty: string; }
  112081. *
  112082. */
  112083. export interface SeriesMomentumOptions extends PlotMomentumOptions, SeriesOptions {
  112084. /**
  112085. * Not available
  112086. */
  112087. dataParser?: undefined;
  112088. /**
  112089. * Not available
  112090. */
  112091. dataURL?: undefined;
  112092. /**
  112093. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112094. * TypeScript non-optional and might be `undefined` in series objects from
  112095. * unknown sources.
  112096. */
  112097. type: "momentum";
  112098. }
  112099. /**
  112100. * (Highstock) A `NATR` series. If the type option is not specified, it is
  112101. * inherited from chart.type.
  112102. *
  112103. * In TypeScript the type option must always be set.
  112104. *
  112105. * Configuration options for the series are given in three levels:
  112106. *
  112107. * 1. Options for all series in a chart are defined in the plotOptions.series
  112108. * object.
  112109. *
  112110. * 2. Options for all `natr` series are defined in plotOptions.natr.
  112111. *
  112112. * 3. Options for one single series are given in the series instance array. (see
  112113. * online documentation for example)
  112114. *
  112115. * You have to extend the `SeriesNatrOptions` via an interface to allow custom
  112116. * properties: ``` declare interface SeriesNatrOptions { customProperty: string;
  112117. * }
  112118. *
  112119. */
  112120. export interface SeriesNatrOptions extends PlotNatrOptions, SeriesOptions {
  112121. /**
  112122. * Not available
  112123. */
  112124. dataParser?: undefined;
  112125. /**
  112126. * Not available
  112127. */
  112128. dataURL?: undefined;
  112129. /**
  112130. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112131. * TypeScript non-optional and might be `undefined` in series objects from
  112132. * unknown sources.
  112133. */
  112134. type: "natr";
  112135. }
  112136. /**
  112137. * (Highcharts) Enable or disable the initial animation when a series is
  112138. * displayed for the `dataLabels`. The animation can also be set as a
  112139. * configuration object. Please note that this option only applies to the
  112140. * initial animation. For other animations, see chart.animation and the
  112141. * animation parameter under the API methods. The following properties are
  112142. * supported:
  112143. *
  112144. * - `defer`: The animation delay time in milliseconds.
  112145. */
  112146. export interface SeriesNetworkgraphDataDataLabelsAnimationOptions {
  112147. /**
  112148. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  112149. * dataLabel immediately. As `undefined` inherits defer time from the
  112150. * series.animation.defer.
  112151. */
  112152. defer?: number;
  112153. }
  112154. /**
  112155. * (Highcharts) Style options for the guide box. The guide box has one state by
  112156. * default, the `default` state.
  112157. */
  112158. export interface SeriesNetworkgraphDataDragDropGuideBoxOptions {
  112159. /**
  112160. * (Highcharts) Style options for the guide box default state.
  112161. */
  112162. default?: DragDropGuideBoxOptionsObject;
  112163. }
  112164. /**
  112165. * Context for the formatter function.
  112166. */
  112167. export interface SeriesNetworkgraphDataLabelsFormatterContextObject extends PointLabelObject {
  112168. /**
  112169. * The color of the node.
  112170. */
  112171. color: ColorString;
  112172. /**
  112173. * The ID of the node.
  112174. */
  112175. key: string;
  112176. /**
  112177. * The point (node) object. The node name, if defined, is available through
  112178. * `this.point.name`. Arrays: `this.point.linksFrom` and
  112179. * `this.point.linksTo` contains all nodes connected to this point.
  112180. */
  112181. point: Point;
  112182. }
  112183. /**
  112184. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  112185. * appearing next to each data point.
  112186. *
  112187. * Since v6.2.0, multiple data labels can be applied to each single point by
  112188. * defining them as an array of configs.
  112189. *
  112190. * In styled mode, the data labels can be styled with the
  112191. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  112192. * example).
  112193. */
  112194. export interface SeriesNetworkgraphDataLabelsOptionsObject {
  112195. /**
  112196. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  112197. * compared to the point. If `right`, the right side of the label should be
  112198. * touching the point. For points with an extent, like columns, the
  112199. * alignments also dictates how to align it inside the box, as given with
  112200. * the inside option. Can be one of `left`, `center` or `right`.
  112201. */
  112202. align?: (AlignValue|null);
  112203. /**
  112204. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  112205. * overlap. To make the labels less sensitive for overlapping, the
  112206. * dataLabels.padding can be set to 0.
  112207. */
  112208. allowOverlap?: boolean;
  112209. /**
  112210. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  112211. * animation when a series is displayed for the `dataLabels`. The animation
  112212. * can also be set as a configuration object. Please note that this option
  112213. * only applies to the initial animation. For other animations, see
  112214. * chart.animation and the animation parameter under the API methods. The
  112215. * following properties are supported:
  112216. *
  112217. * - `defer`: The animation delay time in milliseconds.
  112218. */
  112219. animation?: (boolean|PlotNetworkgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  112220. /**
  112221. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  112222. * for the data label.
  112223. */
  112224. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  112225. /**
  112226. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  112227. * label. Defaults to `undefined`.
  112228. */
  112229. borderColor?: (ColorString|GradientColorObject|PatternObject);
  112230. /**
  112231. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  112232. * the data label.
  112233. */
  112234. borderRadius?: number;
  112235. /**
  112236. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  112237. * the data label.
  112238. */
  112239. borderWidth?: number;
  112240. /**
  112241. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  112242. * Particularly in styled mode, this can be used to give each series' or
  112243. * point's data label unique styling. In addition to this option, a default
  112244. * color class name is added so that we can give the labels a contrast text
  112245. * shadow.
  112246. */
  112247. className?: string;
  112248. /**
  112249. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  112250. * labels. Defaults to `undefined`. For certain series types, like column or
  112251. * map, the data labels can be drawn inside the points. In this case the
  112252. * data label will be drawn with maximum contrast by default. Additionally,
  112253. * it will be given a `text-outline` style with the opposite color, to
  112254. * further increase the contrast. This can be overridden by setting the
  112255. * `text-outline` style to `none` in the `dataLabels.style` option.
  112256. */
  112257. color?: (ColorString|GradientColorObject|PatternObject);
  112258. /**
  112259. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  112260. * are outside the plot area. By default, the data label is moved inside the
  112261. * plot area according to the overflow option.
  112262. */
  112263. crop?: boolean;
  112264. /**
  112265. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  112266. * labels until the initial series animation has finished. Setting to
  112267. * `false` renders the data label immediately. If set to `true` inherits the
  112268. * defer time set in plotOptions.series.animation. If set to a number, a
  112269. * defer time is specified in milliseconds.
  112270. */
  112271. defer?: (boolean|number);
  112272. /**
  112273. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  112274. * labels.
  112275. */
  112276. enabled?: boolean;
  112277. /**
  112278. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  112279. * of which data labels to display. The declarative filter is designed for
  112280. * use when callback functions are not available, like when the chart
  112281. * options require a pure JSON structure or for use with graphical editors.
  112282. * For programmatic control, use the `formatter` instead, and return
  112283. * `undefined` to disable a single data label.
  112284. */
  112285. filter?: DataLabelsFilterOptionsObject;
  112286. /**
  112287. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112288. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  112289. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  112290. */
  112291. format?: string;
  112292. /**
  112293. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  112294. * format the data label for a node. Note that if a `format` is defined, the
  112295. * format takes precedence and the formatter is ignored.
  112296. */
  112297. formatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  112298. /**
  112299. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  112300. * columns or map areas, whether to align the data label inside the box or
  112301. * to the actual value point. Defaults to `false` in most cases, `true` in
  112302. * stacked columns.
  112303. */
  112304. inside?: boolean;
  112305. /**
  112306. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112307. * what to show for _links_ in the networkgraph. (Default: `undefined`)
  112308. */
  112309. linkFormat?: string;
  112310. /**
  112311. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  112312. * for _links_ in the sankey diagram. The `linkFormat` option takes
  112313. * precedence over the `linkFormatter`.
  112314. */
  112315. linkFormatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
  112316. /**
  112317. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
  112318. * which should follow link connection. Border and background are disabled
  112319. * for a label that follows a path.
  112320. *
  112321. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  112322. * to true will disable this option.
  112323. */
  112324. linkTextPath?: DataLabelsTextPathOptionsObject;
  112325. /**
  112326. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  112327. * of null. Works analogously to format. `nullFormat` can be applied only to
  112328. * series which support displaying null points.
  112329. */
  112330. nullFormat?: (boolean|string);
  112331. /**
  112332. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  112333. * that defines formatting for points with the value of null. Works
  112334. * analogously to formatter. `nullPointFormatter` can be applied only to
  112335. * series which support displaying null points.
  112336. */
  112337. nullFormatter?: DataLabelsFormatterCallbackFunction;
  112338. /**
  112339. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  112340. * flow outside the plot area. The default is `"justify"`, which aligns them
  112341. * inside the plot area. For columns and bars, this means it will be moved
  112342. * inside the bar. To display data labels outside the plot area, set `crop`
  112343. * to `false` and `overflow` to `"allow"`.
  112344. */
  112345. overflow?: DataLabelsOverflowValue;
  112346. /**
  112347. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  112348. * the `backgroundColor` is set, this is the padding within the box.
  112349. */
  112350. padding?: number;
  112351. /**
  112352. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  112353. * points. If `center` alignment is not possible, it defaults to `right`.
  112354. */
  112355. position?: AlignValue;
  112356. /**
  112357. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  112358. * that due to a more complex structure, backgrounds, borders and padding
  112359. * will be lost on a rotated data label.
  112360. */
  112361. rotation?: number;
  112362. /**
  112363. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  112364. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  112365. * an object configuration containing `color`, `offsetX`, `offsetY`,
  112366. * `opacity` and `width`.
  112367. */
  112368. shadow?: (boolean|ShadowOptionsObject);
  112369. /**
  112370. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  112371. * the border around the label. Symbols are predefined functions on the
  112372. * Renderer object.
  112373. */
  112374. shape?: string;
  112375. /**
  112376. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  112377. * default `color` setting is `"contrast"`, which is a pseudo color that
  112378. * Highcharts picks up and applies the maximum contrast to the underlying
  112379. * point item, for example the bar in a bar chart.
  112380. *
  112381. * The `textOutline` is a pseudo property that applies an outline of the
  112382. * given width with the given color, which by default is the maximum
  112383. * contrast to the text. So a bright text color will result in a black text
  112384. * outline for maximum readability on a mixed background. In some cases,
  112385. * especially with grayscale text, the text outline doesn't work well, in
  112386. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  112387. * is true, the `textOutline` will not be picked up. In this, case, the same
  112388. * effect can be acheived through the `text-shadow` CSS property.
  112389. *
  112390. * For some series types, where each point has an extent, like for example
  112391. * tree maps, the data label may overflow the point. There are two
  112392. * strategies for handling overflow. By default, the text will wrap to
  112393. * multiple lines. The other strategy is to set `style.textOverflow` to
  112394. * `ellipsis`, which will keep the text on one line plus it will break
  112395. * inside long words.
  112396. */
  112397. style?: (CSSObject|PlotNetworkgraphDataLabelsStyleOptions);
  112398. /**
  112399. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  112400. * should follow marker's shape. Border and background are disabled for a
  112401. * label that follows a path.
  112402. *
  112403. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  112404. * to true will disable this option.
  112405. */
  112406. textPath?: DataLabelsTextPathOptionsObject;
  112407. /**
  112408. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  112409. * the labels.
  112410. */
  112411. useHTML?: boolean;
  112412. /**
  112413. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  112414. * label. Can be one of `top`, `middle` or `bottom`. The default value
  112415. * depends on the data, for instance in a column chart, the label is above
  112416. * positive values and below negative values.
  112417. */
  112418. verticalAlign?: (VerticalAlignValue|null);
  112419. /**
  112420. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  112421. * label relative to the point in pixels.
  112422. */
  112423. x?: number;
  112424. /**
  112425. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  112426. * label relative to the point in pixels.
  112427. */
  112428. y?: number;
  112429. /**
  112430. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  112431. * The default Z index puts it above the series. Use a Z index of 2 to
  112432. * display it behind the series.
  112433. */
  112434. z?: number;
  112435. }
  112436. /**
  112437. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  112438. * networkgraph diagram are auto-generated instances of `Highcharts.Point`, but
  112439. * options can be applied here and linked by the `id`.
  112440. */
  112441. export interface SeriesNetworkgraphNodesOptions {
  112442. /**
  112443. * (Highcharts) The color of the auto generated node.
  112444. */
  112445. color?: ColorString;
  112446. /**
  112447. * (Highcharts) The color index of the auto generated node, especially for
  112448. * use in styled mode.
  112449. */
  112450. colorIndex?: number;
  112451. /**
  112452. * (Highcharts) Individual data label for each node. The options are the
  112453. * same as the ones for series.networkgraph.dataLabels.
  112454. */
  112455. dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
  112456. /**
  112457. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  112458. * `to` setting of the link.
  112459. */
  112460. id?: string;
  112461. /**
  112462. * (Highcharts) Mass of the node. By default, each node has mass equal to
  112463. * it's marker radius . Mass is used to determine how two connected nodes
  112464. * should affect each other:
  112465. *
  112466. * Attractive force is multiplied by the ratio of two connected nodes; if a
  112467. * big node has weights twice as the small one, then the small one will move
  112468. * towards the big one twice faster than the big one to the small one .
  112469. */
  112470. mass?: number;
  112471. /**
  112472. * (Highcharts) The name to display for the node in data labels and
  112473. * tooltips. Use this when the name is different from the `id`. Where the id
  112474. * must be unique for each node, this is not necessary for the name.
  112475. */
  112476. name?: string;
  112477. }
  112478. /**
  112479. * (Highcharts) A `networkgraph` series. If the type option is not specified, it
  112480. * is inherited from chart.type.
  112481. *
  112482. * In TypeScript the type option must always be set.
  112483. *
  112484. * Configuration options for the series are given in three levels:
  112485. *
  112486. * 1. Options for all series in a chart are defined in the plotOptions.series
  112487. * object.
  112488. *
  112489. * 2. Options for all `networkgraph` series are defined in
  112490. * plotOptions.networkgraph.
  112491. *
  112492. * 3. Options for one single series are given in the series instance array. (see
  112493. * online documentation for example)
  112494. *
  112495. * You have to extend the `SeriesNetworkgraphOptions` via an interface to allow
  112496. * custom properties: ``` declare interface SeriesNetworkgraphOptions {
  112497. * customProperty: string; }
  112498. *
  112499. */
  112500. export interface SeriesNetworkgraphOptions extends PlotNetworkgraphOptions, SeriesOptions {
  112501. /**
  112502. * (Highcharts) An array of data points for the series. For the
  112503. * `networkgraph` series type, points can be given in the following way:
  112504. *
  112505. * An array of objects with named values. The following snippet shows only a
  112506. * few settings, see the complete options set below. If the total number of
  112507. * data points exceeds the series' turboThreshold, this option is not
  112508. * available. (see online documentation for example)
  112509. */
  112510. data?: (PointOptionsObject|Array<(object|any[]|number)>);
  112511. /**
  112512. * (Highcharts) A collection of options for the individual nodes. The nodes
  112513. * in a networkgraph diagram are auto-generated instances of
  112514. * `Highcharts.Point`, but options can be applied here and linked by the
  112515. * `id`.
  112516. */
  112517. nodes?: Array<SeriesNetworkgraphNodesOptions>;
  112518. /**
  112519. * Not available
  112520. */
  112521. stack?: undefined;
  112522. /**
  112523. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112524. * TypeScript non-optional and might be `undefined` in series objects from
  112525. * unknown sources.
  112526. */
  112527. type: "networkgraph";
  112528. /**
  112529. * Not available
  112530. */
  112531. xAxis?: undefined;
  112532. /**
  112533. * Not available
  112534. */
  112535. yAxis?: undefined;
  112536. }
  112537. /**
  112538. * (Highstock) A `OBV` series. If the type option is not specified, it is
  112539. * inherited from chart.type.
  112540. *
  112541. * In TypeScript the type option must always be set.
  112542. *
  112543. * Configuration options for the series are given in three levels:
  112544. *
  112545. * 1. Options for all series in a chart are defined in the plotOptions.series
  112546. * object.
  112547. *
  112548. * 2. Options for all `obv` series are defined in plotOptions.obv.
  112549. *
  112550. * 3. Options for one single series are given in the series instance array. (see
  112551. * online documentation for example)
  112552. *
  112553. * You have to extend the `SeriesObvOptions` via an interface to allow custom
  112554. * properties: ``` declare interface SeriesObvOptions { customProperty: string;
  112555. * }
  112556. *
  112557. */
  112558. export interface SeriesObvOptions extends PlotObvOptions, SeriesOptions {
  112559. /**
  112560. * Not available
  112561. */
  112562. dataParser?: undefined;
  112563. /**
  112564. * Not available
  112565. */
  112566. dataURL?: undefined;
  112567. /**
  112568. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112569. * TypeScript non-optional and might be `undefined` in series objects from
  112570. * unknown sources.
  112571. */
  112572. type: "obv";
  112573. }
  112574. /**
  112575. * (Highcharts, Highstock) Enable or disable the initial animation when a series
  112576. * is displayed for the `dataLabels`. The animation can also be set as a
  112577. * configuration object. Please note that this option only applies to the
  112578. * initial animation. For other animations, see chart.animation and the
  112579. * animation parameter under the API methods. The following properties are
  112580. * supported:
  112581. *
  112582. * - `defer`: The animation delay time in milliseconds.
  112583. */
  112584. export interface SeriesOhlcDataDataLabelsAnimationOptions {
  112585. /**
  112586. * (Highcharts, Highstock) The animation delay time in milliseconds. Set to
  112587. * `0` renders dataLabel immediately. As `undefined` inherits defer time
  112588. * from the series.animation.defer.
  112589. */
  112590. defer?: number;
  112591. }
  112592. /**
  112593. * (Highstock) Style options for the guide box. The guide box has one state by
  112594. * default, the `default` state.
  112595. */
  112596. export interface SeriesOhlcDataDragDropGuideBoxOptions {
  112597. /**
  112598. * (Highstock) Style options for the guide box default state.
  112599. */
  112600. default?: DragDropGuideBoxOptionsObject;
  112601. }
  112602. /**
  112603. * (Highstock) A `ohlc` series. If the type option is not specified, it is
  112604. * inherited from chart.type.
  112605. *
  112606. * In TypeScript the type option must always be set.
  112607. *
  112608. * Configuration options for the series are given in three levels:
  112609. *
  112610. * 1. Options for all series in a chart are defined in the plotOptions.series
  112611. * object.
  112612. *
  112613. * 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
  112614. *
  112615. * 3. Options for one single series are given in the series instance array. (see
  112616. * online documentation for example)
  112617. *
  112618. * You have to extend the `SeriesOhlcOptions` via an interface to allow custom
  112619. * properties: ``` declare interface SeriesOhlcOptions { customProperty: string;
  112620. * }
  112621. *
  112622. */
  112623. export interface SeriesOhlcOptions extends PlotOhlcOptions, SeriesOptions {
  112624. /**
  112625. * (Highstock) An array of data points for the series. For the `ohlc` series
  112626. * type, points can be given in the following ways:
  112627. *
  112628. * 1. An array of arrays with 5 or 4 values. In this case, the values
  112629. * correspond to `x,open,high,low,close`. If the first value is a string, it
  112630. * is applied as the name of the point, and the `x` value is inferred. The
  112631. * `x` value can also be omitted, in which case the inner arrays should be
  112632. * of length 4\. Then the `x` value is automatically calculated, either
  112633. * starting at 0 and incremented by 1, or from `pointStart` and
  112634. * `pointInterval` given in the series options. (see online documentation
  112635. * for example)
  112636. *
  112637. * 2. An array of objects with named values. The following snippet shows
  112638. * only a few settings, see the complete options set below. If the total
  112639. * number of data points exceeds the series' turboThreshold, this option is
  112640. * not available. (see online documentation for example)
  112641. */
  112642. data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
  112643. /**
  112644. * Not available
  112645. */
  112646. dataParser?: undefined;
  112647. /**
  112648. * Not available
  112649. */
  112650. dataURL?: undefined;
  112651. /**
  112652. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  112653. * TypeScript non-optional and might be `undefined` in series objects from
  112654. * unknown sources.
  112655. */
  112656. type: "ohlc";
  112657. }
  112658. /**
  112659. * (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data and
  112660. * the data itself. In TypeScript you have to cast the series options to
  112661. * specific series types, to get all possible options for a series.
  112662. *
  112663. * You have to extend the `SeriesOptions` via an interface to allow custom
  112664. * properties: ``` declare interface SeriesOptions { customProperty: string; }
  112665. *
  112666. */
  112667. export interface SeriesOptions {
  112668. /**
  112669. * (Highcharts, Highstock, Highmaps, Gantt) An id for the series. This can
  112670. * be used after render time to get a pointer to the series object through
  112671. * `chart.get()`.
  112672. */
  112673. id?: string;
  112674. /**
  112675. * (Highcharts, Highstock, Highmaps, Gantt) The index of the series in the
  112676. * chart, affecting the internal index in the `chart.series` array, the
  112677. * visible Z index as well as the order in the legend.
  112678. */
  112679. index?: number;
  112680. /**
  112681. * (Highcharts, Highstock, Highmaps, Gantt) The sequential index of the
  112682. * series in the legend.
  112683. */
  112684. legendIndex?: number;
  112685. /**
  112686. * (Highmaps) A map data object containing a `path` definition and
  112687. * optionally additional properties to join in the data as per the `joinBy`
  112688. * option.
  112689. */
  112690. mapData?: (Array<SeriesMapDataOptions>|any);
  112691. /**
  112692. * (Highcharts, Highstock, Highmaps, Gantt) The name of the series as shown
  112693. * in the legend, tooltip etc.
  112694. */
  112695. name?: string;
  112696. /**
  112697. * (Highcharts, Highstock) This option allows grouping series in a stacked
  112698. * chart. The stack option can be a string or anything else, as long as the
  112699. * grouped series' stack options match each other after conversion into a
  112700. * string.
  112701. */
  112702. stack?: (number|string);
  112703. /**
  112704. * (Highcharts, Highstock, Highmaps, Gantt) The type of series, for example
  112705. * `line` or `column`. By default, the series type is inherited from
  112706. * chart.type, so unless the chart is a combination of series types, there
  112707. * is no need to set it on the series level.
  112708. */
  112709. type: string;
  112710. /**
  112711. * (Highcharts, Highstock) When using dual or multiple x axes, this number
  112712. * defines which xAxis the particular series is connected to. It refers to
  112713. * either the axis id or the index of the axis in the xAxis array, with 0
  112714. * being the first.
  112715. */
  112716. xAxis?: (number|string);
  112717. /**
  112718. * (Highcharts, Highstock) When using dual or multiple y axes, this number
  112719. * defines which yAxis the particular series is connected to. It refers to
  112720. * either the axis id or the index of the axis in the yAxis array, with 0
  112721. * being the first.
  112722. */
  112723. yAxis?: (number|string);
  112724. /**
  112725. * (Highcharts, Highstock) Define the visual z index of the series.
  112726. */
  112727. zIndex?: number;
  112728. }
  112729. /**
  112730. * The registry for all types of series options.
  112731. */
  112732. export interface SeriesOptionsRegistry {
  112733. SeriesAbandsOptions: SeriesAbandsOptions;
  112734. SeriesAdOptions: SeriesAdOptions;
  112735. SeriesAoOptions: SeriesAoOptions;
  112736. SeriesApoOptions: SeriesApoOptions;
  112737. SeriesAreaOptions: SeriesAreaOptions;
  112738. SeriesArearangeOptions: SeriesArearangeOptions;
  112739. SeriesAreasplineOptions: SeriesAreasplineOptions;
  112740. SeriesAreasplinerangeOptions: SeriesAreasplinerangeOptions;
  112741. SeriesAroonOptions: SeriesAroonOptions;
  112742. SeriesAroonoscillatorOptions: SeriesAroonoscillatorOptions;
  112743. SeriesAtrOptions: SeriesAtrOptions;
  112744. SeriesBarOptions: SeriesBarOptions;
  112745. SeriesBbOptions: SeriesBbOptions;
  112746. SeriesBellcurveOptions: SeriesBellcurveOptions;
  112747. SeriesBoxplotOptions: SeriesBoxplotOptions;
  112748. SeriesBubbleOptions: SeriesBubbleOptions;
  112749. SeriesBulletOptions: SeriesBulletOptions;
  112750. SeriesCandlestickOptions: SeriesCandlestickOptions;
  112751. SeriesCciOptions: SeriesCciOptions;
  112752. SeriesChaikinOptions: SeriesChaikinOptions;
  112753. SeriesCmfOptions: SeriesCmfOptions;
  112754. SeriesCmoOptions: SeriesCmoOptions;
  112755. SeriesColumnOptions: SeriesColumnOptions;
  112756. SeriesColumnpyramidOptions: SeriesColumnpyramidOptions;
  112757. SeriesColumnrangeOptions: SeriesColumnrangeOptions;
  112758. SeriesCylinderOptions: SeriesCylinderOptions;
  112759. SeriesDemaOptions: SeriesDemaOptions;
  112760. SeriesDependencywheelOptions: SeriesDependencywheelOptions;
  112761. SeriesDisparityindexOptions: SeriesDisparityindexOptions;
  112762. SeriesDmiOptions: SeriesDmiOptions;
  112763. SeriesDpoOptions: SeriesDpoOptions;
  112764. SeriesDumbbellOptions: SeriesDumbbellOptions;
  112765. SeriesEmaOptions: SeriesEmaOptions;
  112766. SeriesErrorbarOptions: SeriesErrorbarOptions;
  112767. SeriesFlagsOptions: SeriesFlagsOptions;
  112768. SeriesFunnel3dOptions: SeriesFunnel3dOptions;
  112769. SeriesFunnelOptions: SeriesFunnelOptions;
  112770. SeriesGanttOptions: SeriesGanttOptions;
  112771. SeriesGaugeOptions: SeriesGaugeOptions;
  112772. SeriesHeatmapOptions: SeriesHeatmapOptions;
  112773. SeriesHistogramOptions: SeriesHistogramOptions;
  112774. SeriesIkhOptions: SeriesIkhOptions;
  112775. SeriesItemOptions: SeriesItemOptions;
  112776. SeriesKeltnerchannelsOptions: SeriesKeltnerchannelsOptions;
  112777. SeriesKlingerOptions: SeriesKlingerOptions;
  112778. SeriesLinearregressionangleOptions: SeriesLinearregressionangleOptions;
  112779. SeriesLinearregressioninterceptOptions: SeriesLinearregressioninterceptOptions;
  112780. SeriesLinearregressionOptions: SeriesLinearregressionOptions;
  112781. SeriesLinearregressionslopeOptions: SeriesLinearregressionslopeOptions;
  112782. SeriesLineOptions: SeriesLineOptions;
  112783. SeriesLollipopOptions: SeriesLollipopOptions;
  112784. SeriesMacdOptions: SeriesMacdOptions;
  112785. SeriesMapbubbleOptions: SeriesMapbubbleOptions;
  112786. SeriesMaplineOptions: SeriesMaplineOptions;
  112787. SeriesMapOptions: SeriesMapOptions;
  112788. SeriesMappointOptions: SeriesMappointOptions;
  112789. SeriesMfiOptions: SeriesMfiOptions;
  112790. SeriesMomentumOptions: SeriesMomentumOptions;
  112791. SeriesNatrOptions: SeriesNatrOptions;
  112792. SeriesNetworkgraphOptions: SeriesNetworkgraphOptions;
  112793. SeriesObvOptions: SeriesObvOptions;
  112794. SeriesOhlcOptions: SeriesOhlcOptions;
  112795. SeriesOrganizationOptions: SeriesOrganizationOptions;
  112796. SeriesPackedbubbleOptions: SeriesPackedbubbleOptions;
  112797. SeriesParetoOptions: SeriesParetoOptions;
  112798. SeriesPcOptions: SeriesPcOptions;
  112799. SeriesPieOptions: SeriesPieOptions;
  112800. SeriesPivotpointsOptions: SeriesPivotpointsOptions;
  112801. SeriesPolygonOptions: SeriesPolygonOptions;
  112802. SeriesPpoOptions: SeriesPpoOptions;
  112803. SeriesPriceenvelopesOptions: SeriesPriceenvelopesOptions;
  112804. SeriesPsarOptions: SeriesPsarOptions;
  112805. SeriesPyramid3dOptions: SeriesPyramid3dOptions;
  112806. SeriesPyramidOptions: SeriesPyramidOptions;
  112807. SeriesRocOptions: SeriesRocOptions;
  112808. SeriesRsiOptions: SeriesRsiOptions;
  112809. SeriesSankeyOptions: SeriesSankeyOptions;
  112810. SeriesScatter3dOptions: SeriesScatter3dOptions;
  112811. SeriesScatterOptions: SeriesScatterOptions;
  112812. SeriesSlowstochasticOptions: SeriesSlowstochasticOptions;
  112813. SeriesSmaOptions: SeriesSmaOptions;
  112814. SeriesSolidgaugeOptions: SeriesSolidgaugeOptions;
  112815. SeriesSplineOptions: SeriesSplineOptions;
  112816. SeriesStochasticOptions: SeriesStochasticOptions;
  112817. SeriesStreamgraphOptions: SeriesStreamgraphOptions;
  112818. SeriesSunburstOptions: SeriesSunburstOptions;
  112819. SeriesSupertrendOptions: SeriesSupertrendOptions;
  112820. SeriesTemaOptions: SeriesTemaOptions;
  112821. SeriesTilemapOptions: SeriesTilemapOptions;
  112822. SeriesTimelineOptions: SeriesTimelineOptions;
  112823. SeriesTreemapOptions: SeriesTreemapOptions;
  112824. SeriesTrendlineOptions: SeriesTrendlineOptions;
  112825. SeriesTrixOptions: SeriesTrixOptions;
  112826. SeriesVariablepieOptions: SeriesVariablepieOptions;
  112827. SeriesVariwideOptions: SeriesVariwideOptions;
  112828. SeriesVbpOptions: SeriesVbpOptions;
  112829. SeriesVectorOptions: SeriesVectorOptions;
  112830. SeriesVennOptions: SeriesVennOptions;
  112831. SeriesVwapOptions: SeriesVwapOptions;
  112832. SeriesWaterfallOptions: SeriesWaterfallOptions;
  112833. SeriesWilliamsrOptions: SeriesWilliamsrOptions;
  112834. SeriesWindbarbOptions: SeriesWindbarbOptions;
  112835. SeriesWmaOptions: SeriesWmaOptions;
  112836. SeriesWordcloudOptions: SeriesWordcloudOptions;
  112837. SeriesXrangeOptions: SeriesXrangeOptions;
  112838. SeriesZigzagOptions: SeriesZigzagOptions;
  112839. }
  112840. /**
  112841. * (Highcharts) Enable or disable the initial animation when a series is
  112842. * displayed for the `dataLabels`. The animation can also be set as a
  112843. * configuration object. Please note that this option only applies to the
  112844. * initial animation. For other animations, see chart.animation and the
  112845. * animation parameter under the API methods. The following properties are
  112846. * supported:
  112847. *
  112848. * - `defer`: The animation delay time in milliseconds.
  112849. */
  112850. export interface SeriesOrganizationDataDataLabelsAnimationOptions {
  112851. /**
  112852. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  112853. * dataLabel immediately. As `undefined` inherits defer time from the
  112854. * series.animation.defer.
  112855. */
  112856. defer?: number;
  112857. }
  112858. /**
  112859. * (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
  112860. * appearing on top of the nodes and links. For sankey charts, data labels are
  112861. * visible for the nodes by default, but hidden for links. This is controlled by
  112862. * modifying the `nodeFormat`, and the `format` that applies to links and is an
  112863. * empty string by default.
  112864. */
  112865. export interface SeriesOrganizationDataLabelsOptionsObject {
  112866. /**
  112867. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  112868. * compared to the point. If `right`, the right side of the label should be
  112869. * touching the point. For points with an extent, like columns, the
  112870. * alignments also dictates how to align it inside the box, as given with
  112871. * the inside option. Can be one of `left`, `center` or `right`.
  112872. */
  112873. align?: string;
  112874. /**
  112875. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  112876. * overlap. To make the labels less sensitive for overlapping, the
  112877. * dataLabels.padding can be set to 0.
  112878. */
  112879. allowOverlap?: boolean;
  112880. /**
  112881. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  112882. * animation when a series is displayed for the `dataLabels`. The animation
  112883. * can also be set as a configuration object. Please note that this option
  112884. * only applies to the initial animation. For other animations, see
  112885. * chart.animation and the animation parameter under the API methods. The
  112886. * following properties are supported:
  112887. *
  112888. * - `defer`: The animation delay time in milliseconds.
  112889. */
  112890. animation?: (boolean|PlotOrganizationDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  112891. /**
  112892. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  112893. * for the data label.
  112894. */
  112895. backgroundColor?: string;
  112896. /**
  112897. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  112898. * label. Defaults to `undefined`.
  112899. */
  112900. borderColor?: (ColorString|GradientColorObject|PatternObject);
  112901. /**
  112902. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  112903. * the data label.
  112904. */
  112905. borderRadius?: number;
  112906. /**
  112907. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  112908. * the data label.
  112909. */
  112910. borderWidth?: number;
  112911. /**
  112912. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  112913. * Particularly in styled mode, this can be used to give each series' or
  112914. * point's data label unique styling. In addition to this option, a default
  112915. * color class name is added so that we can give the labels a contrast text
  112916. * shadow.
  112917. */
  112918. className?: string;
  112919. /**
  112920. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  112921. * labels. Defaults to `undefined`. For certain series types, like column or
  112922. * map, the data labels can be drawn inside the points. In this case the
  112923. * data label will be drawn with maximum contrast by default. Additionally,
  112924. * it will be given a `text-outline` style with the opposite color, to
  112925. * further increase the contrast. This can be overridden by setting the
  112926. * `text-outline` style to `none` in the `dataLabels.style` option.
  112927. */
  112928. color?: (ColorString|GradientColorObject|PatternObject);
  112929. /**
  112930. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  112931. * are outside the plot area. By default, the data label is moved inside the
  112932. * plot area according to the overflow option.
  112933. */
  112934. crop?: boolean;
  112935. /**
  112936. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  112937. * labels until the initial series animation has finished. Setting to
  112938. * `false` renders the data label immediately. If set to `true` inherits the
  112939. * defer time set in plotOptions.series.animation. If set to a number, a
  112940. * defer time is specified in milliseconds.
  112941. */
  112942. defer?: (boolean|number);
  112943. /**
  112944. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  112945. * labels.
  112946. */
  112947. enabled?: boolean;
  112948. /**
  112949. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  112950. * of which data labels to display. The declarative filter is designed for
  112951. * use when callback functions are not available, like when the chart
  112952. * options require a pure JSON structure or for use with graphical editors.
  112953. * For programmatic control, use the `formatter` instead, and return
  112954. * `undefined` to disable a single data label.
  112955. */
  112956. filter?: DataLabelsFilterOptionsObject;
  112957. /**
  112958. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  112959. * label. Available variables are the same as for `formatter`.
  112960. */
  112961. format?: string;
  112962. /**
  112963. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  112964. * format the data label. Note that if a `format` is defined, the format
  112965. * takes precedence and the formatter is ignored.
  112966. */
  112967. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  112968. /**
  112969. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  112970. * columns or map areas, whether to align the data label inside the box or
  112971. * to the actual value point. Defaults to `false` in most cases, `true` in
  112972. * stacked columns.
  112973. */
  112974. inside?: boolean;
  112975. /**
  112976. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  112977. * what to show for _nodes_ in the sankey diagram. By default the
  112978. * `nodeFormatter` returns `{point.name}`.
  112979. */
  112980. nodeFormat?: string;
  112981. /**
  112982. * (Highcharts, Highstock, Highmaps, Gantt) A callback for defining the
  112983. * format for _nodes_ in the organization chart. The `nodeFormat` option
  112984. * takes precedence over `nodeFormatter`.
  112985. *
  112986. * In an organization chart, the `nodeFormatter` is a quite complex function
  112987. * of the available options, striving for a good default layout of cards
  112988. * with or without images. In organization chart, the data labels come with
  112989. * `useHTML` set to true, meaning they will be rendered as true HTML above
  112990. * the SVG.
  112991. */
  112992. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  112993. /**
  112994. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  112995. * of null. Works analogously to format. `nullFormat` can be applied only to
  112996. * series which support displaying null points.
  112997. */
  112998. nullFormat?: (boolean|string);
  112999. /**
  113000. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113001. * that defines formatting for points with the value of null. Works
  113002. * analogously to formatter. `nullPointFormatter` can be applied only to
  113003. * series which support displaying null points.
  113004. */
  113005. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113006. /**
  113007. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113008. * flow outside the plot area. The default is `"justify"`, which aligns them
  113009. * inside the plot area. For columns and bars, this means it will be moved
  113010. * inside the bar. To display data labels outside the plot area, set `crop`
  113011. * to `false` and `overflow` to `"allow"`.
  113012. */
  113013. overflow?: DataLabelsOverflowValue;
  113014. /**
  113015. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113016. * the `backgroundColor` is set, this is the padding within the box.
  113017. */
  113018. padding?: number;
  113019. /**
  113020. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113021. * points. If `center` alignment is not possible, it defaults to `right`.
  113022. */
  113023. position?: AlignValue;
  113024. /**
  113025. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113026. * that due to a more complex structure, backgrounds, borders and padding
  113027. * will be lost on a rotated data label.
  113028. */
  113029. rotation?: number;
  113030. /**
  113031. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  113032. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  113033. * an object configuration containing `color`, `offsetX`, `offsetY`,
  113034. * `opacity` and `width`.
  113035. */
  113036. shadow?: (boolean|ShadowOptionsObject);
  113037. /**
  113038. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113039. * the border around the label. Symbols are predefined functions on the
  113040. * Renderer object.
  113041. */
  113042. shape?: string;
  113043. /**
  113044. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113045. * default `color` setting is `"contrast"`, which is a pseudo color that
  113046. * Highcharts picks up and applies the maximum contrast to the underlying
  113047. * point item, for example the bar in a bar chart.
  113048. *
  113049. * The `textOutline` is a pseudo property that applies an outline of the
  113050. * given width with the given color, which by default is the maximum
  113051. * contrast to the text. So a bright text color will result in a black text
  113052. * outline for maximum readability on a mixed background. In some cases,
  113053. * especially with grayscale text, the text outline doesn't work well, in
  113054. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113055. * is true, the `textOutline` will not be picked up. In this, case, the same
  113056. * effect can be acheived through the `text-shadow` CSS property.
  113057. *
  113058. * For some series types, where each point has an extent, like for example
  113059. * tree maps, the data label may overflow the point. There are two
  113060. * strategies for handling overflow. By default, the text will wrap to
  113061. * multiple lines. The other strategy is to set `style.textOverflow` to
  113062. * `ellipsis`, which will keep the text on one line plus it will break
  113063. * inside long words.
  113064. */
  113065. style?: CSSObject;
  113066. /**
  113067. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  113068. * should follow marker's shape. Border and background are disabled for a
  113069. * label that follows a path.
  113070. *
  113071. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  113072. * to true will disable this option.
  113073. */
  113074. textPath?: DataLabelsTextPathOptionsObject;
  113075. /**
  113076. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113077. * the labels.
  113078. */
  113079. useHTML?: boolean;
  113080. /**
  113081. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113082. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113083. * depends on the data, for instance in a column chart, the label is above
  113084. * positive values and below negative values.
  113085. */
  113086. verticalAlign?: string;
  113087. /**
  113088. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113089. * label relative to the point in pixels.
  113090. */
  113091. x?: number;
  113092. /**
  113093. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113094. * label relative to the point in pixels.
  113095. */
  113096. y?: number;
  113097. /**
  113098. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113099. * The default Z index puts it above the series. Use a Z index of 2 to
  113100. * display it behind the series.
  113101. */
  113102. z?: number;
  113103. }
  113104. /**
  113105. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113106. * animation when a series is displayed for the `dataLabels`. The animation can
  113107. * also be set as a configuration object. Please note that this option only
  113108. * applies to the initial animation. For other animations, see chart.animation
  113109. * and the animation parameter under the API methods. The following properties
  113110. * are supported:
  113111. *
  113112. * - `defer`: The animation delay time in milliseconds.
  113113. */
  113114. export interface SeriesOrganizationNodesDataLabelsAnimationOptions {
  113115. /**
  113116. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  113117. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  113118. * inherits defer time from the series.animation.defer.
  113119. */
  113120. defer?: number;
  113121. }
  113122. /**
  113123. * (Highcharts) An `organization` series. If the type option is not specified,
  113124. * it is inherited from chart.type.
  113125. *
  113126. * In TypeScript the type option must always be set.
  113127. *
  113128. * Configuration options for the series are given in three levels:
  113129. *
  113130. * 1. Options for all series in a chart are defined in the plotOptions.series
  113131. * object.
  113132. *
  113133. * 2. Options for all `organization` series are defined in
  113134. * plotOptions.organization.
  113135. *
  113136. * 3. Options for one single series are given in the series instance array. (see
  113137. * online documentation for example)
  113138. *
  113139. * You have to extend the `SeriesOrganizationOptions` via an interface to allow
  113140. * custom properties: ``` declare interface SeriesOrganizationOptions {
  113141. * customProperty: string; }
  113142. *
  113143. */
  113144. export interface SeriesOrganizationOptions extends PlotOrganizationOptions, SeriesOptions {
  113145. /**
  113146. * (Highcharts) An array of data points for the series. For the
  113147. * `organization` series type, points can be given in the following way:
  113148. *
  113149. * An array of objects with named values. The following snippet shows only a
  113150. * few settings, see the complete options set below. If the total number of
  113151. * data points exceeds the series' turboThreshold, this option is not
  113152. * available. (see online documentation for example)
  113153. */
  113154. data?: Array<SeriesSankeyPointOptionsObject>;
  113155. /**
  113156. * (Highcharts) A collection of options for the individual nodes. The nodes
  113157. * in an org chart are auto-generated instances of `Highcharts.Point`, but
  113158. * options can be applied here and linked by the `id`.
  113159. */
  113160. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  113161. /**
  113162. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113163. * TypeScript non-optional and might be `undefined` in series objects from
  113164. * unknown sources.
  113165. */
  113166. type: "organization";
  113167. }
  113168. /**
  113169. * (Highcharts) Enable or disable the initial animation when a series is
  113170. * displayed for the `dataLabels`. The animation can also be set as a
  113171. * configuration object. Please note that this option only applies to the
  113172. * initial animation. For other animations, see chart.animation and the
  113173. * animation parameter under the API methods. The following properties are
  113174. * supported:
  113175. *
  113176. * - `defer`: The animation delay time in milliseconds.
  113177. */
  113178. export interface SeriesPackedbubbleDataDataLabelsAnimationOptions {
  113179. /**
  113180. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  113181. * dataLabel immediately. As `undefined` inherits defer time from the
  113182. * series.animation.defer.
  113183. */
  113184. defer?: number;
  113185. }
  113186. /**
  113187. * (Highcharts) Style options for the guide box. The guide box has one state by
  113188. * default, the `default` state.
  113189. */
  113190. export interface SeriesPackedbubbleDataDragDropGuideBoxOptions {
  113191. /**
  113192. * (Highcharts) Style options for the guide box default state.
  113193. */
  113194. default?: DragDropGuideBoxOptionsObject;
  113195. }
  113196. /**
  113197. * Context for the formatter function.
  113198. */
  113199. export interface SeriesPackedBubbleDataLabelsFormatterContextObject extends PointLabelObject {
  113200. /**
  113201. * The color of the node.
  113202. */
  113203. color: ColorString;
  113204. /**
  113205. * The ID of the node.
  113206. */
  113207. key: string;
  113208. /**
  113209. * The point (node) object. The node name, if defined, is available through
  113210. * `this.point.name`. Arrays: `this.point.linksFrom` and
  113211. * `this.point.linksTo` contains all nodes connected to this point.
  113212. */
  113213. point: Point;
  113214. }
  113215. /**
  113216. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  113217. * appearing next to each data point.
  113218. *
  113219. * Since v6.2.0, multiple data labels can be applied to each single point by
  113220. * defining them as an array of configs.
  113221. *
  113222. * In styled mode, the data labels can be styled with the
  113223. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  113224. * example).
  113225. */
  113226. export interface SeriesPackedBubbleDataLabelsOptionsObject {
  113227. /**
  113228. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  113229. * compared to the point. If `right`, the right side of the label should be
  113230. * touching the point. For points with an extent, like columns, the
  113231. * alignments also dictates how to align it inside the box, as given with
  113232. * the inside option. Can be one of `left`, `center` or `right`.
  113233. */
  113234. align?: (AlignValue|null);
  113235. /**
  113236. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  113237. * overlap. To make the labels less sensitive for overlapping, the
  113238. * dataLabels.padding can be set to 0.
  113239. */
  113240. allowOverlap?: boolean;
  113241. /**
  113242. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113243. * animation when a series is displayed for the `dataLabels`. The animation
  113244. * can also be set as a configuration object. Please note that this option
  113245. * only applies to the initial animation. For other animations, see
  113246. * chart.animation and the animation parameter under the API methods. The
  113247. * following properties are supported:
  113248. *
  113249. * - `defer`: The animation delay time in milliseconds.
  113250. */
  113251. animation?: (boolean|PlotPackedbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  113252. /**
  113253. * (Highcharts, Highstock, Highmaps, Gantt) Presentation attributes for the
  113254. * text path.
  113255. */
  113256. attributes?: SVGAttributes;
  113257. /**
  113258. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113259. * for the data label.
  113260. */
  113261. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  113262. /**
  113263. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  113264. * label. Defaults to `undefined`.
  113265. */
  113266. borderColor?: (ColorString|GradientColorObject|PatternObject);
  113267. /**
  113268. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  113269. * the data label.
  113270. */
  113271. borderRadius?: number;
  113272. /**
  113273. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  113274. * the data label.
  113275. */
  113276. borderWidth?: number;
  113277. /**
  113278. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  113279. * Particularly in styled mode, this can be used to give each series' or
  113280. * point's data label unique styling. In addition to this option, a default
  113281. * color class name is added so that we can give the labels a contrast text
  113282. * shadow.
  113283. */
  113284. className?: string;
  113285. /**
  113286. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  113287. * labels. Defaults to `undefined`. For certain series types, like column or
  113288. * map, the data labels can be drawn inside the points. In this case the
  113289. * data label will be drawn with maximum contrast by default. Additionally,
  113290. * it will be given a `text-outline` style with the opposite color, to
  113291. * further increase the contrast. This can be overridden by setting the
  113292. * `text-outline` style to `none` in the `dataLabels.style` option.
  113293. */
  113294. color?: (ColorString|GradientColorObject|PatternObject);
  113295. /**
  113296. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  113297. * are outside the plot area. By default, the data label is moved inside the
  113298. * plot area according to the overflow option.
  113299. */
  113300. crop?: boolean;
  113301. /**
  113302. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  113303. * labels until the initial series animation has finished. Setting to
  113304. * `false` renders the data label immediately. If set to `true` inherits the
  113305. * defer time set in plotOptions.series.animation. If set to a number, a
  113306. * defer time is specified in milliseconds.
  113307. */
  113308. defer?: (boolean|number);
  113309. /**
  113310. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  113311. * labels.
  113312. */
  113313. enabled?: boolean;
  113314. /**
  113315. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  113316. * of which data labels to display. The declarative filter is designed for
  113317. * use when callback functions are not available, like when the chart
  113318. * options require a pure JSON structure or for use with graphical editors.
  113319. * For programmatic control, use the `formatter` instead, and return
  113320. * `undefined` to disable a single data label.
  113321. */
  113322. filter?: DataLabelsFilterOptionsObject;
  113323. /**
  113324. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  113325. * what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
  113326. * since v7.1 defaults to `undefined` and `formatter` is used instead.
  113327. */
  113328. format?: string;
  113329. /**
  113330. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  113331. * format the data label for a node. Note that if a `format` is defined, the
  113332. * format takes precedence and the formatter is ignored.
  113333. */
  113334. formatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  113335. /**
  113336. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  113337. * columns or map areas, whether to align the data label inside the box or
  113338. * to the actual value point. Defaults to `false` in most cases, `true` in
  113339. * stacked columns.
  113340. */
  113341. inside?: boolean;
  113342. /**
  113343. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  113344. * of null. Works analogously to format. `nullFormat` can be applied only to
  113345. * series which support displaying null points.
  113346. */
  113347. nullFormat?: (boolean|string);
  113348. /**
  113349. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113350. * that defines formatting for points with the value of null. Works
  113351. * analogously to formatter. `nullPointFormatter` can be applied only to
  113352. * series which support displaying null points.
  113353. */
  113354. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113355. /**
  113356. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113357. * flow outside the plot area. The default is `"justify"`, which aligns them
  113358. * inside the plot area. For columns and bars, this means it will be moved
  113359. * inside the bar. To display data labels outside the plot area, set `crop`
  113360. * to `false` and `overflow` to `"allow"`.
  113361. */
  113362. overflow?: DataLabelsOverflowValue;
  113363. /**
  113364. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113365. * the `backgroundColor` is set, this is the padding within the box.
  113366. */
  113367. padding?: number;
  113368. parentNodeFormat?: string;
  113369. parentNodeFormatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
  113370. parentNodeTextPath?: SeriesPackedBubbleDataLabelsTextPathOptionsObject;
  113371. /**
  113372. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113373. * points. If `center` alignment is not possible, it defaults to `right`.
  113374. */
  113375. position?: AlignValue;
  113376. /**
  113377. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113378. * that due to a more complex structure, backgrounds, borders and padding
  113379. * will be lost on a rotated data label.
  113380. */
  113381. rotation?: number;
  113382. /**
  113383. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  113384. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  113385. * an object configuration containing `color`, `offsetX`, `offsetY`,
  113386. * `opacity` and `width`.
  113387. */
  113388. shadow?: (boolean|ShadowOptionsObject);
  113389. /**
  113390. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113391. * the border around the label. Symbols are predefined functions on the
  113392. * Renderer object.
  113393. */
  113394. shape?: string;
  113395. /**
  113396. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113397. * default `color` setting is `"contrast"`, which is a pseudo color that
  113398. * Highcharts picks up and applies the maximum contrast to the underlying
  113399. * point item, for example the bar in a bar chart.
  113400. *
  113401. * The `textOutline` is a pseudo property that applies an outline of the
  113402. * given width with the given color, which by default is the maximum
  113403. * contrast to the text. So a bright text color will result in a black text
  113404. * outline for maximum readability on a mixed background. In some cases,
  113405. * especially with grayscale text, the text outline doesn't work well, in
  113406. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113407. * is true, the `textOutline` will not be picked up. In this, case, the same
  113408. * effect can be acheived through the `text-shadow` CSS property.
  113409. *
  113410. * For some series types, where each point has an extent, like for example
  113411. * tree maps, the data label may overflow the point. There are two
  113412. * strategies for handling overflow. By default, the text will wrap to
  113413. * multiple lines. The other strategy is to set `style.textOverflow` to
  113414. * `ellipsis`, which will keep the text on one line plus it will break
  113415. * inside long words.
  113416. */
  113417. style?: (CSSObject|PlotPackedbubbleDataLabelsStyleOptions);
  113418. /**
  113419. * (Highcharts, Highstock, Highmaps, Gantt) Options for a _node_ label text
  113420. * which should follow marker's shape.
  113421. *
  113422. * **Note:** Only SVG-based renderer supports this option.
  113423. */
  113424. textPath?: DataLabelsTextPathOptionsObject;
  113425. /**
  113426. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113427. * the labels.
  113428. */
  113429. useHTML?: boolean;
  113430. /**
  113431. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113432. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113433. * depends on the data, for instance in a column chart, the label is above
  113434. * positive values and below negative values.
  113435. */
  113436. verticalAlign?: string;
  113437. /**
  113438. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113439. * label relative to the point in pixels.
  113440. */
  113441. x?: number;
  113442. /**
  113443. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113444. * label relative to the point in pixels.
  113445. */
  113446. y?: number;
  113447. /**
  113448. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113449. * The default Z index puts it above the series. Use a Z index of 2 to
  113450. * display it behind the series.
  113451. */
  113452. z?: number;
  113453. }
  113454. export interface SeriesPackedBubbleDataLabelsTextPathOptionsObject {
  113455. /**
  113456. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable `textPath`
  113457. * option for link's or marker's data labels.
  113458. */
  113459. enabled?: boolean;
  113460. }
  113461. /**
  113462. * (Highcharts) A `packedbubble` series. If the type option is not specified, it
  113463. * is inherited from chart.type.
  113464. *
  113465. * In TypeScript the type option must always be set.
  113466. *
  113467. * Configuration options for the series are given in three levels:
  113468. *
  113469. * 1. Options for all series in a chart are defined in the plotOptions.series
  113470. * object.
  113471. *
  113472. * 2. Options for all `packedbubble` series are defined in
  113473. * plotOptions.packedbubble.
  113474. *
  113475. * 3. Options for one single series are given in the series instance array. (see
  113476. * online documentation for example)
  113477. *
  113478. * You have to extend the `SeriesPackedbubbleOptions` via an interface to allow
  113479. * custom properties: ``` declare interface SeriesPackedbubbleOptions {
  113480. * customProperty: string; }
  113481. *
  113482. */
  113483. export interface SeriesPackedbubbleOptions extends PlotPackedbubbleOptions, SeriesOptions {
  113484. /**
  113485. * (Highcharts) An array of data points for the series. For the
  113486. * `packedbubble` series type, points can be given in the following ways:
  113487. *
  113488. * 1. An array of `values`. (see online documentation for example)
  113489. *
  113490. * 2. An array of objects with named values. The objects are point
  113491. * configuration objects as seen below. If the total number of data points
  113492. * exceeds the series' turboThreshold, this option is not available. (see
  113493. * online documentation for example)
  113494. */
  113495. data?: (PointOptionsObject|Array<(object|any[])>);
  113496. /**
  113497. * Not available
  113498. */
  113499. dataParser?: undefined;
  113500. /**
  113501. * Not available
  113502. */
  113503. dataURL?: undefined;
  113504. /**
  113505. * Not available
  113506. */
  113507. stack?: undefined;
  113508. /**
  113509. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113510. * TypeScript non-optional and might be `undefined` in series objects from
  113511. * unknown sources.
  113512. */
  113513. type: "packedbubble";
  113514. }
  113515. /**
  113516. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  113517. * series is displayed for the `dataLabels`. The animation can also be set as a
  113518. * configuration object. Please note that this option only applies to the
  113519. * initial animation. For other animations, see chart.animation and the
  113520. * animation parameter under the API methods. The following properties are
  113521. * supported:
  113522. *
  113523. * - `defer`: The animation delay time in milliseconds.
  113524. */
  113525. export interface SeriesParetoDataDataLabelsAnimationOptions {
  113526. /**
  113527. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  113528. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  113529. * time from the series.animation.defer.
  113530. */
  113531. defer?: number;
  113532. }
  113533. /**
  113534. * (Highcharts) Style options for the guide box. The guide box has one state by
  113535. * default, the `default` state.
  113536. */
  113537. export interface SeriesParetoDataDragDropGuideBoxOptions {
  113538. /**
  113539. * (Highcharts) Style options for the guide box default state.
  113540. */
  113541. default?: DragDropGuideBoxOptionsObject;
  113542. }
  113543. /**
  113544. * (Highcharts) A `pareto` series. If the type option is not specified, it is
  113545. * inherited from chart.type.
  113546. *
  113547. * In TypeScript the type option must always be set.
  113548. *
  113549. * Configuration options for the series are given in three levels:
  113550. *
  113551. * 1. Options for all series in a chart are defined in the plotOptions.series
  113552. * object.
  113553. *
  113554. * 2. Options for all `pareto` series are defined in plotOptions.pareto.
  113555. *
  113556. * 3. Options for one single series are given in the series instance array. (see
  113557. * online documentation for example)
  113558. *
  113559. * You have to extend the `SeriesParetoOptions` via an interface to allow custom
  113560. * properties: ``` declare interface SeriesParetoOptions { customProperty:
  113561. * string; }
  113562. *
  113563. */
  113564. export interface SeriesParetoOptions extends PlotParetoOptions, SeriesOptions {
  113565. /**
  113566. * (Highcharts) An integer identifying the index to use for the base series,
  113567. * or a string representing the id of the series.
  113568. */
  113569. baseSeries?: (number|string);
  113570. /**
  113571. * (Highcharts) An array of data points for the series. For the `pareto`
  113572. * series type, points are calculated dynamically.
  113573. */
  113574. data?: Array<(Array<(number|string)>|PointOptionsObject)>;
  113575. /**
  113576. * Not available
  113577. */
  113578. dataParser?: undefined;
  113579. /**
  113580. * Not available
  113581. */
  113582. dataURL?: undefined;
  113583. /**
  113584. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113585. * TypeScript non-optional and might be `undefined` in series objects from
  113586. * unknown sources.
  113587. */
  113588. type: "pareto";
  113589. }
  113590. /**
  113591. * (Highstock) A Price channel indicator. If the type option is not specified,
  113592. * it is inherited from chart.type.
  113593. *
  113594. * In TypeScript the type option must always be set.
  113595. *
  113596. * Configuration options for the series are given in three levels:
  113597. *
  113598. * 1. Options for all series in a chart are defined in the plotOptions.series
  113599. * object.
  113600. *
  113601. * 2. Options for all `pc` series are defined in plotOptions.pc.
  113602. *
  113603. * 3. Options for one single series are given in the series instance array. (see
  113604. * online documentation for example)
  113605. *
  113606. * You have to extend the `SeriesPcOptions` via an interface to allow custom
  113607. * properties: ``` declare interface SeriesPcOptions { customProperty: string; }
  113608. *
  113609. */
  113610. export interface SeriesPcOptions extends PlotPcOptions, SeriesOptions {
  113611. /**
  113612. * Not available
  113613. */
  113614. dataParser?: undefined;
  113615. /**
  113616. * Not available
  113617. */
  113618. dataURL?: undefined;
  113619. /**
  113620. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113621. * TypeScript non-optional and might be `undefined` in series objects from
  113622. * unknown sources.
  113623. */
  113624. type: "pc";
  113625. }
  113626. /**
  113627. * (Highcharts) Enable or disable the initial animation when a series is
  113628. * displayed for the `dataLabels`. The animation can also be set as a
  113629. * configuration object. Please note that this option only applies to the
  113630. * initial animation. For other animations, see chart.animation and the
  113631. * animation parameter under the API methods. The following properties are
  113632. * supported:
  113633. *
  113634. * - `defer`: The animation delay time in milliseconds.
  113635. */
  113636. export interface SeriesPieDataDataLabelsAnimationOptions {
  113637. /**
  113638. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  113639. * dataLabel immediately. As `undefined` inherits defer time from the
  113640. * series.animation.defer.
  113641. */
  113642. defer?: number;
  113643. }
  113644. /**
  113645. * (Highcharts) Style options for the guide box. The guide box has one state by
  113646. * default, the `default` state.
  113647. */
  113648. export interface SeriesPieDataDragDropGuideBoxOptions {
  113649. /**
  113650. * (Highcharts) Style options for the guide box default state.
  113651. */
  113652. default?: DragDropGuideBoxOptionsObject;
  113653. }
  113654. /**
  113655. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  113656. * appearing next to each data point.
  113657. *
  113658. * Since v6.2.0, multiple data labels can be applied to each single point by
  113659. * defining them as an array of configs.
  113660. *
  113661. * In styled mode, the data labels can be styled with the
  113662. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  113663. * example).
  113664. */
  113665. export interface SeriesPieDataLabelsOptionsObject {
  113666. /**
  113667. * (Highcharts) Alignment method for data labels. Possible values are:
  113668. *
  113669. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  113670. * area.
  113671. *
  113672. * - `connectors`: Connectors have the same x position and the widest label
  113673. * of each half (left & right) touches the nearest vertical edge of the plot
  113674. * area.
  113675. */
  113676. alignTo?: string;
  113677. /**
  113678. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  113679. * animation when a series is displayed for the `dataLabels`. The animation
  113680. * can also be set as a configuration object. Please note that this option
  113681. * only applies to the initial animation. For other animations, see
  113682. * chart.animation and the animation parameter under the API methods. The
  113683. * following properties are supported:
  113684. *
  113685. * - `defer`: The animation delay time in milliseconds.
  113686. */
  113687. animation?: (boolean|PlotFunnelDataLabelsAnimationOptions|PlotItemDataLabelsAnimationOptions|PlotPieDataLabelsAnimationOptions|PlotPyramidDataLabelsAnimationOptions|
  113688. PlotVariablepieDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  113689. /**
  113690. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  113691. * for the data label.
  113692. */
  113693. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  113694. /**
  113695. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  113696. * label. Defaults to `undefined`.
  113697. */
  113698. borderColor?: (ColorString|GradientColorObject|PatternObject);
  113699. /**
  113700. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  113701. * the data label.
  113702. */
  113703. borderRadius?: number;
  113704. /**
  113705. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  113706. * the data label.
  113707. */
  113708. borderWidth?: number;
  113709. /**
  113710. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  113711. * Particularly in styled mode, this can be used to give each series' or
  113712. * point's data label unique styling. In addition to this option, a default
  113713. * color class name is added so that we can give the labels a contrast text
  113714. * shadow.
  113715. */
  113716. className?: string;
  113717. /**
  113718. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  113719. * labels. Defaults to `undefined`. For certain series types, like column or
  113720. * map, the data labels can be drawn inside the points. In this case the
  113721. * data label will be drawn with maximum contrast by default. Additionally,
  113722. * it will be given a `text-outline` style with the opposite color, to
  113723. * further increase the contrast. This can be overridden by setting the
  113724. * `text-outline` style to `none` in the `dataLabels.style` option.
  113725. */
  113726. color?: (ColorString|GradientColorObject|PatternObject);
  113727. /**
  113728. * (Highcharts) The color of the line connecting the data label to the pie
  113729. * slice. The default color is the same as the point's color.
  113730. *
  113731. * In styled mode, the connector stroke is given in the
  113732. * `.highcharts-data-label-connector` class.
  113733. */
  113734. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  113735. /**
  113736. * (Highcharts) The distance from the data label to the connector. Note that
  113737. * data labels also have a default `padding`, so in order for the connector
  113738. * to touch the text, the `padding` must also be 0.
  113739. */
  113740. connectorPadding?: number;
  113741. /**
  113742. * (Highcharts) Specifies the method that is used to generate the connector
  113743. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  113744. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  113745. * the most sense (in most of the cases) when `'alignTo'` is set.
  113746. *
  113747. * Users can provide their own method by passing a function instead of a
  113748. * String. 3 arguments are passed to the callback:
  113749. *
  113750. * - Object that holds the information about the coordinates of the label
  113751. * (`x` & `y` properties) and how the label is located in relation to the
  113752. * pie (`alignment` property). `alignment` can by one of the following:
  113753. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  113754. * right side of the data label) or `'center'` (data label overlaps the
  113755. * pie).
  113756. *
  113757. * - Object that holds the information about the position of the connector.
  113758. * Its `touchingSliceAt` porperty tells the position of the place where the
  113759. * connector touches the slice.
  113760. *
  113761. * - Data label options
  113762. *
  113763. * The function has to return an SVG path definition in array form (see the
  113764. * example).
  113765. */
  113766. connectorShape?: (string|Function);
  113767. /**
  113768. * (Highcharts) The width of the line connecting the data label to the pie
  113769. * slice.
  113770. *
  113771. * In styled mode, the connector stroke width is given in the
  113772. * `.highcharts-data-label-connector` class.
  113773. */
  113774. connectorWidth?: number;
  113775. /**
  113776. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  113777. * defines how far from the vertical plot edge the coonnector path should be
  113778. * crooked.
  113779. */
  113780. crookDistance?: string;
  113781. /**
  113782. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  113783. * are outside the plot area. By default, the data label is moved inside the
  113784. * plot area according to the overflow option.
  113785. */
  113786. crop?: boolean;
  113787. /**
  113788. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  113789. * labels until the initial series animation has finished. Setting to
  113790. * `false` renders the data label immediately. If set to `true` inherits the
  113791. * defer time set in plotOptions.series.animation. If set to a number, a
  113792. * defer time is specified in milliseconds.
  113793. */
  113794. defer?: (boolean|number);
  113795. /**
  113796. * (Highcharts) The distance of the data label from the pie's edge. Negative
  113797. * numbers put the data label on top of the pie slices. Can also be defined
  113798. * as a percentage of pie's radius. Connectors are only shown for data
  113799. * labels outside the pie.
  113800. */
  113801. distance?: (number|string);
  113802. /**
  113803. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  113804. * labels.
  113805. */
  113806. enabled?: boolean;
  113807. /**
  113808. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  113809. * of which data labels to display. The declarative filter is designed for
  113810. * use when callback functions are not available, like when the chart
  113811. * options require a pure JSON structure or for use with graphical editors.
  113812. * For programmatic control, use the `formatter` instead, and return
  113813. * `undefined` to disable a single data label.
  113814. */
  113815. filter?: DataLabelsFilterOptionsObject;
  113816. /**
  113817. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  113818. * label. Available variables are the same as for `formatter`.
  113819. */
  113820. format?: string;
  113821. /**
  113822. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  113823. * format the data label. Note that if a `format` is defined, the format
  113824. * takes precedence and the formatter is ignored.
  113825. */
  113826. formatter?: DataLabelsFormatterCallbackFunction;
  113827. /**
  113828. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  113829. * of null. Works analogously to format. `nullFormat` can be applied only to
  113830. * series which support displaying null points.
  113831. */
  113832. nullFormat?: (boolean|string);
  113833. /**
  113834. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  113835. * that defines formatting for points with the value of null. Works
  113836. * analogously to formatter. `nullPointFormatter` can be applied only to
  113837. * series which support displaying null points.
  113838. */
  113839. nullFormatter?: DataLabelsFormatterCallbackFunction;
  113840. /**
  113841. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  113842. * flow outside the plot area. The default is `"justify"`, which aligns them
  113843. * inside the plot area. For columns and bars, this means it will be moved
  113844. * inside the bar. To display data labels outside the plot area, set `crop`
  113845. * to `false` and `overflow` to `"allow"`.
  113846. */
  113847. overflow?: DataLabelsOverflowValue;
  113848. /**
  113849. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  113850. * the `backgroundColor` is set, this is the padding within the box.
  113851. */
  113852. padding?: number;
  113853. /**
  113854. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  113855. * points. If `center` alignment is not possible, it defaults to `right`.
  113856. */
  113857. position?: AlignValue;
  113858. /**
  113859. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  113860. * that due to a more complex structure, backgrounds, borders and padding
  113861. * will be lost on a rotated data label.
  113862. */
  113863. rotation?: number;
  113864. /**
  113865. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  113866. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  113867. * an object configuration containing `color`, `offsetX`, `offsetY`,
  113868. * `opacity` and `width`.
  113869. */
  113870. shadow?: (boolean|ShadowOptionsObject);
  113871. /**
  113872. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  113873. * the border around the label. Symbols are predefined functions on the
  113874. * Renderer object.
  113875. */
  113876. shape?: string;
  113877. /**
  113878. * (Highcharts) Whether to render the connector as a soft arc or a line with
  113879. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  113880. */
  113881. softConnector?: boolean;
  113882. /**
  113883. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  113884. * default `color` setting is `"contrast"`, which is a pseudo color that
  113885. * Highcharts picks up and applies the maximum contrast to the underlying
  113886. * point item, for example the bar in a bar chart.
  113887. *
  113888. * The `textOutline` is a pseudo property that applies an outline of the
  113889. * given width with the given color, which by default is the maximum
  113890. * contrast to the text. So a bright text color will result in a black text
  113891. * outline for maximum readability on a mixed background. In some cases,
  113892. * especially with grayscale text, the text outline doesn't work well, in
  113893. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  113894. * is true, the `textOutline` will not be picked up. In this, case, the same
  113895. * effect can be acheived through the `text-shadow` CSS property.
  113896. *
  113897. * For some series types, where each point has an extent, like for example
  113898. * tree maps, the data label may overflow the point. There are two
  113899. * strategies for handling overflow. By default, the text will wrap to
  113900. * multiple lines. The other strategy is to set `style.textOverflow` to
  113901. * `ellipsis`, which will keep the text on one line plus it will break
  113902. * inside long words.
  113903. */
  113904. style?: CSSObject;
  113905. /**
  113906. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  113907. * should follow marker's shape. Border and background are disabled for a
  113908. * label that follows a path.
  113909. *
  113910. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  113911. * to true will disable this option.
  113912. */
  113913. textPath?: DataLabelsTextPathOptionsObject;
  113914. /**
  113915. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  113916. * the labels.
  113917. */
  113918. useHTML?: boolean;
  113919. /**
  113920. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  113921. * label. Can be one of `top`, `middle` or `bottom`. The default value
  113922. * depends on the data, for instance in a column chart, the label is above
  113923. * positive values and below negative values.
  113924. */
  113925. verticalAlign?: (string|VerticalAlignValue|null);
  113926. /**
  113927. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  113928. * label relative to the point in pixels.
  113929. */
  113930. x?: number;
  113931. /**
  113932. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  113933. * label relative to the point in pixels.
  113934. */
  113935. y?: number;
  113936. /**
  113937. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  113938. * The default Z index puts it above the series. Use a Z index of 2 to
  113939. * display it behind the series.
  113940. */
  113941. z?: number;
  113942. }
  113943. /**
  113944. * (Highcharts) A `pie` series. If the type option is not specified, it is
  113945. * inherited from chart.type.
  113946. *
  113947. * In TypeScript the type option must always be set.
  113948. *
  113949. * Configuration options for the series are given in three levels:
  113950. *
  113951. * 1. Options for all series in a chart are defined in the plotOptions.series
  113952. * object.
  113953. *
  113954. * 2. Options for all `pie` series are defined in plotOptions.pie.
  113955. *
  113956. * 3. Options for one single series are given in the series instance array. (see
  113957. * online documentation for example)
  113958. *
  113959. * You have to extend the `SeriesPieOptions` via an interface to allow custom
  113960. * properties: ``` declare interface SeriesPieOptions { customProperty: string;
  113961. * }
  113962. *
  113963. */
  113964. export interface SeriesPieOptions extends PlotPieOptions, SeriesOptions {
  113965. /**
  113966. * (Highcharts) An array of data points for the series. For the `pie` series
  113967. * type, points can be given in the following ways:
  113968. *
  113969. * 1. An array of numerical values. In this case, the numerical values will
  113970. * be interpreted as `y` options. Example: (see online documentation for
  113971. * example)
  113972. *
  113973. * 2. An array of objects with named values. The following snippet shows
  113974. * only a few settings, see the complete options set below. If the total
  113975. * number of data points exceeds the series' turboThreshold, this option is
  113976. * not available. (see online documentation for example)
  113977. */
  113978. data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
  113979. /**
  113980. * Not available
  113981. */
  113982. dataParser?: undefined;
  113983. /**
  113984. * Not available
  113985. */
  113986. dataURL?: undefined;
  113987. /**
  113988. * Not available
  113989. */
  113990. stack?: undefined;
  113991. /**
  113992. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  113993. * TypeScript non-optional and might be `undefined` in series objects from
  113994. * unknown sources.
  113995. */
  113996. type: "pie";
  113997. /**
  113998. * Not available
  113999. */
  114000. xAxis?: undefined;
  114001. /**
  114002. * Not available
  114003. */
  114004. yAxis?: undefined;
  114005. }
  114006. /**
  114007. * (Highstock) A pivot points indicator. If the type option is not specified, it
  114008. * is inherited from chart.type.
  114009. *
  114010. * In TypeScript the type option must always be set.
  114011. *
  114012. * Configuration options for the series are given in three levels:
  114013. *
  114014. * 1. Options for all series in a chart are defined in the plotOptions.series
  114015. * object.
  114016. *
  114017. * 2. Options for all `pivotpoints` series are defined in
  114018. * plotOptions.pivotpoints.
  114019. *
  114020. * 3. Options for one single series are given in the series instance array. (see
  114021. * online documentation for example)
  114022. *
  114023. * You have to extend the `SeriesPivotpointsOptions` via an interface to allow
  114024. * custom properties: ``` declare interface SeriesPivotpointsOptions {
  114025. * customProperty: string; }
  114026. *
  114027. */
  114028. export interface SeriesPivotpointsOptions extends PlotPivotpointsOptions, SeriesOptions {
  114029. /**
  114030. * Not available
  114031. */
  114032. dataParser?: undefined;
  114033. /**
  114034. * Not available
  114035. */
  114036. dataURL?: undefined;
  114037. /**
  114038. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114039. * TypeScript non-optional and might be `undefined` in series objects from
  114040. * unknown sources.
  114041. */
  114042. type: "pivotpoints";
  114043. }
  114044. /**
  114045. * Translation and scale for the plot area of a series.
  114046. */
  114047. export interface SeriesPlotBoxObject {
  114048. scaleX: number;
  114049. scaleY: number;
  114050. translateX: number;
  114051. translateY: number;
  114052. }
  114053. /**
  114054. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  114055. * series is displayed for the `dataLabels`. The animation can also be set as a
  114056. * configuration object. Please note that this option only applies to the
  114057. * initial animation. For other animations, see chart.animation and the
  114058. * animation parameter under the API methods. The following properties are
  114059. * supported:
  114060. *
  114061. * - `defer`: The animation delay time in milliseconds.
  114062. */
  114063. export interface SeriesPolygonDataDataLabelsAnimationOptions {
  114064. /**
  114065. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  114066. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  114067. * time from the series.animation.defer.
  114068. */
  114069. defer?: number;
  114070. }
  114071. /**
  114072. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  114073. * one state by default, the `default` state.
  114074. */
  114075. export interface SeriesPolygonDataDragDropGuideBoxOptions {
  114076. /**
  114077. * (Highcharts, Highstock) Style options for the guide box default state.
  114078. */
  114079. default?: DragDropGuideBoxOptionsObject;
  114080. }
  114081. /**
  114082. * (Highcharts, Highstock) A `polygon` series. If the type option is not
  114083. * specified, it is inherited from chart.type.
  114084. *
  114085. * In TypeScript the type option must always be set.
  114086. *
  114087. * Configuration options for the series are given in three levels:
  114088. *
  114089. * 1. Options for all series in a chart are defined in the plotOptions.series
  114090. * object.
  114091. *
  114092. * 2. Options for all `polygon` series are defined in plotOptions.polygon.
  114093. *
  114094. * 3. Options for one single series are given in the series instance array. (see
  114095. * online documentation for example)
  114096. *
  114097. * You have to extend the `SeriesPolygonOptions` via an interface to allow
  114098. * custom properties: ``` declare interface SeriesPolygonOptions {
  114099. * customProperty: string; }
  114100. *
  114101. */
  114102. export interface SeriesPolygonOptions extends PlotPolygonOptions, SeriesOptions {
  114103. /**
  114104. * (Highcharts, Highstock) An array of data points for the series. For the
  114105. * `polygon` series type, points can be given in the following ways:
  114106. *
  114107. * 1. An array of numerical values. In this case, the numerical values will
  114108. * be interpreted as `y` options. The `x` values will be automatically
  114109. * calculated, either starting at 0 and incremented by 1, or from
  114110. * `pointStart` and `pointInterval` given in the series options. If the axis
  114111. * has categories, these will be used. Example: (see online documentation
  114112. * for example)
  114113. *
  114114. * 2. An array of arrays with 2 values. In this case, the values correspond
  114115. * to `x,y`. If the first value is a string, it is applied as the name of
  114116. * the point, and the `x` value is inferred. (see online documentation for
  114117. * example)
  114118. *
  114119. * 3. An array of objects with named values. The following snippet shows
  114120. * only a few settings, see the complete options set below. If the total
  114121. * number of data points exceeds the series' turboThreshold, this option is
  114122. * not available. (see online documentation for example)
  114123. */
  114124. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  114125. /**
  114126. * Not available
  114127. */
  114128. dataParser?: undefined;
  114129. /**
  114130. * Not available
  114131. */
  114132. dataURL?: undefined;
  114133. /**
  114134. * Not available
  114135. */
  114136. stack?: undefined;
  114137. /**
  114138. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114139. * TypeScript non-optional and might be `undefined` in series objects from
  114140. * unknown sources.
  114141. */
  114142. type: "polygon";
  114143. }
  114144. /**
  114145. * (Highstock) A `Percentage Price Oscillator` series. If the type option is not
  114146. * specified, it is inherited from chart.type.
  114147. *
  114148. * In TypeScript the type option must always be set.
  114149. *
  114150. * Configuration options for the series are given in three levels:
  114151. *
  114152. * 1. Options for all series in a chart are defined in the plotOptions.series
  114153. * object.
  114154. *
  114155. * 2. Options for all `ppo` series are defined in plotOptions.ppo.
  114156. *
  114157. * 3. Options for one single series are given in the series instance array. (see
  114158. * online documentation for example)
  114159. *
  114160. * You have to extend the `SeriesPpoOptions` via an interface to allow custom
  114161. * properties: ``` declare interface SeriesPpoOptions { customProperty: string;
  114162. * }
  114163. *
  114164. */
  114165. export interface SeriesPpoOptions extends PlotPpoOptions, SeriesOptions {
  114166. /**
  114167. * Not available
  114168. */
  114169. dataParser?: undefined;
  114170. /**
  114171. * Not available
  114172. */
  114173. dataURL?: undefined;
  114174. /**
  114175. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114176. * TypeScript non-optional and might be `undefined` in series objects from
  114177. * unknown sources.
  114178. */
  114179. type: "ppo";
  114180. }
  114181. /**
  114182. * (Highstock) A price envelopes indicator. If the type option is not specified,
  114183. * it is inherited from chart.type.
  114184. *
  114185. * In TypeScript the type option must always be set.
  114186. *
  114187. * Configuration options for the series are given in three levels:
  114188. *
  114189. * 1. Options for all series in a chart are defined in the plotOptions.series
  114190. * object.
  114191. *
  114192. * 2. Options for all `priceenvelopes` series are defined in
  114193. * plotOptions.priceenvelopes.
  114194. *
  114195. * 3. Options for one single series are given in the series instance array. (see
  114196. * online documentation for example)
  114197. *
  114198. * You have to extend the `SeriesPriceenvelopesOptions` via an interface to
  114199. * allow custom properties: ``` declare interface SeriesPriceenvelopesOptions {
  114200. * customProperty: string; }
  114201. *
  114202. */
  114203. export interface SeriesPriceenvelopesOptions extends PlotPriceenvelopesOptions, SeriesOptions {
  114204. /**
  114205. * Not available
  114206. */
  114207. dataParser?: undefined;
  114208. /**
  114209. * Not available
  114210. */
  114211. dataURL?: undefined;
  114212. /**
  114213. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114214. * TypeScript non-optional and might be `undefined` in series objects from
  114215. * unknown sources.
  114216. */
  114217. type: "priceenvelopes";
  114218. }
  114219. /**
  114220. * (Highstock) A `PSAR` series. If the type option is not specified, it is
  114221. * inherited from chart.type.
  114222. *
  114223. * In TypeScript the type option must always be set.
  114224. *
  114225. * Configuration options for the series are given in three levels:
  114226. *
  114227. * 1. Options for all series in a chart are defined in the plotOptions.series
  114228. * object.
  114229. *
  114230. * 2. Options for all `psar` series are defined in plotOptions.psar.
  114231. *
  114232. * 3. Options for one single series are given in the series instance array. (see
  114233. * online documentation for example)
  114234. *
  114235. * You have to extend the `SeriesPsarOptions` via an interface to allow custom
  114236. * properties: ``` declare interface SeriesPsarOptions { customProperty: string;
  114237. * }
  114238. *
  114239. */
  114240. export interface SeriesPsarOptions extends PlotPsarOptions, SeriesOptions {
  114241. /**
  114242. * Not available
  114243. */
  114244. dataParser?: undefined;
  114245. /**
  114246. * Not available
  114247. */
  114248. dataURL?: undefined;
  114249. /**
  114250. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114251. * TypeScript non-optional and might be `undefined` in series objects from
  114252. * unknown sources.
  114253. */
  114254. type: "psar";
  114255. }
  114256. /**
  114257. * (Highcharts) A `pyramid3d` series. If the type option is not specified, it is
  114258. * inherited from chart.type.
  114259. *
  114260. * In TypeScript the type option must always be set.
  114261. *
  114262. * Configuration options for the series are given in three levels:
  114263. *
  114264. * 1. Options for all series in a chart are defined in the plotOptions.series
  114265. * object.
  114266. *
  114267. * 2. Options for all `pyramid3d` series are defined in plotOptions.pyramid3d.
  114268. *
  114269. * 3. Options for one single series are given in the series instance array. (see
  114270. * online documentation for example)
  114271. *
  114272. * You have to extend the `SeriesPyramid3dOptions` via an interface to allow
  114273. * custom properties: ``` declare interface SeriesPyramid3dOptions {
  114274. * customProperty: string; }
  114275. *
  114276. */
  114277. export interface SeriesPyramid3dOptions extends PlotPyramid3dOptions, SeriesOptions {
  114278. /**
  114279. * Not available
  114280. */
  114281. allAreas?: undefined;
  114282. /**
  114283. * Not available
  114284. */
  114285. boostThreshold?: undefined;
  114286. /**
  114287. * (Highcharts) The center of the series. By default, it is centered in the
  114288. * middle of the plot area, so it fills the plot area height.
  114289. */
  114290. center?: Array<(number|string)>;
  114291. /**
  114292. * Not available
  114293. */
  114294. colorAxis?: undefined;
  114295. /**
  114296. * Not available
  114297. */
  114298. compare?: undefined;
  114299. /**
  114300. * Not available
  114301. */
  114302. compareBase?: undefined;
  114303. /**
  114304. * (Highcharts) Polar charts only. Whether to connect the ends of a line
  114305. * series plot across the extremes.
  114306. */
  114307. connectEnds?: boolean;
  114308. /**
  114309. * (Highcharts, Highstock) Whether to connect a graph line across null
  114310. * points, or render a gap between the two points on either side of the
  114311. * null.
  114312. */
  114313. connectNulls?: boolean;
  114314. /**
  114315. * Not available
  114316. */
  114317. dataSorting?: undefined;
  114318. /**
  114319. * (Highcharts) The end angle of the pie in degrees where 0 is top and 90 is
  114320. * right. Defaults to `startAngle` plus 360.
  114321. */
  114322. endAngle?: number;
  114323. /**
  114324. * (Highcharts) If the total sum of the pie's values is 0, the series is
  114325. * represented as an empty circle . The `fillColor` option defines the color
  114326. * of that circle. Use pie.borderWidth to set the border thickness.
  114327. */
  114328. fillColor?: (ColorString|GradientColorObject|PatternObject);
  114329. /**
  114330. * (Highstock) Defines when to display a gap in the graph, together with the
  114331. * gapUnit option.
  114332. *
  114333. * In case when `dataGrouping` is enabled, points can be grouped into a
  114334. * larger time span. This can make the grouped points to have a greater
  114335. * distance than the absolute value of `gapSize` property, which will result
  114336. * in disappearing graph completely. To prevent this situation the mentioned
  114337. * distance between grouped points is used instead of previously defined
  114338. * `gapSize`.
  114339. *
  114340. * In practice, this option is most often used to visualize gaps in time
  114341. * series. In a stock chart, intraday data is available for daytime hours,
  114342. * while gaps will appear in nights and weekends.
  114343. */
  114344. gapSize?: number;
  114345. /**
  114346. * (Highstock) Together with gapSize, this option defines where to draw gaps
  114347. * in the graph.
  114348. *
  114349. * When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
  114350. * if the distance between two points is greater than 5 times that of the
  114351. * two closest points, the graph will be broken.
  114352. *
  114353. * When the `gapUnit` is `"value"`, the gap is based on absolute axis
  114354. * values, which on a datetime axis is milliseconds. This also applies to
  114355. * the navigator series that inherits gap options from the base series.
  114356. */
  114357. gapUnit?: OptionsGapUnitValue;
  114358. /**
  114359. * (Highcharts) Equivalent to chart.ignoreHiddenSeries, this option tells
  114360. * whether the series shall be redrawn as if the hidden point were `null`.
  114361. *
  114362. * The default value changed from `false` to `true` with Highcharts 3.0.
  114363. */
  114364. ignoreHiddenPoint?: boolean;
  114365. /**
  114366. * (Highcharts, Highstock) The line cap used for line ends and line joins on
  114367. * the graph.
  114368. */
  114369. linecap?: SeriesLinecapValue;
  114370. /**
  114371. * (Highcharts, Highstock) Pixel width of the graph line.
  114372. */
  114373. lineWidth?: number;
  114374. /**
  114375. * (Highcharts) Options for the point markers of line-like series.
  114376. * Properties like `fillColor`, `lineColor` and `lineWidth` define the
  114377. * visual appearance of the markers. Other series types, like column series,
  114378. * don't have markers, but have visual options on the series level instead.
  114379. *
  114380. * In styled mode, the markers can be styled with the `.highcharts-point`,
  114381. * `.highcharts-point-hover` and `.highcharts-point-select` class names.
  114382. */
  114383. marker?: PointMarkerOptionsObject;
  114384. /**
  114385. * (Highcharts) The minimum size for a pie in response to auto margins. The
  114386. * pie will try to shrink to make room for data labels in side the plot
  114387. * area, but only to this size.
  114388. */
  114389. minSize?: (number|string);
  114390. /**
  114391. * (Highcharts) If a point is sliced, moved out from the center, how many
  114392. * pixels should it be moved?.
  114393. */
  114394. slicedOffset?: number;
  114395. /**
  114396. * (Highcharts) The start angle of the pie slices in degrees where 0 is top
  114397. * and 90 right.
  114398. */
  114399. startAngle?: number;
  114400. /**
  114401. * (Highcharts, Highstock) Whether to apply steps to the line. Possible
  114402. * values are `left`, `center` and `right`.
  114403. */
  114404. step?: OptionsStepValue;
  114405. /**
  114406. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114407. * TypeScript non-optional and might be `undefined` in series objects from
  114408. * unknown sources.
  114409. */
  114410. type: "pyramid3d";
  114411. /**
  114412. * (Highstock) The parameter allows setting line series type and use OHLC
  114413. * indicators. Data in OHLC format is required.
  114414. */
  114415. useOhlcData?: boolean;
  114416. }
  114417. /**
  114418. * (Highcharts) Enable or disable the initial animation when a series is
  114419. * displayed for the `dataLabels`. The animation can also be set as a
  114420. * configuration object. Please note that this option only applies to the
  114421. * initial animation. For other animations, see chart.animation and the
  114422. * animation parameter under the API methods. The following properties are
  114423. * supported:
  114424. *
  114425. * - `defer`: The animation delay time in milliseconds.
  114426. */
  114427. export interface SeriesPyramidDataDataLabelsAnimationOptions {
  114428. /**
  114429. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  114430. * dataLabel immediately. As `undefined` inherits defer time from the
  114431. * series.animation.defer.
  114432. */
  114433. defer?: number;
  114434. }
  114435. /**
  114436. * (Highcharts) Style options for the guide box. The guide box has one state by
  114437. * default, the `default` state.
  114438. */
  114439. export interface SeriesPyramidDataDragDropGuideBoxOptions {
  114440. /**
  114441. * (Highcharts) Style options for the guide box default state.
  114442. */
  114443. default?: DragDropGuideBoxOptionsObject;
  114444. }
  114445. /**
  114446. * (Highcharts) A `pyramid` series. If the type option is not specified, it is
  114447. * inherited from chart.type.
  114448. *
  114449. * In TypeScript the type option must always be set.
  114450. *
  114451. * Configuration options for the series are given in three levels:
  114452. *
  114453. * 1. Options for all series in a chart are defined in the plotOptions.series
  114454. * object.
  114455. *
  114456. * 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
  114457. *
  114458. * 3. Options for one single series are given in the series instance array. (see
  114459. * online documentation for example)
  114460. *
  114461. * You have to extend the `SeriesPyramidOptions` via an interface to allow
  114462. * custom properties: ``` declare interface SeriesPyramidOptions {
  114463. * customProperty: string; }
  114464. *
  114465. */
  114466. export interface SeriesPyramidOptions extends PlotPyramidOptions, SeriesOptions {
  114467. /**
  114468. * (Highcharts) An array of data points for the series. For the `pyramid`
  114469. * series type, points can be given in the following ways:
  114470. *
  114471. * 1. An array of numerical values. In this case, the numerical values will
  114472. * be interpreted as `y` options. Example: (see online documentation for
  114473. * example)
  114474. *
  114475. * 2. An array of objects with named values. The following snippet shows
  114476. * only a few settings, see the complete options set below. If the total
  114477. * number of data points exceeds the series' turboThreshold, this option is
  114478. * not available. (see online documentation for example)
  114479. */
  114480. data?: Array<(number|null|PointOptionsObject)>;
  114481. /**
  114482. * Not available
  114483. */
  114484. dataParser?: undefined;
  114485. /**
  114486. * Not available
  114487. */
  114488. dataURL?: undefined;
  114489. /**
  114490. * Not available
  114491. */
  114492. stack?: undefined;
  114493. /**
  114494. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114495. * TypeScript non-optional and might be `undefined` in series objects from
  114496. * unknown sources.
  114497. */
  114498. type: "pyramid";
  114499. /**
  114500. * Not available
  114501. */
  114502. xAxis?: undefined;
  114503. /**
  114504. * Not available
  114505. */
  114506. yAxis?: undefined;
  114507. }
  114508. /**
  114509. * (Highstock) A `ROC` series. If the type option is not specified, it is
  114510. * inherited from chart.type.
  114511. *
  114512. * Rate of change indicator (ROC). The indicator value for each point is defined
  114513. * as:
  114514. *
  114515. * `(C - Cn) / Cn * 100`
  114516. *
  114517. * where: `C` is the close value of the point of the same x in the linked series
  114518. * and `Cn` is the close value of the point `n` periods ago. `n` is set through
  114519. * period.
  114520. *
  114521. * This series requires `linkedTo` option to be set.
  114522. *
  114523. * In TypeScript the type option must always be set.
  114524. *
  114525. * Configuration options for the series are given in three levels:
  114526. *
  114527. * 1. Options for all series in a chart are defined in the plotOptions.series
  114528. * object.
  114529. *
  114530. * 2. Options for all `roc` series are defined in plotOptions.roc.
  114531. *
  114532. * 3. Options for one single series are given in the series instance array. (see
  114533. * online documentation for example)
  114534. *
  114535. * You have to extend the `SeriesRocOptions` via an interface to allow custom
  114536. * properties: ``` declare interface SeriesRocOptions { customProperty: string;
  114537. * }
  114538. *
  114539. */
  114540. export interface SeriesRocOptions extends PlotRocOptions, SeriesOptions {
  114541. /**
  114542. * Not available
  114543. */
  114544. dataParser?: undefined;
  114545. /**
  114546. * Not available
  114547. */
  114548. dataURL?: undefined;
  114549. /**
  114550. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114551. * TypeScript non-optional and might be `undefined` in series objects from
  114552. * unknown sources.
  114553. */
  114554. type: "roc";
  114555. }
  114556. /**
  114557. * (Highstock) A `RSI` series. If the type option is not specified, it is
  114558. * inherited from chart.type.
  114559. *
  114560. * In TypeScript the type option must always be set.
  114561. *
  114562. * Configuration options for the series are given in three levels:
  114563. *
  114564. * 1. Options for all series in a chart are defined in the plotOptions.series
  114565. * object.
  114566. *
  114567. * 2. Options for all `rsi` series are defined in plotOptions.rsi.
  114568. *
  114569. * 3. Options for one single series are given in the series instance array. (see
  114570. * online documentation for example)
  114571. *
  114572. * You have to extend the `SeriesRsiOptions` via an interface to allow custom
  114573. * properties: ``` declare interface SeriesRsiOptions { customProperty: string;
  114574. * }
  114575. *
  114576. */
  114577. export interface SeriesRsiOptions extends PlotRsiOptions, SeriesOptions {
  114578. /**
  114579. * Not available
  114580. */
  114581. dataParser?: undefined;
  114582. /**
  114583. * Not available
  114584. */
  114585. dataURL?: undefined;
  114586. /**
  114587. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  114588. * TypeScript non-optional and might be `undefined` in series objects from
  114589. * unknown sources.
  114590. */
  114591. type: "rsi";
  114592. }
  114593. /**
  114594. * (Highcharts) Enable or disable the initial animation when a series is
  114595. * displayed for the `dataLabels`. The animation can also be set as a
  114596. * configuration object. Please note that this option only applies to the
  114597. * initial animation. For other animations, see chart.animation and the
  114598. * animation parameter under the API methods. The following properties are
  114599. * supported:
  114600. *
  114601. * - `defer`: The animation delay time in milliseconds.
  114602. */
  114603. export interface SeriesSankeyDataDataLabelsAnimationOptions {
  114604. /**
  114605. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  114606. * dataLabel immediately. As `undefined` inherits defer time from the
  114607. * series.animation.defer.
  114608. */
  114609. defer?: number;
  114610. }
  114611. /**
  114612. * Context for the node formatter function.
  114613. */
  114614. export interface SeriesSankeyDataLabelsFormatterContextObject extends PointLabelObject {
  114615. /**
  114616. * The node object. The node name, if defined, is available through
  114617. * `this.point.name`.
  114618. */
  114619. point: SankeyNodeObject;
  114620. }
  114621. /**
  114622. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each node.
  114623. * The options are the same as the ones for series.sankey.dataLabels.
  114624. */
  114625. export interface SeriesSankeyDataLabelsOptionsObject {
  114626. /**
  114627. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  114628. * compared to the point. If `right`, the right side of the label should be
  114629. * touching the point. For points with an extent, like columns, the
  114630. * alignments also dictates how to align it inside the box, as given with
  114631. * the inside option. Can be one of `left`, `center` or `right`.
  114632. */
  114633. align?: string;
  114634. /**
  114635. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  114636. * overlap. To make the labels less sensitive for overlapping, the
  114637. * dataLabels.padding can be set to 0.
  114638. */
  114639. allowOverlap?: boolean;
  114640. /**
  114641. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  114642. * animation when a series is displayed for the `dataLabels`. The animation
  114643. * can also be set as a configuration object. Please note that this option
  114644. * only applies to the initial animation. For other animations, see
  114645. * chart.animation and the animation parameter under the API methods. The
  114646. * following properties are supported:
  114647. *
  114648. * - `defer`: The animation delay time in milliseconds.
  114649. */
  114650. animation?: (boolean|PlotDependencywheelDataLabelsAnimationOptions|PlotDependencywheelLevelsDataLabelsAnimationOptions|PlotOrganizationLevelsDataLabelsAnimationOptions|
  114651. PlotSankeyDataLabelsAnimationOptions|PlotSankeyLevelsDataLabelsAnimationOptions|SeriesDependencywheelNodesDataLabelsAnimationOptions|SeriesOrganizationNodesDataLabelsAnimationOptions|
  114652. SeriesSankeyNodesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  114653. /**
  114654. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  114655. * for the data label.
  114656. */
  114657. backgroundColor?: string;
  114658. /**
  114659. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  114660. * label. Defaults to `undefined`.
  114661. */
  114662. borderColor?: (ColorString|GradientColorObject|PatternObject);
  114663. /**
  114664. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  114665. * the data label.
  114666. */
  114667. borderRadius?: number;
  114668. /**
  114669. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  114670. * the data label.
  114671. */
  114672. borderWidth?: number;
  114673. /**
  114674. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  114675. * Particularly in styled mode, this can be used to give each series' or
  114676. * point's data label unique styling. In addition to this option, a default
  114677. * color class name is added so that we can give the labels a contrast text
  114678. * shadow.
  114679. */
  114680. className?: string;
  114681. /**
  114682. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  114683. * labels. Defaults to `undefined`. For certain series types, like column or
  114684. * map, the data labels can be drawn inside the points. In this case the
  114685. * data label will be drawn with maximum contrast by default. Additionally,
  114686. * it will be given a `text-outline` style with the opposite color, to
  114687. * further increase the contrast. This can be overridden by setting the
  114688. * `text-outline` style to `none` in the `dataLabels.style` option.
  114689. */
  114690. color?: (ColorString|GradientColorObject|PatternObject);
  114691. /**
  114692. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  114693. * are outside the plot area. By default, the data label is moved inside the
  114694. * plot area according to the overflow option.
  114695. */
  114696. crop?: boolean;
  114697. /**
  114698. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  114699. * labels until the initial series animation has finished. Setting to
  114700. * `false` renders the data label immediately. If set to `true` inherits the
  114701. * defer time set in plotOptions.series.animation. If set to a number, a
  114702. * defer time is specified in milliseconds.
  114703. */
  114704. defer?: (boolean|number);
  114705. /**
  114706. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  114707. * labels.
  114708. */
  114709. enabled?: boolean;
  114710. /**
  114711. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  114712. * of which data labels to display. The declarative filter is designed for
  114713. * use when callback functions are not available, like when the chart
  114714. * options require a pure JSON structure or for use with graphical editors.
  114715. * For programmatic control, use the `formatter` instead, and return
  114716. * `undefined` to disable a single data label.
  114717. */
  114718. filter?: DataLabelsFilterOptionsObject;
  114719. /**
  114720. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  114721. * label. Available variables are the same as for `formatter`.
  114722. */
  114723. format?: string;
  114724. /**
  114725. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  114726. * format the data label. Note that if a `format` is defined, the format
  114727. * takes precedence and the formatter is ignored.
  114728. */
  114729. formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  114730. /**
  114731. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  114732. * columns or map areas, whether to align the data label inside the box or
  114733. * to the actual value point. Defaults to `false` in most cases, `true` in
  114734. * stacked columns.
  114735. */
  114736. inside?: boolean;
  114737. /**
  114738. * (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
  114739. * what to show for _nodes_ in the sankey diagram. By default the
  114740. * `nodeFormatter` returns `{point.name}`.
  114741. */
  114742. nodeFormat?: string;
  114743. /**
  114744. * (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
  114745. * for _nodes_ in the sankey diagram. The `nodeFormat` option takes
  114746. * precedence over the `nodeFormatter`.
  114747. */
  114748. nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
  114749. /**
  114750. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  114751. * of null. Works analogously to format. `nullFormat` can be applied only to
  114752. * series which support displaying null points.
  114753. */
  114754. nullFormat?: (boolean|string);
  114755. /**
  114756. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  114757. * that defines formatting for points with the value of null. Works
  114758. * analogously to formatter. `nullPointFormatter` can be applied only to
  114759. * series which support displaying null points.
  114760. */
  114761. nullFormatter?: DataLabelsFormatterCallbackFunction;
  114762. /**
  114763. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  114764. * flow outside the plot area. The default is `"justify"`, which aligns them
  114765. * inside the plot area. For columns and bars, this means it will be moved
  114766. * inside the bar. To display data labels outside the plot area, set `crop`
  114767. * to `false` and `overflow` to `"allow"`.
  114768. */
  114769. overflow?: DataLabelsOverflowValue;
  114770. /**
  114771. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  114772. * the `backgroundColor` is set, this is the padding within the box.
  114773. */
  114774. padding?: number;
  114775. /**
  114776. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  114777. * points. If `center` alignment is not possible, it defaults to `right`.
  114778. */
  114779. position?: AlignValue;
  114780. /**
  114781. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  114782. * that due to a more complex structure, backgrounds, borders and padding
  114783. * will be lost on a rotated data label.
  114784. */
  114785. rotation?: number;
  114786. /**
  114787. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  114788. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  114789. * an object configuration containing `color`, `offsetX`, `offsetY`,
  114790. * `opacity` and `width`.
  114791. */
  114792. shadow?: (boolean|ShadowOptionsObject);
  114793. /**
  114794. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  114795. * the border around the label. Symbols are predefined functions on the
  114796. * Renderer object.
  114797. */
  114798. shape?: string;
  114799. /**
  114800. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  114801. * default `color` setting is `"contrast"`, which is a pseudo color that
  114802. * Highcharts picks up and applies the maximum contrast to the underlying
  114803. * point item, for example the bar in a bar chart.
  114804. *
  114805. * The `textOutline` is a pseudo property that applies an outline of the
  114806. * given width with the given color, which by default is the maximum
  114807. * contrast to the text. So a bright text color will result in a black text
  114808. * outline for maximum readability on a mixed background. In some cases,
  114809. * especially with grayscale text, the text outline doesn't work well, in
  114810. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  114811. * is true, the `textOutline` will not be picked up. In this, case, the same
  114812. * effect can be acheived through the `text-shadow` CSS property.
  114813. *
  114814. * For some series types, where each point has an extent, like for example
  114815. * tree maps, the data label may overflow the point. There are two
  114816. * strategies for handling overflow. By default, the text will wrap to
  114817. * multiple lines. The other strategy is to set `style.textOverflow` to
  114818. * `ellipsis`, which will keep the text on one line plus it will break
  114819. * inside long words.
  114820. */
  114821. style?: CSSObject;
  114822. /**
  114823. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  114824. * should follow marker's shape. Border and background are disabled for a
  114825. * label that follows a path.
  114826. *
  114827. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  114828. * to true will disable this option.
  114829. */
  114830. textPath?: DataLabelsTextPathOptionsObject;
  114831. /**
  114832. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  114833. * the labels.
  114834. */
  114835. useHTML?: boolean;
  114836. /**
  114837. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  114838. * label. Can be one of `top`, `middle` or `bottom`. The default value
  114839. * depends on the data, for instance in a column chart, the label is above
  114840. * positive values and below negative values.
  114841. */
  114842. verticalAlign?: string;
  114843. /**
  114844. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  114845. * label relative to the point in pixels.
  114846. */
  114847. x?: number;
  114848. /**
  114849. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  114850. * label relative to the point in pixels.
  114851. */
  114852. y?: number;
  114853. /**
  114854. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  114855. * The default Z index puts it above the series. Use a Z index of 2 to
  114856. * display it behind the series.
  114857. */
  114858. z?: number;
  114859. }
  114860. /**
  114861. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  114862. * animation when a series is displayed for the `dataLabels`. The animation can
  114863. * also be set as a configuration object. Please note that this option only
  114864. * applies to the initial animation. For other animations, see chart.animation
  114865. * and the animation parameter under the API methods. The following properties
  114866. * are supported:
  114867. *
  114868. * - `defer`: The animation delay time in milliseconds.
  114869. */
  114870. export interface SeriesSankeyNodesDataLabelsAnimationOptions {
  114871. /**
  114872. * (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
  114873. * milliseconds. Set to `0` renders dataLabel immediately. As `undefined`
  114874. * inherits defer time from the series.animation.defer.
  114875. */
  114876. defer?: number;
  114877. }
  114878. /**
  114879. * (Highcharts) A collection of options for the individual nodes. The nodes in a
  114880. * sankey diagram are auto-generated instances of `Highcharts.Point`, but
  114881. * options can be applied here and linked by the `id`.
  114882. */
  114883. export interface SeriesSankeyNodesOptionsObject {
  114884. /**
  114885. * (Highcharts) The color of the auto generated node.
  114886. */
  114887. color?: (ColorString|GradientColorObject|PatternObject);
  114888. /**
  114889. * (Highcharts) The color index of the auto generated node, especially for
  114890. * use in styled mode.
  114891. */
  114892. colorIndex?: number;
  114893. /**
  114894. * (Highcharts) An optional column index of where to place the node. The
  114895. * default behaviour is to place it next to the preceding node. Note that
  114896. * this option name is counter intuitive in inverted charts, like for
  114897. * example an organization chart rendered top down. In this case the
  114898. * "columns" are horizontal.
  114899. */
  114900. column?: number;
  114901. /**
  114902. * (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each
  114903. * node. The options are the same as the ones for series.sankey.dataLabels.
  114904. */
  114905. dataLabels?: (SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|Array<SeriesSankeyDataLabelsOptionsObject>);
  114906. /**
  114907. * (Highcharts) The job description for the node card, will be inserted by
  114908. * the default `dataLabel.nodeFormatter`.
  114909. */
  114910. description?: string;
  114911. /**
  114912. * (Highcharts) The id of the auto-generated node, refering to the `from` or
  114913. * `to` setting of the link.
  114914. */
  114915. id?: string;
  114916. /**
  114917. * (Highcharts) An image for the node card, will be inserted by the default
  114918. * `dataLabel.nodeFormatter`.
  114919. */
  114920. image?: string;
  114921. /**
  114922. * (Highcharts) Layout for the node's children. If `hanging`, this node's
  114923. * children will hang below their parent, allowing a tighter packing of
  114924. * nodes in the diagram.
  114925. */
  114926. layout?: SeriesOrganizationNodesLayoutValue;
  114927. /**
  114928. * (Highcharts) An optional level index of where to place the node. The
  114929. * default behaviour is to place it next to the preceding node. Alias of
  114930. * `nodes.column`, but in inverted sankeys and org charts, the levels are
  114931. * laid out as rows.
  114932. */
  114933. level?: number;
  114934. /**
  114935. * (Highcharts) The name to display for the node in data labels and
  114936. * tooltips. Use this when the name is different from the `id`. Where the id
  114937. * must be unique for each node, this is not necessary for the name.
  114938. */
  114939. name?: string;
  114940. /**
  114941. * (Highcharts) In a horizontal layout, the vertical offset of a node in
  114942. * terms of weight. Positive values shift the node downwards, negative shift
  114943. * it upwards. In a vertical layout, like organization chart, the offset is
  114944. * horizontal.
  114945. *
  114946. * If a percantage string is given, the node is offset by the percentage of
  114947. * the node size plus `nodePadding`.
  114948. */
  114949. offset?: (number|string);
  114950. /**
  114951. * (Highcharts) The job title for the node card, will be inserted by the
  114952. * default `dataLabel.nodeFormatter`.
  114953. */
  114954. title?: string;
  114955. }
  114956. /**
  114957. * (Highcharts) A `sankey` series. If the type option is not specified, it is
  114958. * inherited from chart.type.
  114959. *
  114960. * In TypeScript the type option must always be set.
  114961. *
  114962. * Configuration options for the series are given in three levels:
  114963. *
  114964. * 1. Options for all series in a chart are defined in the plotOptions.series
  114965. * object.
  114966. *
  114967. * 2. Options for all `sankey` series are defined in plotOptions.sankey.
  114968. *
  114969. * 3. Options for one single series are given in the series instance array. (see
  114970. * online documentation for example)
  114971. *
  114972. * You have to extend the `SeriesSankeyOptions` via an interface to allow custom
  114973. * properties: ``` declare interface SeriesSankeyOptions { customProperty:
  114974. * string; }
  114975. *
  114976. */
  114977. export interface SeriesSankeyOptions extends PlotSankeyOptions, SeriesOptions {
  114978. /**
  114979. * Not available
  114980. */
  114981. borderRadius?: undefined;
  114982. /**
  114983. * (Highcharts) An array of data points for the series. For the `sankey`
  114984. * series type, points can be given in the following way:
  114985. *
  114986. * An array of objects with named values. The following snippet shows only a
  114987. * few settings, see the complete options set below. If the total number of
  114988. * data points exceeds the series' turboThreshold, this option is not
  114989. * available. (see online documentation for example)
  114990. */
  114991. data?: Array<SeriesSankeyPointOptionsObject>;
  114992. /**
  114993. * Not available
  114994. */
  114995. dataParser?: undefined;
  114996. /**
  114997. * Not available
  114998. */
  114999. dataURL?: undefined;
  115000. /**
  115001. * Not available
  115002. */
  115003. depth?: undefined;
  115004. /**
  115005. * Not available
  115006. */
  115007. edgeColor?: undefined;
  115008. /**
  115009. * Not available
  115010. */
  115011. edgeWidth?: undefined;
  115012. /**
  115013. * Not available
  115014. */
  115015. grouping?: undefined;
  115016. /**
  115017. * Not available
  115018. */
  115019. groupPadding?: undefined;
  115020. /**
  115021. * Not available
  115022. */
  115023. groupZPadding?: undefined;
  115024. /**
  115025. * Not available
  115026. */
  115027. maxPointWidth?: undefined;
  115028. /**
  115029. * (Highcharts) A collection of options for the individual nodes. The nodes
  115030. * in a sankey diagram are auto-generated instances of `Highcharts.Point`,
  115031. * but options can be applied here and linked by the `id`.
  115032. */
  115033. nodes?: Array<SeriesSankeyNodesOptionsObject>;
  115034. /**
  115035. * Not available
  115036. */
  115037. pointPadding?: undefined;
  115038. /**
  115039. * Not available
  115040. */
  115041. pointWidth?: undefined;
  115042. /**
  115043. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115044. * TypeScript non-optional and might be `undefined` in series objects from
  115045. * unknown sources.
  115046. */
  115047. type: "sankey";
  115048. }
  115049. /**
  115050. * (Highcharts) An array of data points for the series. For the `sankey` series
  115051. * type, points can be given in the following way:
  115052. *
  115053. * An array of objects with named values. The following snippet shows only a few
  115054. * settings, see the complete options set below. If the total number of data
  115055. * points exceeds the series' turboThreshold, this option is not available. (see
  115056. * online documentation for example)
  115057. */
  115058. export interface SeriesSankeyPointOptionsObject {
  115059. /**
  115060. * (Highcharts) Accessibility options for a data point.
  115061. */
  115062. accessibility?: PointAccessibilityOptionsObject;
  115063. /**
  115064. * (Highcharts, Gantt) An additional, individual class name for the data
  115065. * point's graphic representation.
  115066. */
  115067. className?: string;
  115068. /**
  115069. * (Highcharts) The color for the individual _link_. By default, the link
  115070. * color is the same as the node it extends from. The `series.fillOpacity`
  115071. * option also applies to the points, so when setting a specific link color,
  115072. * consider setting the `fillOpacity` to 1.
  115073. */
  115074. color?: (ColorString|GradientColorObject|PatternObject);
  115075. /**
  115076. * (Highcharts, Gantt) A specific color index to use for the point, so its
  115077. * graphic representations are given the class name `highcharts-color-{n}`.
  115078. * In styled mode this will change the color of the graphic. In non-styled
  115079. * mode, the color by is set by the `fill` attribute, so the change in class
  115080. * name won't have a visual effect by default.
  115081. */
  115082. colorIndex?: number;
  115083. /**
  115084. * (Highcharts) A reserved subspace to store options and values for
  115085. * customized functionality. Here you can add additional data for your own
  115086. * event callbacks and formatter callbacks.
  115087. */
  115088. custom?: Dictionary<any>;
  115089. /**
  115090. * (Highcharts) Individual data label for each point. The options are the
  115091. * same as the ones for plotOptions.series.dataLabels.
  115092. */
  115093. dataLabels?: (DataLabelsOptions|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesOrganizationDataLabelsOptionsObject>|
  115094. Array<SeriesSankeyDataLabelsOptionsObject>);
  115095. /**
  115096. * (Highcharts) A description of the point to add to the screen reader
  115097. * information about the point.
  115098. */
  115099. description?: string;
  115100. /**
  115101. * (Highcharts, Highstock, Gantt) The individual point events.
  115102. */
  115103. events?: PointEventsOptionsObject;
  115104. /**
  115105. * (Highcharts) The node that the link runs from.
  115106. */
  115107. from?: string;
  115108. /**
  115109. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  115110. * after render time to get a pointer to the point object through
  115111. * `chart.get()`.
  115112. */
  115113. id?: string;
  115114. /**
  115115. * (Highcharts) The rank for this point's data label in case of collision.
  115116. * If two data labels are about to overlap, only the one with the highest
  115117. * `labelrank` will be drawn.
  115118. */
  115119. labelrank?: number;
  115120. /**
  115121. * (Highcharts) The name of the point as shown in the legend, tooltip,
  115122. * dataLabels, etc.
  115123. */
  115124. name?: string;
  115125. /**
  115126. * (Highcharts) Whether the link goes out of the system.
  115127. */
  115128. outgoing?: boolean;
  115129. /**
  115130. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  115131. * initially.
  115132. */
  115133. selected?: boolean;
  115134. /**
  115135. * (Highcharts) The node that the link runs to.
  115136. */
  115137. to?: string;
  115138. /**
  115139. * (Highcharts) The weight of the link.
  115140. */
  115141. weight?: (number|null);
  115142. }
  115143. /**
  115144. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115145. * series is displayed for the `dataLabels`. The animation can also be set as a
  115146. * configuration object. Please note that this option only applies to the
  115147. * initial animation. For other animations, see chart.animation and the
  115148. * animation parameter under the API methods. The following properties are
  115149. * supported:
  115150. *
  115151. * - `defer`: The animation delay time in milliseconds.
  115152. */
  115153. export interface SeriesScatter3dDataDataLabelsAnimationOptions {
  115154. /**
  115155. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115156. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115157. * time from the series.animation.defer.
  115158. */
  115159. defer?: number;
  115160. }
  115161. /**
  115162. * (Highcharts) Style options for the guide box. The guide box has one state by
  115163. * default, the `default` state.
  115164. */
  115165. export interface SeriesScatter3dDataDragDropGuideBoxOptions {
  115166. /**
  115167. * (Highcharts) Style options for the guide box default state.
  115168. */
  115169. default?: DragDropGuideBoxOptionsObject;
  115170. }
  115171. /**
  115172. * (Highcharts) A `scatter3d` series. If the type option is not specified, it is
  115173. * inherited from chart.type.
  115174. *
  115175. * scatter3d](#plotOptions.scatter3d).
  115176. *
  115177. * In TypeScript the type option must always be set.
  115178. *
  115179. * Configuration options for the series are given in three levels:
  115180. *
  115181. * 1. Options for all series in a chart are defined in the plotOptions.series
  115182. * object.
  115183. *
  115184. * 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
  115185. *
  115186. * 3. Options for one single series are given in the series instance array. (see
  115187. * online documentation for example)
  115188. *
  115189. * You have to extend the `SeriesScatter3dOptions` via an interface to allow
  115190. * custom properties: ``` declare interface SeriesScatter3dOptions {
  115191. * customProperty: string; }
  115192. *
  115193. */
  115194. export interface SeriesScatter3dOptions extends PlotScatter3dOptions, SeriesOptions {
  115195. /**
  115196. * (Highcharts) An array of data points for the series. For the `scatter3d`
  115197. * series type, points can be given in the following ways:
  115198. *
  115199. * 1. An array of arrays with 3 values. In this case, the values correspond
  115200. * to `x,y,z`. If the first value is a string, it is applied as the name of
  115201. * the point, and the `x` value is inferred. (see online documentation for
  115202. * example)
  115203. *
  115204. * 3. An array of objects with named values. The following snippet shows
  115205. * only a few settings, see the complete options set below. If the total
  115206. * number of data points exceeds the series' turboThreshold, this option is
  115207. * not available. (see online documentation for example)
  115208. */
  115209. data?: Array<(Array<number>|PointOptionsObject)>;
  115210. /**
  115211. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115212. * TypeScript non-optional and might be `undefined` in series objects from
  115213. * unknown sources.
  115214. */
  115215. type: "scatter3d";
  115216. }
  115217. /**
  115218. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115219. * series is displayed for the `dataLabels`. The animation can also be set as a
  115220. * configuration object. Please note that this option only applies to the
  115221. * initial animation. For other animations, see chart.animation and the
  115222. * animation parameter under the API methods. The following properties are
  115223. * supported:
  115224. *
  115225. * - `defer`: The animation delay time in milliseconds.
  115226. */
  115227. export interface SeriesScatterDataDataLabelsAnimationOptions {
  115228. /**
  115229. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115230. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115231. * time from the series.animation.defer.
  115232. */
  115233. defer?: number;
  115234. }
  115235. /**
  115236. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115237. * one state by default, the `default` state.
  115238. */
  115239. export interface SeriesScatterDataDragDropGuideBoxOptions {
  115240. /**
  115241. * (Highcharts, Highstock) Style options for the guide box default state.
  115242. */
  115243. default?: DragDropGuideBoxOptionsObject;
  115244. }
  115245. /**
  115246. * (Highcharts, Highstock) A `scatter` series. If the type option is not
  115247. * specified, it is inherited from chart.type.
  115248. *
  115249. * In TypeScript the type option must always be set.
  115250. *
  115251. * Configuration options for the series are given in three levels:
  115252. *
  115253. * 1. Options for all series in a chart are defined in the plotOptions.series
  115254. * object.
  115255. *
  115256. * 2. Options for all `scatter` series are defined in plotOptions.scatter.
  115257. *
  115258. * 3. Options for one single series are given in the series instance array. (see
  115259. * online documentation for example)
  115260. *
  115261. * You have to extend the `SeriesScatterOptions` via an interface to allow
  115262. * custom properties: ``` declare interface SeriesScatterOptions {
  115263. * customProperty: string; }
  115264. *
  115265. */
  115266. export interface SeriesScatterOptions extends PlotScatterOptions, SeriesOptions {
  115267. /**
  115268. * (Highcharts, Highstock) An array of data points for the series. For the
  115269. * `scatter` series type, points can be given in the following ways:
  115270. *
  115271. * 1. An array of numerical values. In this case, the numerical values will
  115272. * be interpreted as `y` options. The `x` values will be automatically
  115273. * calculated, either starting at 0 and incremented by 1, or from
  115274. * `pointStart` and `pointInterval` given in the series options. If the axis
  115275. * has categories, these will be used. Example: (see online documentation
  115276. * for example)
  115277. *
  115278. * 2. An array of arrays with 2 values. In this case, the values correspond
  115279. * to `x,y`. If the first value is a string, it is applied as the name of
  115280. * the point, and the `x` value is inferred. (see online documentation for
  115281. * example)
  115282. *
  115283. * 3. An array of objects with named values. The following snippet shows
  115284. * only a few settings, see the complete options set below. If the total
  115285. * number of data points exceeds the series' turboThreshold, this option is
  115286. * not available. (see online documentation for example)
  115287. */
  115288. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115289. /**
  115290. * Not available
  115291. */
  115292. dataParser?: undefined;
  115293. /**
  115294. * Not available
  115295. */
  115296. dataURL?: undefined;
  115297. /**
  115298. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115299. * TypeScript non-optional and might be `undefined` in series objects from
  115300. * unknown sources.
  115301. */
  115302. type: "scatter";
  115303. /**
  115304. * Not available
  115305. */
  115306. useOhlcData?: undefined;
  115307. }
  115308. /**
  115309. * (Highstock) A Slow Stochastic indicator. If the type option is not specified,
  115310. * it is inherited from chart.type.
  115311. *
  115312. * In TypeScript the type option must always be set.
  115313. *
  115314. * Configuration options for the series are given in three levels:
  115315. *
  115316. * 1. Options for all series in a chart are defined in the plotOptions.series
  115317. * object.
  115318. *
  115319. * 2. Options for all `slowstochastic` series are defined in
  115320. * plotOptions.slowstochastic.
  115321. *
  115322. * 3. Options for one single series are given in the series instance array. (see
  115323. * online documentation for example)
  115324. *
  115325. * You have to extend the `SeriesSlowstochasticOptions` via an interface to
  115326. * allow custom properties: ``` declare interface SeriesSlowstochasticOptions {
  115327. * customProperty: string; }
  115328. *
  115329. */
  115330. export interface SeriesSlowstochasticOptions extends PlotSlowstochasticOptions, SeriesOptions {
  115331. /**
  115332. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115333. * TypeScript non-optional and might be `undefined` in series objects from
  115334. * unknown sources.
  115335. */
  115336. type: "slowstochastic";
  115337. }
  115338. /**
  115339. * (Highstock) A `SMA` series. If the type option is not specified, it is
  115340. * 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 `sma` series are defined in plotOptions.sma.
  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 `SeriesSmaOptions` via an interface to allow custom
  115355. * properties: ``` declare interface SeriesSmaOptions { customProperty: string;
  115356. * }
  115357. *
  115358. */
  115359. export interface SeriesSmaOptions extends PlotSmaOptions, SeriesOptions {
  115360. /**
  115361. * Not available
  115362. */
  115363. dataParser?: undefined;
  115364. /**
  115365. * Not available
  115366. */
  115367. dataURL?: undefined;
  115368. /**
  115369. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115370. * TypeScript non-optional and might be `undefined` in series objects from
  115371. * unknown sources.
  115372. */
  115373. type: "sma";
  115374. /**
  115375. * Not available
  115376. */
  115377. useOhlcData?: undefined;
  115378. }
  115379. /**
  115380. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115381. * series is displayed for the `dataLabels`. The animation can also be set as a
  115382. * configuration object. Please note that this option only applies to the
  115383. * initial animation. For other animations, see chart.animation and the
  115384. * animation parameter under the API methods. The following properties are
  115385. * supported:
  115386. *
  115387. * - `defer`: The animation delay time in milliseconds.
  115388. */
  115389. export interface SeriesSolidgaugeDataDataLabelsAnimationOptions {
  115390. /**
  115391. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115392. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115393. * time from the series.animation.defer.
  115394. */
  115395. defer?: number;
  115396. }
  115397. /**
  115398. * (Highcharts) Style options for the guide box. The guide box has one state by
  115399. * default, the `default` state.
  115400. */
  115401. export interface SeriesSolidgaugeDataDragDropGuideBoxOptions {
  115402. /**
  115403. * (Highcharts) Style options for the guide box default state.
  115404. */
  115405. default?: DragDropGuideBoxOptionsObject;
  115406. }
  115407. /**
  115408. * (Highcharts) A `solidgauge` series. If the type option is not specified, it
  115409. * is inherited from chart.type.
  115410. *
  115411. * In TypeScript the type option must always be set.
  115412. *
  115413. * Configuration options for the series are given in three levels:
  115414. *
  115415. * 1. Options for all series in a chart are defined in the plotOptions.series
  115416. * object.
  115417. *
  115418. * 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
  115419. *
  115420. * 3. Options for one single series are given in the series instance array. (see
  115421. * online documentation for example)
  115422. *
  115423. * You have to extend the `SeriesSolidgaugeOptions` via an interface to allow
  115424. * custom properties: ``` declare interface SeriesSolidgaugeOptions {
  115425. * customProperty: string; }
  115426. *
  115427. */
  115428. export interface SeriesSolidgaugeOptions extends PlotSolidgaugeOptions, SeriesOptions {
  115429. /**
  115430. * (Highcharts) An array of data points for the series. For the `solidgauge`
  115431. * series type, points can be given in the following ways:
  115432. *
  115433. * 1. An array of numerical values. In this case, the numerical values will
  115434. * be interpreted as `y` options. Example: (see online documentation for
  115435. * example)
  115436. *
  115437. * 2. An array of objects with named values. The following snippet shows
  115438. * only a few settings, see the complete options set below. If the total
  115439. * number of data points exceeds the series' turboThreshold, this option is
  115440. * not available. (see online documentation for example)
  115441. *
  115442. * The typical gauge only contains a single data value.
  115443. */
  115444. data?: Array<(number|null|PointOptionsObject)>;
  115445. /**
  115446. * Not available
  115447. */
  115448. dataParser?: undefined;
  115449. /**
  115450. * Not available
  115451. */
  115452. dataURL?: undefined;
  115453. /**
  115454. * Not available
  115455. */
  115456. dial?: undefined;
  115457. /**
  115458. * Not available
  115459. */
  115460. pivot?: undefined;
  115461. /**
  115462. * Not available
  115463. */
  115464. stack?: undefined;
  115465. /**
  115466. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115467. * TypeScript non-optional and might be `undefined` in series objects from
  115468. * unknown sources.
  115469. */
  115470. type: "solidgauge";
  115471. /**
  115472. * Not available
  115473. */
  115474. wrap?: undefined;
  115475. }
  115476. /**
  115477. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115478. * series is displayed for the `dataLabels`. The animation can also be set as a
  115479. * configuration object. Please note that this option only applies to the
  115480. * initial animation. For other animations, see chart.animation and the
  115481. * animation parameter under the API methods. The following properties are
  115482. * supported:
  115483. *
  115484. * - `defer`: The animation delay time in milliseconds.
  115485. */
  115486. export interface SeriesSplineDataDataLabelsAnimationOptions {
  115487. /**
  115488. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115489. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115490. * time from the series.animation.defer.
  115491. */
  115492. defer?: number;
  115493. }
  115494. /**
  115495. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115496. * one state by default, the `default` state.
  115497. */
  115498. export interface SeriesSplineDataDragDropGuideBoxOptions {
  115499. /**
  115500. * (Highcharts, Highstock) Style options for the guide box default state.
  115501. */
  115502. default?: DragDropGuideBoxOptionsObject;
  115503. }
  115504. /**
  115505. * (Highcharts, Highstock) A `spline` series. If the type option is not
  115506. * specified, it is inherited from chart.type.
  115507. *
  115508. * In TypeScript the type option must always be set.
  115509. *
  115510. * Configuration options for the series are given in three levels:
  115511. *
  115512. * 1. Options for all series in a chart are defined in the plotOptions.series
  115513. * object.
  115514. *
  115515. * 2. Options for all `spline` series are defined in plotOptions.spline.
  115516. *
  115517. * 3. Options for one single series are given in the series instance array. (see
  115518. * online documentation for example)
  115519. *
  115520. * You have to extend the `SeriesSplineOptions` via an interface to allow custom
  115521. * properties: ``` declare interface SeriesSplineOptions { customProperty:
  115522. * string; }
  115523. *
  115524. */
  115525. export interface SeriesSplineOptions extends PlotSplineOptions, SeriesOptions {
  115526. /**
  115527. * (Highcharts, Highstock) An array of data points for the series. For the
  115528. * `spline` series type, points can be given in the following ways:
  115529. *
  115530. * 1. An array of numerical values. In this case, the numerical values will
  115531. * be interpreted as `y` options. The `x` values will be automatically
  115532. * calculated, either starting at 0 and incremented by 1, or from
  115533. * `pointStart` and `pointInterval` given in the series options. If the axis
  115534. * has categories, these will be used. Example: (see online documentation
  115535. * for example)
  115536. *
  115537. * 2. An array of arrays with 2 values. In this case, the values correspond
  115538. * to `x,y`. If the first value is a string, it is applied as the name of
  115539. * the point, and the `x` value is inferred. (see online documentation for
  115540. * example)
  115541. *
  115542. * 3. An array of objects with named values. The following snippet shows
  115543. * only a few settings, see the complete options set below. If the total
  115544. * number of data points exceeds the series' turboThreshold, this option is
  115545. * not available. (see online documentation for example)
  115546. */
  115547. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115548. /**
  115549. * Not available
  115550. */
  115551. dataParser?: undefined;
  115552. /**
  115553. * Not available
  115554. */
  115555. dataURL?: undefined;
  115556. /**
  115557. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115558. * TypeScript non-optional and might be `undefined` in series objects from
  115559. * unknown sources.
  115560. */
  115561. type: "spline";
  115562. }
  115563. /**
  115564. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115565. * point in line-type series as well as outside the hovered slice in pie charts.
  115566. * By default the halo is filled by the current point or series color with an
  115567. * opacity of 0.25\. The halo can be disabled by setting the `halo` option to
  115568. * `null`.
  115569. *
  115570. * In styled mode, the halo is styled with the `.highcharts-halo` class, with
  115571. * colors inherited from `.highcharts-color-{n}`.
  115572. */
  115573. export interface SeriesStatesHoverHaloOptionsObject {
  115574. /**
  115575. * (Highcharts, Highstock) A collection of SVG attributes to override the
  115576. * appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
  115577. */
  115578. attributes?: (PlotTilemapStatesHoverHaloAttributesOptions|SVGAttributes);
  115579. enabled?: boolean;
  115580. /**
  115581. * (Highcharts, Highstock) Opacity for the halo unless a specific fill is
  115582. * overridden using the `attributes` setting. Note that Highcharts is only
  115583. * able to apply opacity to colors of hex or rgb(a) formats.
  115584. */
  115585. opacity?: number;
  115586. /**
  115587. * (Highcharts, Highstock) The pixel size of the halo. For point markers
  115588. * this is the radius of the halo. For pie slices it is the width of the
  115589. * halo outside the slice. For bubbles it defaults to 5 and is the width of
  115590. * the halo outside the bubble.
  115591. */
  115592. size?: number;
  115593. }
  115594. /**
  115595. * (Highstock) Options for the hovered series. These settings override the
  115596. * normal state options when a series is moused over or touched.
  115597. */
  115598. export interface SeriesStatesHoverOptionsObject {
  115599. /**
  115600. * (Highcharts, Highstock) Animation setting for hovering the graph in
  115601. * line-type series.
  115602. */
  115603. animation?: (boolean|Partial<AnimationOptionsObject>);
  115604. /**
  115605. * (Highmaps) The border color of the point in this state.
  115606. */
  115607. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  115608. /**
  115609. * (Highmaps) The border width of the point in this state
  115610. */
  115611. borderWidth?: number;
  115612. /**
  115613. * (Highmaps) The relative brightness of the point when hovered, relative to
  115614. * the normal point color.
  115615. */
  115616. brightness?: number;
  115617. /**
  115618. * (Highmaps) The color of the shape in this state.
  115619. */
  115620. color?: (ColorString|GradientColorObject|PatternObject);
  115621. /**
  115622. * (Highstock) Enable separate styles for the hovered series to visualize
  115623. * that the user hovers either the series itself or the legend.
  115624. */
  115625. enabled?: boolean;
  115626. /**
  115627. * (Highstock) The fill or background color of the flag.
  115628. */
  115629. fillColor?: (ColorString|GradientColorObject|PatternObject);
  115630. /**
  115631. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115632. * point in line-type series as well as outside the hovered slice in pie
  115633. * charts. By default the halo is filled by the current point or series
  115634. * color with an opacity of 0.25\. The halo can be disabled by setting the
  115635. * `halo` option to `null`.
  115636. *
  115637. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  115638. * with colors inherited from `.highcharts-color-{n}`.
  115639. */
  115640. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  115641. /**
  115642. * (Highstock) The color of the line/border of the flag.
  115643. */
  115644. lineColor?: (ColorString|GradientColorObject|PatternObject);
  115645. /**
  115646. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  115647. * property is undefined, and the `lineWidthPlus` property dictates how much
  115648. * to increase the linewidth from normal state.
  115649. */
  115650. lineWidth?: number;
  115651. /**
  115652. * (Highcharts, Highstock) The additional line width for the graph of a
  115653. * hovered series.
  115654. */
  115655. lineWidthPlus?: number;
  115656. /**
  115657. * (Highcharts, Highstock, Gantt) Opacity for the links between nodes in the
  115658. * sankey diagram in hover mode.
  115659. */
  115660. linkOpacity?: number;
  115661. /**
  115662. * (Highcharts) The opacity of a point in treemap. When a point has
  115663. * children, the visibility of the children is determined by the opacity.
  115664. */
  115665. opacity?: number;
  115666. /**
  115667. * (Highcharts) The shadow option for hovered state.
  115668. */
  115669. shadow?: boolean;
  115670. }
  115671. /**
  115672. * (Highstock) The opposite state of a hover for series.
  115673. */
  115674. export interface SeriesStatesInactiveOptionsObject {
  115675. /**
  115676. * (Highstock) Animation when not hovering over the marker.
  115677. */
  115678. animation?: (boolean|Partial<AnimationOptionsObject>);
  115679. /**
  115680. * (Highstock) Enable or disable the inactive state for a series
  115681. */
  115682. enabled?: boolean;
  115683. /**
  115684. * (Highcharts) Opacity for the links between nodes in the sankey diagram in
  115685. * inactive mode.
  115686. */
  115687. linkOpacity?: number;
  115688. /**
  115689. * (Highstock) Opacity of inactive markers.
  115690. */
  115691. opacity?: number;
  115692. }
  115693. /**
  115694. * (Highstock) The normal state of a series, or for point items in column, pie
  115695. * and similar series. Currently only used for setting animation when returning
  115696. * to normal state from hover.
  115697. */
  115698. export interface SeriesStatesNormalOptionsObject {
  115699. /**
  115700. * (Highstock) Animation when returning to normal state after hovering.
  115701. */
  115702. animation?: (boolean|Partial<AnimationOptionsObject>);
  115703. }
  115704. /**
  115705. * (Highcharts) A wrapper object for all the series options in specific states.
  115706. */
  115707. export interface SeriesStatesOptionsObject {
  115708. /**
  115709. * (Highstock) Options for the hovered series. These settings override the
  115710. * normal state options when a series is moused over or touched.
  115711. */
  115712. hover?: SeriesStatesHoverOptionsObject;
  115713. /**
  115714. * (Highstock) The opposite state of a hover for series.
  115715. */
  115716. inactive?: SeriesStatesInactiveOptionsObject;
  115717. /**
  115718. * (Highstock) The normal state of a series, or for point items in column,
  115719. * pie and similar series. Currently only used for setting animation when
  115720. * returning to normal state from hover.
  115721. */
  115722. normal?: SeriesStatesNormalOptionsObject;
  115723. /**
  115724. * (Highstock) Specific options for point in selected states, after being
  115725. * selected by allowPointSelect or programmatically.
  115726. */
  115727. select?: SeriesStatesSelectOptionsObject;
  115728. }
  115729. /**
  115730. * (Highstock) Specific options for point in selected states, after being
  115731. * selected by allowPointSelect or programmatically.
  115732. */
  115733. export interface SeriesStatesSelectOptionsObject {
  115734. /**
  115735. * (Highcharts, Highstock) Animation setting for hovering the graph in
  115736. * line-type series.
  115737. */
  115738. animation?: (boolean|Partial<AnimationOptionsObject>);
  115739. /**
  115740. * (Highmaps) The border color of the point in this state.
  115741. */
  115742. borderColor?: (string|ColorString|GradientColorObject|PatternObject);
  115743. /**
  115744. * (Highmaps) The border width of the point in this state
  115745. */
  115746. borderWidth?: number;
  115747. /**
  115748. * (Highmaps) The color of the shape in this state.
  115749. */
  115750. color?: (string|ColorString|GradientColorObject|PatternObject);
  115751. /**
  115752. * (Highstock) Enable separate styles for the hovered series to visualize
  115753. * that the user hovers either the series itself or the legend.
  115754. */
  115755. enabled?: boolean;
  115756. /**
  115757. * (Highcharts, Highstock) Options for the halo appearing around the hovered
  115758. * point in line-type series as well as outside the hovered slice in pie
  115759. * charts. By default the halo is filled by the current point or series
  115760. * color with an opacity of 0.25\. The halo can be disabled by setting the
  115761. * `halo` option to `null`.
  115762. *
  115763. * In styled mode, the halo is styled with the `.highcharts-halo` class,
  115764. * with colors inherited from `.highcharts-color-{n}`.
  115765. */
  115766. halo?: (SeriesStatesHoverHaloOptionsObject|null);
  115767. /**
  115768. * (Highcharts, Highstock) Pixel width of the graph line. By default this
  115769. * property is undefined, and the `lineWidthPlus` property dictates how much
  115770. * to increase the linewidth from normal state.
  115771. */
  115772. lineWidth?: number;
  115773. /**
  115774. * (Highcharts, Highstock) The additional line width for the graph of a
  115775. * hovered series.
  115776. */
  115777. lineWidthPlus?: number;
  115778. }
  115779. /**
  115780. * (Highstock) A Stochastic indicator. If the type option is not specified, it
  115781. * is inherited from chart.type.
  115782. *
  115783. * In TypeScript the type option must always be set.
  115784. *
  115785. * Configuration options for the series are given in three levels:
  115786. *
  115787. * 1. Options for all series in a chart are defined in the plotOptions.series
  115788. * object.
  115789. *
  115790. * 2. Options for all `stochastic` series are defined in plotOptions.stochastic.
  115791. *
  115792. * 3. Options for one single series are given in the series instance array. (see
  115793. * online documentation for example)
  115794. *
  115795. * You have to extend the `SeriesStochasticOptions` via an interface to allow
  115796. * custom properties: ``` declare interface SeriesStochasticOptions {
  115797. * customProperty: string; }
  115798. *
  115799. */
  115800. export interface SeriesStochasticOptions extends PlotStochasticOptions, SeriesOptions {
  115801. /**
  115802. * Not available
  115803. */
  115804. dataParser?: undefined;
  115805. /**
  115806. * Not available
  115807. */
  115808. dataURL?: undefined;
  115809. /**
  115810. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115811. * TypeScript non-optional and might be `undefined` in series objects from
  115812. * unknown sources.
  115813. */
  115814. type: "stochastic";
  115815. }
  115816. /**
  115817. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  115818. * series is displayed for the `dataLabels`. The animation can also be set as a
  115819. * configuration object. Please note that this option only applies to the
  115820. * initial animation. For other animations, see chart.animation and the
  115821. * animation parameter under the API methods. The following properties are
  115822. * supported:
  115823. *
  115824. * - `defer`: The animation delay time in milliseconds.
  115825. */
  115826. export interface SeriesStreamgraphDataDataLabelsAnimationOptions {
  115827. /**
  115828. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  115829. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  115830. * time from the series.animation.defer.
  115831. */
  115832. defer?: number;
  115833. }
  115834. /**
  115835. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  115836. * one state by default, the `default` state.
  115837. */
  115838. export interface SeriesStreamgraphDataDragDropGuideBoxOptions {
  115839. /**
  115840. * (Highcharts, Highstock) Style options for the guide box default state.
  115841. */
  115842. default?: DragDropGuideBoxOptionsObject;
  115843. }
  115844. /**
  115845. * (Highcharts, Highstock) A `streamgraph` series. If the type option is not
  115846. * specified, it is inherited from chart.type.
  115847. *
  115848. * In TypeScript the type option must always be set.
  115849. *
  115850. * Configuration options for the series are given in three levels:
  115851. *
  115852. * 1. Options for all series in a chart are defined in the plotOptions.series
  115853. * object.
  115854. *
  115855. * 2. Options for all `streamgraph` series are defined in
  115856. * plotOptions.streamgraph.
  115857. *
  115858. * 3. Options for one single series are given in the series instance array. (see
  115859. * online documentation for example)
  115860. *
  115861. * You have to extend the `SeriesStreamgraphOptions` via an interface to allow
  115862. * custom properties: ``` declare interface SeriesStreamgraphOptions {
  115863. * customProperty: string; }
  115864. *
  115865. */
  115866. export interface SeriesStreamgraphOptions extends PlotStreamgraphOptions, SeriesOptions {
  115867. /**
  115868. * (Highcharts, Highstock) An array of data points for the series. For the
  115869. * `streamgraph` series type, points can be given in the following ways:
  115870. *
  115871. * 1. An array of numerical values. In this case, the numerical values will
  115872. * be interpreted as `y` options. The `x` values will be automatically
  115873. * calculated, either starting at 0 and incremented by 1, or from
  115874. * `pointStart` and `pointInterval` given in the series options. If the axis
  115875. * has categories, these will be used. Example: (see online documentation
  115876. * for example)
  115877. *
  115878. * 2. An array of arrays with 2 values. In this case, the values correspond
  115879. * to `x,y`. If the first value is a string, it is applied as the name of
  115880. * the point, and the `x` value is inferred. (see online documentation for
  115881. * example)
  115882. *
  115883. * 3. An array of objects with named values. The following snippet shows
  115884. * only a few settings, see the complete options set below. If the total
  115885. * number of data points exceeds the series' turboThreshold, this option is
  115886. * not available. (see online documentation for example)
  115887. */
  115888. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  115889. /**
  115890. * Not available
  115891. */
  115892. dataParser?: undefined;
  115893. /**
  115894. * Not available
  115895. */
  115896. dataURL?: undefined;
  115897. /**
  115898. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  115899. * TypeScript non-optional and might be `undefined` in series objects from
  115900. * unknown sources.
  115901. */
  115902. type: "streamgraph";
  115903. }
  115904. /**
  115905. * (Highcharts) Enable or disable the initial animation when a series is
  115906. * displayed for the `dataLabels`. The animation can also be set as a
  115907. * configuration object. Please note that this option only applies to the
  115908. * initial animation. For other animations, see chart.animation and the
  115909. * animation parameter under the API methods. The following properties are
  115910. * supported:
  115911. *
  115912. * - `defer`: The animation delay time in milliseconds.
  115913. */
  115914. export interface SeriesSunburstDataDataLabelsAnimationOptions {
  115915. /**
  115916. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  115917. * dataLabel immediately. As `undefined` inherits defer time from the
  115918. * series.animation.defer.
  115919. */
  115920. defer?: number;
  115921. }
  115922. /**
  115923. * (Highcharts) Style options for the guide box. The guide box has one state by
  115924. * default, the `default` state.
  115925. */
  115926. export interface SeriesSunburstDataDragDropGuideBoxOptions {
  115927. /**
  115928. * (Highcharts) Style options for the guide box default state.
  115929. */
  115930. default?: DragDropGuideBoxOptionsObject;
  115931. }
  115932. /**
  115933. * (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all points
  115934. * which lies on the same level.
  115935. */
  115936. export interface SeriesSunburstDataLabelsOptionsObject {
  115937. /**
  115938. * (Highcharts) Alignment method for data labels. Possible values are:
  115939. *
  115940. * - `toPlotEdges`: Each label touches the nearest vertical edge of the plot
  115941. * area.
  115942. *
  115943. * - `connectors`: Connectors have the same x position and the widest label
  115944. * of each half (left & right) touches the nearest vertical edge of the plot
  115945. * area.
  115946. */
  115947. alignTo?: string;
  115948. allowOverlap?: boolean;
  115949. /**
  115950. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  115951. * animation when a series is displayed for the `dataLabels`. The animation
  115952. * can also be set as a configuration object. Please note that this option
  115953. * only applies to the initial animation. For other animations, see
  115954. * chart.animation and the animation parameter under the API methods. The
  115955. * following properties are supported:
  115956. *
  115957. * - `defer`: The animation delay time in milliseconds.
  115958. */
  115959. animation?: (boolean|PlotSunburstDataLabelsAnimationOptions|PlotSunburstLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  115960. /**
  115961. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  115962. * for the data label.
  115963. */
  115964. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  115965. /**
  115966. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  115967. * label. Defaults to `undefined`.
  115968. */
  115969. borderColor?: (ColorString|GradientColorObject|PatternObject);
  115970. /**
  115971. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  115972. * the data label.
  115973. */
  115974. borderRadius?: number;
  115975. /**
  115976. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  115977. * the data label.
  115978. */
  115979. borderWidth?: number;
  115980. /**
  115981. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  115982. * Particularly in styled mode, this can be used to give each series' or
  115983. * point's data label unique styling. In addition to this option, a default
  115984. * color class name is added so that we can give the labels a contrast text
  115985. * shadow.
  115986. */
  115987. className?: string;
  115988. /**
  115989. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  115990. * labels. Defaults to `undefined`. For certain series types, like column or
  115991. * map, the data labels can be drawn inside the points. In this case the
  115992. * data label will be drawn with maximum contrast by default. Additionally,
  115993. * it will be given a `text-outline` style with the opposite color, to
  115994. * further increase the contrast. This can be overridden by setting the
  115995. * `text-outline` style to `none` in the `dataLabels.style` option.
  115996. */
  115997. color?: (ColorString|GradientColorObject|PatternObject);
  115998. /**
  115999. * (Highcharts) The color of the line connecting the data label to the pie
  116000. * slice. The default color is the same as the point's color.
  116001. *
  116002. * In styled mode, the connector stroke is given in the
  116003. * `.highcharts-data-label-connector` class.
  116004. */
  116005. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  116006. /**
  116007. * (Highcharts) The distance from the data label to the connector. Note that
  116008. * data labels also have a default `padding`, so in order for the connector
  116009. * to touch the text, the `padding` must also be 0.
  116010. */
  116011. connectorPadding?: number;
  116012. /**
  116013. * (Highcharts) Specifies the method that is used to generate the connector
  116014. * path. Highcharts provides 3 built-in connector shapes: `'fixedOffset'`
  116015. * (default), `'straight'` and `'crookedLine'`. Using `'crookedLine'` has
  116016. * the most sense (in most of the cases) when `'alignTo'` is set.
  116017. *
  116018. * Users can provide their own method by passing a function instead of a
  116019. * String. 3 arguments are passed to the callback:
  116020. *
  116021. * - Object that holds the information about the coordinates of the label
  116022. * (`x` & `y` properties) and how the label is located in relation to the
  116023. * pie (`alignment` property). `alignment` can by one of the following:
  116024. * `'left'` (pie on the left side of the data label), `'right'` (pie on the
  116025. * right side of the data label) or `'center'` (data label overlaps the
  116026. * pie).
  116027. *
  116028. * - Object that holds the information about the position of the connector.
  116029. * Its `touchingSliceAt` porperty tells the position of the place where the
  116030. * connector touches the slice.
  116031. *
  116032. * - Data label options
  116033. *
  116034. * The function has to return an SVG path definition in array form (see the
  116035. * example).
  116036. */
  116037. connectorShape?: (string|Function);
  116038. /**
  116039. * (Highcharts) The width of the line connecting the data label to the pie
  116040. * slice.
  116041. *
  116042. * In styled mode, the connector stroke width is given in the
  116043. * `.highcharts-data-label-connector` class.
  116044. */
  116045. connectorWidth?: number;
  116046. /**
  116047. * (Highcharts) Works only if `connectorShape` is `'crookedLine'`. It
  116048. * defines how far from the vertical plot edge the coonnector path should be
  116049. * crooked.
  116050. */
  116051. crookDistance?: string;
  116052. /**
  116053. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  116054. * are outside the plot area. By default, the data label is moved inside the
  116055. * plot area according to the overflow option.
  116056. */
  116057. crop?: boolean;
  116058. /**
  116059. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  116060. * labels until the initial series animation has finished. Setting to
  116061. * `false` renders the data label immediately. If set to `true` inherits the
  116062. * defer time set in plotOptions.series.animation. If set to a number, a
  116063. * defer time is specified in milliseconds.
  116064. */
  116065. defer?: boolean;
  116066. /**
  116067. * (Highcharts) The distance of the data label from the pie's edge. Negative
  116068. * numbers put the data label on top of the pie slices. Can also be defined
  116069. * as a percentage of pie's radius. Connectors are only shown for data
  116070. * labels outside the pie.
  116071. */
  116072. distance?: (number|string);
  116073. /**
  116074. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  116075. * labels.
  116076. */
  116077. enabled?: boolean;
  116078. /**
  116079. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  116080. * of which data labels to display. The declarative filter is designed for
  116081. * use when callback functions are not available, like when the chart
  116082. * options require a pure JSON structure or for use with graphical editors.
  116083. * For programmatic control, use the `formatter` instead, and return
  116084. * `undefined` to disable a single data label.
  116085. */
  116086. filter?: DataLabelsFilterOptionsObject;
  116087. /**
  116088. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  116089. * label. Available variables are the same as for `formatter`.
  116090. */
  116091. format?: string;
  116092. /**
  116093. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  116094. * format the data label. Note that if a `format` is defined, the format
  116095. * takes precedence and the formatter is ignored.
  116096. */
  116097. formatter?: DataLabelsFormatterCallbackFunction;
  116098. /**
  116099. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  116100. * of null. Works analogously to format. `nullFormat` can be applied only to
  116101. * series which support displaying null points.
  116102. */
  116103. nullFormat?: (boolean|string);
  116104. /**
  116105. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  116106. * that defines formatting for points with the value of null. Works
  116107. * analogously to formatter. `nullPointFormatter` can be applied only to
  116108. * series which support displaying null points.
  116109. */
  116110. nullFormatter?: DataLabelsFormatterCallbackFunction;
  116111. /**
  116112. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  116113. * flow outside the plot area. The default is `"justify"`, which aligns them
  116114. * inside the plot area. For columns and bars, this means it will be moved
  116115. * inside the bar. To display data labels outside the plot area, set `crop`
  116116. * to `false` and `overflow` to `"allow"`.
  116117. */
  116118. overflow?: DataLabelsOverflowValue;
  116119. /**
  116120. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  116121. * the `backgroundColor` is set, this is the padding within the box.
  116122. */
  116123. padding?: number;
  116124. /**
  116125. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  116126. * points. If `center` alignment is not possible, it defaults to `right`.
  116127. */
  116128. position?: AlignValue;
  116129. /**
  116130. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  116131. * that due to a more complex structure, backgrounds, borders and padding
  116132. * will be lost on a rotated data label.
  116133. */
  116134. rotation?: number;
  116135. /**
  116136. * (Highcharts, Highstock, Highmaps, Gantt) Decides how the data label will
  116137. * be rotated relative to the perimeter of the sunburst. Valid values are
  116138. * `auto`, `circular`, `parallel` and `perpendicular`. When `auto`, the best
  116139. * fit will be computed for the point. The `circular` option works similiar
  116140. * to `auto`, but uses the `textPath` feature - labels are curved, resulting
  116141. * in a better layout, however multiple lines and `textOutline` are not
  116142. * supported.
  116143. *
  116144. * The `series.rotation` option takes precedence over `rotationMode`.
  116145. */
  116146. rotationMode?: OptionsRotationModeValue;
  116147. /**
  116148. * (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
  116149. * best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
  116150. * an object configuration containing `color`, `offsetX`, `offsetY`,
  116151. * `opacity` and `width`.
  116152. */
  116153. shadow?: (boolean|ShadowOptionsObject);
  116154. /**
  116155. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  116156. * the border around the label. Symbols are predefined functions on the
  116157. * Renderer object.
  116158. */
  116159. shape?: string;
  116160. /**
  116161. * (Highcharts) Whether to render the connector as a soft arc or a line with
  116162. * sharp break. Works only if `connectorShape` equals to `fixedOffset`.
  116163. */
  116164. softConnector?: boolean;
  116165. /**
  116166. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  116167. * default `color` setting is `"contrast"`, which is a pseudo color that
  116168. * Highcharts picks up and applies the maximum contrast to the underlying
  116169. * point item, for example the bar in a bar chart.
  116170. *
  116171. * The `textOutline` is a pseudo property that applies an outline of the
  116172. * given width with the given color, which by default is the maximum
  116173. * contrast to the text. So a bright text color will result in a black text
  116174. * outline for maximum readability on a mixed background. In some cases,
  116175. * especially with grayscale text, the text outline doesn't work well, in
  116176. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  116177. * is true, the `textOutline` will not be picked up. In this, case, the same
  116178. * effect can be acheived through the `text-shadow` CSS property.
  116179. *
  116180. * For some series types, where each point has an extent, like for example
  116181. * tree maps, the data label may overflow the point. There are two
  116182. * strategies for handling overflow. By default, the text will wrap to
  116183. * multiple lines. The other strategy is to set `style.textOverflow` to
  116184. * `ellipsis`, which will keep the text on one line plus it will break
  116185. * inside long words.
  116186. */
  116187. style?: CSSObject;
  116188. /**
  116189. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  116190. * should follow marker's shape. Border and background are disabled for a
  116191. * label that follows a path.
  116192. *
  116193. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  116194. * to true will disable this option.
  116195. */
  116196. textPath?: DataLabelsTextPathOptionsObject;
  116197. /**
  116198. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  116199. * the labels.
  116200. */
  116201. useHTML?: boolean;
  116202. /**
  116203. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  116204. * label. Can be one of `top`, `middle` or `bottom`. The default value
  116205. * depends on the data, for instance in a column chart, the label is above
  116206. * positive values and below negative values.
  116207. */
  116208. verticalAlign?: (VerticalAlignValue|null);
  116209. /**
  116210. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  116211. * label relative to the point in pixels.
  116212. */
  116213. x?: number;
  116214. /**
  116215. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  116216. * label relative to the point in pixels.
  116217. */
  116218. y?: number;
  116219. /**
  116220. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  116221. * The default Z index puts it above the series. Use a Z index of 2 to
  116222. * display it behind the series.
  116223. */
  116224. z?: number;
  116225. }
  116226. /**
  116227. * (Highcharts) A `sunburst` series. If the type option is not specified, it is
  116228. * inherited from chart.type.
  116229. *
  116230. * In TypeScript the type option must always be set.
  116231. *
  116232. * Configuration options for the series are given in three levels:
  116233. *
  116234. * 1. Options for all series in a chart are defined in the plotOptions.series
  116235. * object.
  116236. *
  116237. * 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
  116238. *
  116239. * 3. Options for one single series are given in the series instance array. (see
  116240. * online documentation for example)
  116241. *
  116242. * You have to extend the `SeriesSunburstOptions` via an interface to allow
  116243. * custom properties: ``` declare interface SeriesSunburstOptions {
  116244. * customProperty: string; }
  116245. *
  116246. */
  116247. export interface SeriesSunburstOptions extends PlotSunburstOptions, SeriesOptions {
  116248. /**
  116249. * (Highcharts) An array of data points for the series. For the `treemap`
  116250. * series type, points can be given in the following ways:
  116251. *
  116252. * 1. An array of numerical values. In this case, the numerical values will
  116253. * be interpreted as `value` options. Example: (see online documentation for
  116254. * example)
  116255. *
  116256. * 2. An array of objects with named values. The following snippet shows
  116257. * only a few settings, see the complete options set below. If the total
  116258. * number of data points exceeds the series' turboThreshold, this option is
  116259. * not available. (see online documentation for example)
  116260. */
  116261. data?: Array<(number|null|PointOptionsObject)>;
  116262. /**
  116263. * Not available
  116264. */
  116265. dataParser?: undefined;
  116266. /**
  116267. * Not available
  116268. */
  116269. dataURL?: undefined;
  116270. /**
  116271. * Not available
  116272. */
  116273. stack?: undefined;
  116274. /**
  116275. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116276. * TypeScript non-optional and might be `undefined` in series objects from
  116277. * unknown sources.
  116278. */
  116279. type: "sunburst";
  116280. }
  116281. /**
  116282. * (Highstock) A `Supertrend indicator` series. If the type option is not
  116283. * specified, it is inherited from chart.type.
  116284. *
  116285. * In TypeScript the type option must always be set.
  116286. *
  116287. * Configuration options for the series are given in three levels:
  116288. *
  116289. * 1. Options for all series in a chart are defined in the plotOptions.series
  116290. * object.
  116291. *
  116292. * 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
  116293. *
  116294. * 3. Options for one single series are given in the series instance array. (see
  116295. * online documentation for example)
  116296. *
  116297. * You have to extend the `SeriesSupertrendOptions` via an interface to allow
  116298. * custom properties: ``` declare interface SeriesSupertrendOptions {
  116299. * customProperty: string; }
  116300. *
  116301. */
  116302. export interface SeriesSupertrendOptions extends PlotSupertrendOptions, SeriesOptions {
  116303. /**
  116304. * Not available
  116305. */
  116306. data?: undefined;
  116307. /**
  116308. * Not available
  116309. */
  116310. dataParser?: undefined;
  116311. /**
  116312. * Not available
  116313. */
  116314. dataURL?: undefined;
  116315. /**
  116316. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116317. * TypeScript non-optional and might be `undefined` in series objects from
  116318. * unknown sources.
  116319. */
  116320. type: "supertrend";
  116321. }
  116322. /**
  116323. * (Highstock) A `TEMA` series. If the type option is not specified, it is
  116324. * inherited from chart.type.
  116325. *
  116326. * In TypeScript the type option must always be set.
  116327. *
  116328. * Configuration options for the series are given in three levels:
  116329. *
  116330. * 1. Options for all series in a chart are defined in the plotOptions.series
  116331. * object.
  116332. *
  116333. * 2. Options for all `tema` series are defined in plotOptions.tema.
  116334. *
  116335. * 3. Options for one single series are given in the series instance array. (see
  116336. * online documentation for example)
  116337. *
  116338. * You have to extend the `SeriesTemaOptions` via an interface to allow custom
  116339. * properties: ``` declare interface SeriesTemaOptions { customProperty: string;
  116340. * }
  116341. *
  116342. */
  116343. export interface SeriesTemaOptions extends PlotTemaOptions, SeriesOptions {
  116344. /**
  116345. * Not available
  116346. */
  116347. dataParser?: undefined;
  116348. /**
  116349. * Not available
  116350. */
  116351. dataURL?: undefined;
  116352. /**
  116353. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116354. * TypeScript non-optional and might be `undefined` in series objects from
  116355. * unknown sources.
  116356. */
  116357. type: "tema";
  116358. }
  116359. /**
  116360. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116361. * series is displayed for the `dataLabels`. The animation can also be set as a
  116362. * configuration object. Please note that this option only applies to the
  116363. * initial animation. For other animations, see chart.animation and the
  116364. * animation parameter under the API methods. The following properties are
  116365. * supported:
  116366. *
  116367. * - `defer`: The animation delay time in milliseconds.
  116368. */
  116369. export interface SeriesTilemapDataDataLabelsAnimationOptions {
  116370. /**
  116371. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116372. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116373. * time from the series.animation.defer.
  116374. */
  116375. defer?: number;
  116376. }
  116377. /**
  116378. * (Highcharts, Highmaps) Style options for the guide box. The guide box has one
  116379. * state by default, the `default` state.
  116380. */
  116381. export interface SeriesTilemapDataDragDropGuideBoxOptions {
  116382. /**
  116383. * (Highcharts, Highmaps) Style options for the guide box default state.
  116384. */
  116385. default?: DragDropGuideBoxOptionsObject;
  116386. }
  116387. /**
  116388. * (Highcharts, Highmaps) A `tilemap` series. If the type option is not
  116389. * specified, it is inherited from chart.type.
  116390. *
  116391. * In TypeScript the type option must always be set.
  116392. *
  116393. * Configuration options for the series are given in three levels:
  116394. *
  116395. * 1. Options for all series in a chart are defined in the plotOptions.series
  116396. * object.
  116397. *
  116398. * 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
  116399. *
  116400. * 3. Options for one single series are given in the series instance array. (see
  116401. * online documentation for example)
  116402. *
  116403. * You have to extend the `SeriesTilemapOptions` via an interface to allow
  116404. * custom properties: ``` declare interface SeriesTilemapOptions {
  116405. * customProperty: string; }
  116406. *
  116407. */
  116408. export interface SeriesTilemapOptions extends PlotTilemapOptions, SeriesOptions {
  116409. /**
  116410. * (Highcharts, Highmaps) An array of data points for the series. For the
  116411. * `tilemap` series type, points can be given in the following ways:
  116412. *
  116413. * 1. An array of arrays with 3 or 2 values. In this case, the values
  116414. * correspond to `x,y,value`. If the first value is a string, it is applied
  116415. * as the name of the point, and the `x` value is inferred. The `x` value
  116416. * can also be omitted, in which case the inner arrays should be of length
  116417. * 2\. Then the `x` value is automatically calculated, either starting at 0
  116418. * and incremented by 1, or from `pointStart` and `pointInterval` given in
  116419. * the series options. (see online documentation for example)
  116420. *
  116421. * 2. An array of objects with named values. The objects are point
  116422. * configuration objects as seen below. If the total number of data points
  116423. * exceeds the series' turboThreshold, this option is not available. (see
  116424. * online documentation for example)
  116425. *
  116426. * Note that for some tileShapes the grid coordinates are offset.
  116427. */
  116428. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  116429. /**
  116430. * Not available
  116431. */
  116432. dataParser?: undefined;
  116433. /**
  116434. * Not available
  116435. */
  116436. dataURL?: undefined;
  116437. /**
  116438. * Not available
  116439. */
  116440. mapData?: undefined;
  116441. /**
  116442. * Not available
  116443. */
  116444. stack?: undefined;
  116445. /**
  116446. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116447. * TypeScript non-optional and might be `undefined` in series objects from
  116448. * unknown sources.
  116449. */
  116450. type: "tilemap";
  116451. }
  116452. /**
  116453. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116454. * series is displayed for the `dataLabels`. The animation can also be set as a
  116455. * configuration object. Please note that this option only applies to the
  116456. * initial animation. For other animations, see chart.animation and the
  116457. * animation parameter under the API methods. The following properties are
  116458. * supported:
  116459. *
  116460. * - `defer`: The animation delay time in milliseconds.
  116461. */
  116462. export interface SeriesTimelineDataDataLabelsAnimationOptions {
  116463. /**
  116464. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116465. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116466. * time from the series.animation.defer.
  116467. */
  116468. defer?: number;
  116469. }
  116470. /**
  116471. * (Highcharts) Style options for the guide box. The guide box has one state by
  116472. * default, the `default` state.
  116473. */
  116474. export interface SeriesTimelineDataDragDropGuideBoxOptions {
  116475. /**
  116476. * (Highcharts) Style options for the guide box default state.
  116477. */
  116478. default?: DragDropGuideBoxOptionsObject;
  116479. }
  116480. /**
  116481. * (Highcharts) The `timeline` series. If the type option is not specified, it
  116482. * is inherited from chart.type.
  116483. *
  116484. * In TypeScript the type option must always be set.
  116485. *
  116486. * Configuration options for the series are given in three levels:
  116487. *
  116488. * 1. Options for all series in a chart are defined in the plotOptions.series
  116489. * object.
  116490. *
  116491. * 2. Options for all `timeline` series are defined in plotOptions.timeline.
  116492. *
  116493. * 3. Options for one single series are given in the series instance array. (see
  116494. * online documentation for example)
  116495. *
  116496. * You have to extend the `SeriesTimelineOptions` via an interface to allow
  116497. * custom properties: ``` declare interface SeriesTimelineOptions {
  116498. * customProperty: string; }
  116499. *
  116500. */
  116501. export interface SeriesTimelineOptions extends PlotTimelineOptions, SeriesOptions {
  116502. /**
  116503. * (Highcharts) An array of data points for the series. For the `timeline`
  116504. * series type, points can be given with three general parameters, `name`,
  116505. * `label`, and `description`:
  116506. *
  116507. * Example: (see online documentation for example) If all points
  116508. * additionally have the `x` values, and xAxis type is set to `datetime`,
  116509. * then events are laid out on a true time axis, where their placement
  116510. * reflects the actual time between them.
  116511. */
  116512. data?: Array<PointOptionsObject>;
  116513. /**
  116514. * Not available
  116515. */
  116516. dataParser?: undefined;
  116517. /**
  116518. * Not available
  116519. */
  116520. dataURL?: undefined;
  116521. /**
  116522. * Not available
  116523. */
  116524. stack?: undefined;
  116525. /**
  116526. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116527. * TypeScript non-optional and might be `undefined` in series objects from
  116528. * unknown sources.
  116529. */
  116530. type: "timeline";
  116531. }
  116532. /**
  116533. * (Highstock) A configuration object for the tooltip rendering of each single
  116534. * series. Properties are inherited from tooltip, but only the following
  116535. * properties can be defined on a series level.
  116536. */
  116537. export interface SeriesTooltipOptionsObject {
  116538. /**
  116539. * (Highstock) How many decimals to show for the `point.change` value when
  116540. * the `series.compare` option is set. This is overridable in each series'
  116541. * tooltip options object. The default is to preserve all decimals.
  116542. */
  116543. changeDecimals?: number;
  116544. /**
  116545. * (Highstock) The HTML of the cluster point's in the tooltip. Works only
  116546. * with marker-clusters module and analogously to pointFormat.
  116547. *
  116548. * The cluster tooltip can be also formatted using `tooltip.formatter`
  116549. * callback function and `point.isCluster` flag.
  116550. */
  116551. clusterFormat?: object;
  116552. /**
  116553. * (Highcharts, Highstock, Gantt) For series on datetime axes, the date
  116554. * format in the tooltip's header will by default be guessed based on the
  116555. * closest data points. This member gives the default string representations
  116556. * used for each unit. For an overview of the replacement codes, see
  116557. * dateFormat.
  116558. */
  116559. dateTimeLabelFormats?: Dictionary<string>;
  116560. /**
  116561. * (Highstock) Distance from point to tooltip in pixels.
  116562. */
  116563. distance?: number;
  116564. /**
  116565. * (Highstock) Whether the tooltip should follow the mouse as it moves
  116566. * across columns, pie slices and other point types with an extent. By
  116567. * default it behaves this way for pie, polygon, map, sankey and wordcloud
  116568. * series by override in the `plotOptions` for those series types.
  116569. *
  116570. * Does not apply if split is `true`.
  116571. *
  116572. * For touch moves to behave the same way, followTouchMove must be `true`
  116573. * also.
  116574. */
  116575. followPointer?: boolean;
  116576. /**
  116577. * (Highstock) Whether the tooltip should update as the finger moves on a
  116578. * touch device. If this is `true` and chart.panning is
  116579. * set,`followTouchMove` will take over one-finger touches, so the user
  116580. * needs to use two fingers for zooming and panning.
  116581. *
  116582. * Note the difference to followPointer that only defines the _position_ of
  116583. * the tooltip. If `followPointer` is false in for example a column series,
  116584. * the tooltip will show above or below the column, but as `followTouchMove`
  116585. * is true, the tooltip will jump from column to column as the user swipes
  116586. * across the plot area.
  116587. */
  116588. followTouchMove?: boolean;
  116589. /**
  116590. * (Highstock) A string to append to the tooltip format.
  116591. */
  116592. footerFormat?: string;
  116593. /**
  116594. * (Highstock) The HTML of the tooltip header line. Variables are enclosed
  116595. * by curly brackets. Available variables are `point.key`, `series.name`,
  116596. * `series.color` and other members from the `point` and `series` objects.
  116597. * The `point.key` variable contains the category name, x value or datetime
  116598. * string depending on the type of axis. For datetime axes, the `point.key`
  116599. * date format can be set using `tooltip.xDateFormat`.
  116600. */
  116601. headerFormat?: string;
  116602. /**
  116603. * (Highcharts) The format string specifying what to show for _nodes_ in
  116604. * tooltip of a diagram series, as opposed to links.
  116605. */
  116606. nodeFormat?: string;
  116607. /**
  116608. * (Highcharts) A callback for defining the format for _nodes_ in the
  116609. * chart's tooltip, as opposed to links.
  116610. */
  116611. nodeFormatter?: FormatterCallbackFunction<SankeyNodeObject>;
  116612. /**
  116613. * (Highstock) The HTML of the null point's line in the tooltip. Works
  116614. * analogously to pointFormat.
  116615. */
  116616. nullFormat?: string;
  116617. /**
  116618. * (Highstock) Callback function to format the text of the tooltip for
  116619. * visible null points. Works analogously to formatter.
  116620. */
  116621. nullFormatter?: TooltipFormatterCallbackFunction;
  116622. /**
  116623. * (Highstock) The HTML of the point's line in the tooltip. Variables are
  116624. * enclosed by curly brackets. Available variables are `point.x`, `point.y`,
  116625. * `series.name` and `series.color` and other properties on the same form.
  116626. * Furthermore, `point.y` can be extended by the `tooltip.valuePrefix` and
  116627. * `tooltip.valueSuffix` variables. This can also be overridden for each
  116628. * series, which makes it a good hook for displaying units.
  116629. *
  116630. * In styled mode, the dot is colored by a class name rather than the point
  116631. * color.
  116632. */
  116633. pointFormat?: string;
  116634. /**
  116635. * (Highstock) A callback function for formatting the HTML output for a
  116636. * single point in the tooltip. Like the `pointFormat` string, but with more
  116637. * flexibility.
  116638. */
  116639. pointFormatter?: FormatterCallbackFunction<Point>;
  116640. /**
  116641. * (Highstock) Number of decimals in indicator series.
  116642. */
  116643. valueDecimals?: number;
  116644. /**
  116645. * (Highstock) A string to prepend to each series' y value. Overridable in
  116646. * each series' tooltip options object.
  116647. */
  116648. valuePrefix?: string;
  116649. /**
  116650. * (Highstock) A string to append to each series' y value. Overridable in
  116651. * each series' tooltip options object.
  116652. */
  116653. valueSuffix?: string;
  116654. /**
  116655. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  116656. * header if the X axis is a datetime axis. The default is a best guess
  116657. * based on the smallest distance between points in the chart.
  116658. */
  116659. xDateFormat?: string;
  116660. }
  116661. /**
  116662. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116663. * series is displayed for the `dataLabels`. The animation can also be set as a
  116664. * configuration object. Please note that this option only applies to the
  116665. * initial animation. For other animations, see chart.animation and the
  116666. * animation parameter under the API methods. The following properties are
  116667. * supported:
  116668. *
  116669. * - `defer`: The animation delay time in milliseconds.
  116670. */
  116671. export interface SeriesTreemapDataDataLabelsAnimationOptions {
  116672. /**
  116673. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116674. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116675. * time from the series.animation.defer.
  116676. */
  116677. defer?: number;
  116678. }
  116679. /**
  116680. * (Highcharts) Style options for the guide box. The guide box has one state by
  116681. * default, the `default` state.
  116682. */
  116683. export interface SeriesTreemapDataDragDropGuideBoxOptions {
  116684. /**
  116685. * (Highcharts) Style options for the guide box default state.
  116686. */
  116687. default?: DragDropGuideBoxOptionsObject;
  116688. }
  116689. /**
  116690. * (Highcharts) A `treemap` series. If the type option is not specified, it is
  116691. * inherited from chart.type.
  116692. *
  116693. * In TypeScript the type option must always be set.
  116694. *
  116695. * Configuration options for the series are given in three levels:
  116696. *
  116697. * 1. Options for all series in a chart are defined in the plotOptions.series
  116698. * object.
  116699. *
  116700. * 2. Options for all `treemap` series are defined in plotOptions.treemap.
  116701. *
  116702. * 3. Options for one single series are given in the series instance array. (see
  116703. * online documentation for example)
  116704. *
  116705. * You have to extend the `SeriesTreemapOptions` via an interface to allow
  116706. * custom properties: ``` declare interface SeriesTreemapOptions {
  116707. * customProperty: string; }
  116708. *
  116709. */
  116710. export interface SeriesTreemapOptions extends PlotTreemapOptions, SeriesOptions {
  116711. /**
  116712. * (Highcharts) An array of data points for the series. For the `treemap`
  116713. * series type, points can be given in the following ways:
  116714. *
  116715. * 1. An array of numerical values. In this case, the numerical values will
  116716. * be interpreted as `value` options. Example: (see online documentation for
  116717. * example)
  116718. *
  116719. * 2. An array of objects with named values. The following snippet shows
  116720. * only a few settings, see the complete options set below. If the total
  116721. * number of data points exceeds the series' turboThreshold, this option is
  116722. * not available. (see online documentation for example)
  116723. */
  116724. data?: Array<(number|null|PointOptionsObject)>;
  116725. /**
  116726. * Not available
  116727. */
  116728. dataParser?: undefined;
  116729. /**
  116730. * Not available
  116731. */
  116732. dataURL?: undefined;
  116733. /**
  116734. * Not available
  116735. */
  116736. stack?: undefined;
  116737. /**
  116738. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116739. * TypeScript non-optional and might be `undefined` in series objects from
  116740. * unknown sources.
  116741. */
  116742. type: "treemap";
  116743. }
  116744. /**
  116745. * (Highstock) A `TrendLine` series. If the type option is not specified, it is
  116746. * inherited from chart.type.
  116747. *
  116748. * In TypeScript the type option must always be set.
  116749. *
  116750. * Configuration options for the series are given in three levels:
  116751. *
  116752. * 1. Options for all series in a chart are defined in the plotOptions.series
  116753. * object.
  116754. *
  116755. * 2. Options for all `trendline` series are defined in plotOptions.trendline.
  116756. *
  116757. * 3. Options for one single series are given in the series instance array. (see
  116758. * online documentation for example)
  116759. *
  116760. * You have to extend the `SeriesTrendlineOptions` via an interface to allow
  116761. * custom properties: ``` declare interface SeriesTrendlineOptions {
  116762. * customProperty: string; }
  116763. *
  116764. */
  116765. export interface SeriesTrendlineOptions extends PlotTrendlineOptions, SeriesOptions {
  116766. /**
  116767. * Not available
  116768. */
  116769. dataParser?: undefined;
  116770. /**
  116771. * Not available
  116772. */
  116773. dataURL?: undefined;
  116774. /**
  116775. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116776. * TypeScript non-optional and might be `undefined` in series objects from
  116777. * unknown sources.
  116778. */
  116779. type: "trendline";
  116780. }
  116781. /**
  116782. * (Highstock) A `TRIX` series. If the type option is not specified, it is
  116783. * inherited from chart.type.
  116784. *
  116785. * In TypeScript the type option must always be set.
  116786. *
  116787. * Configuration options for the series are given in three levels:
  116788. *
  116789. * 1. Options for all series in a chart are defined in the plotOptions.series
  116790. * object.
  116791. *
  116792. * 2. Options for all `trix` series are defined in plotOptions.trix.
  116793. *
  116794. * 3. Options for one single series are given in the series instance array. (see
  116795. * online documentation for example)
  116796. *
  116797. * You have to extend the `SeriesTrixOptions` via an interface to allow custom
  116798. * properties: ``` declare interface SeriesTrixOptions { customProperty: string;
  116799. * }
  116800. *
  116801. */
  116802. export interface SeriesTrixOptions extends PlotTrixOptions, SeriesOptions {
  116803. /**
  116804. * Not available
  116805. */
  116806. dataParser?: undefined;
  116807. /**
  116808. * Not available
  116809. */
  116810. dataURL?: undefined;
  116811. /**
  116812. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116813. * TypeScript non-optional and might be `undefined` in series objects from
  116814. * unknown sources.
  116815. */
  116816. type: "trix";
  116817. }
  116818. /**
  116819. * (Highcharts) Enable or disable the initial animation when a series is
  116820. * displayed for the `dataLabels`. The animation can also be set as a
  116821. * configuration object. Please note that this option only applies to the
  116822. * initial animation. For other animations, see chart.animation and the
  116823. * animation parameter under the API methods. The following properties are
  116824. * supported:
  116825. *
  116826. * - `defer`: The animation delay time in milliseconds.
  116827. */
  116828. export interface SeriesVariablepieDataDataLabelsAnimationOptions {
  116829. /**
  116830. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  116831. * dataLabel immediately. As `undefined` inherits defer time from the
  116832. * series.animation.defer.
  116833. */
  116834. defer?: number;
  116835. }
  116836. /**
  116837. * (Highcharts) Style options for the guide box. The guide box has one state by
  116838. * default, the `default` state.
  116839. */
  116840. export interface SeriesVariablepieDataDragDropGuideBoxOptions {
  116841. /**
  116842. * (Highcharts) Style options for the guide box default state.
  116843. */
  116844. default?: DragDropGuideBoxOptionsObject;
  116845. }
  116846. /**
  116847. * (Highcharts) A `variablepie` series. If the type option is not specified, it
  116848. * is inherited from chart.type.
  116849. *
  116850. * In TypeScript the type option must always be set.
  116851. *
  116852. * Configuration options for the series are given in three levels:
  116853. *
  116854. * 1. Options for all series in a chart are defined in the plotOptions.series
  116855. * object.
  116856. *
  116857. * 2. Options for all `variablepie` series are defined in
  116858. * plotOptions.variablepie.
  116859. *
  116860. * 3. Options for one single series are given in the series instance array. (see
  116861. * online documentation for example)
  116862. *
  116863. * You have to extend the `SeriesVariablepieOptions` via an interface to allow
  116864. * custom properties: ``` declare interface SeriesVariablepieOptions {
  116865. * customProperty: string; }
  116866. *
  116867. */
  116868. export interface SeriesVariablepieOptions extends PlotVariablepieOptions, SeriesOptions {
  116869. /**
  116870. * (Highcharts) An array of data points for the series. For the
  116871. * `variablepie` series type, points can be given in the following ways:
  116872. *
  116873. * 1. An array of arrays with 2 values. In this case, the numerical values
  116874. * will be interpreted as `y, z` options. Example: (see online documentation
  116875. * for example)
  116876. *
  116877. * 2. An array of objects with named values. The following snippet shows
  116878. * only a few settings, see the complete options set below. If the total
  116879. * number of data points exceeds the series' turboThreshold, this option is
  116880. * not available. (see online documentation for example)
  116881. */
  116882. data?: Array<([(number|string), number]|PointOptionsObject)>;
  116883. /**
  116884. * Not available
  116885. */
  116886. dataParser?: undefined;
  116887. /**
  116888. * Not available
  116889. */
  116890. dataURL?: undefined;
  116891. /**
  116892. * Not available
  116893. */
  116894. stack?: undefined;
  116895. /**
  116896. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116897. * TypeScript non-optional and might be `undefined` in series objects from
  116898. * unknown sources.
  116899. */
  116900. type: "variablepie";
  116901. /**
  116902. * Not available
  116903. */
  116904. xAxis?: undefined;
  116905. /**
  116906. * Not available
  116907. */
  116908. yAxis?: undefined;
  116909. }
  116910. /**
  116911. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  116912. * series is displayed for the `dataLabels`. The animation can also be set as a
  116913. * configuration object. Please note that this option only applies to the
  116914. * initial animation. For other animations, see chart.animation and the
  116915. * animation parameter under the API methods. The following properties are
  116916. * supported:
  116917. *
  116918. * - `defer`: The animation delay time in milliseconds.
  116919. */
  116920. export interface SeriesVariwideDataDataLabelsAnimationOptions {
  116921. /**
  116922. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  116923. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  116924. * time from the series.animation.defer.
  116925. */
  116926. defer?: number;
  116927. }
  116928. /**
  116929. * (Highcharts) Style options for the guide box. The guide box has one state by
  116930. * default, the `default` state.
  116931. */
  116932. export interface SeriesVariwideDataDragDropGuideBoxOptions {
  116933. /**
  116934. * (Highcharts) Style options for the guide box default state.
  116935. */
  116936. default?: DragDropGuideBoxOptionsObject;
  116937. }
  116938. /**
  116939. * (Highcharts) A `variwide` series. If the type option is not specified, it is
  116940. * inherited from chart.type.
  116941. *
  116942. * In TypeScript the type option must always be set.
  116943. *
  116944. * Configuration options for the series are given in three levels:
  116945. *
  116946. * 1. Options for all series in a chart are defined in the plotOptions.series
  116947. * object.
  116948. *
  116949. * 2. Options for all `variwide` series are defined in plotOptions.variwide.
  116950. *
  116951. * 3. Options for one single series are given in the series instance array. (see
  116952. * online documentation for example)
  116953. *
  116954. * You have to extend the `SeriesVariwideOptions` via an interface to allow
  116955. * custom properties: ``` declare interface SeriesVariwideOptions {
  116956. * customProperty: string; }
  116957. *
  116958. */
  116959. export interface SeriesVariwideOptions extends PlotVariwideOptions, SeriesOptions {
  116960. /**
  116961. * (Highcharts) An array of data points for the series. For the `variwide`
  116962. * series type, points can be given in the following ways:
  116963. *
  116964. * 1. An array of arrays with 3 or 2 values. In this case, the values
  116965. * correspond to `x,y,z`. If the first value is a string, it is applied as
  116966. * the name of the point, and the `x` value is inferred. The `x` value can
  116967. * also be omitted, in which case the inner arrays should be of length 2.
  116968. * Then the `x` value is automatically calculated, either starting at 0 and
  116969. * incremented by 1, or from `pointStart` and `pointInterval` given in the
  116970. * series options. (see online documentation for example)
  116971. *
  116972. * 2. An array of objects with named values. The following snippet shows
  116973. * only a few settings, see the complete options set below. If the total
  116974. * number of data points exceeds the series' turboThreshold, this option is
  116975. * not available. (see online documentation for example)
  116976. */
  116977. data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
  116978. /**
  116979. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  116980. * TypeScript non-optional and might be `undefined` in series objects from
  116981. * unknown sources.
  116982. */
  116983. type: "variwide";
  116984. }
  116985. /**
  116986. * (Highstock) A `Volume By Price (VBP)` series. If the type option is not
  116987. * specified, it is inherited from chart.type.
  116988. *
  116989. * In TypeScript the type option must always be set.
  116990. *
  116991. * Configuration options for the series are given in three levels:
  116992. *
  116993. * 1. Options for all series in a chart are defined in the plotOptions.series
  116994. * object.
  116995. *
  116996. * 2. Options for all `vbp` series are defined in plotOptions.vbp.
  116997. *
  116998. * 3. Options for one single series are given in the series instance array. (see
  116999. * online documentation for example)
  117000. *
  117001. * You have to extend the `SeriesVbpOptions` via an interface to allow custom
  117002. * properties: ``` declare interface SeriesVbpOptions { customProperty: string;
  117003. * }
  117004. *
  117005. */
  117006. export interface SeriesVbpOptions extends PlotVbpOptions, SeriesOptions {
  117007. /**
  117008. * Not available
  117009. */
  117010. dataParser?: undefined;
  117011. /**
  117012. * Not available
  117013. */
  117014. dataURL?: undefined;
  117015. /**
  117016. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117017. * TypeScript non-optional and might be `undefined` in series objects from
  117018. * unknown sources.
  117019. */
  117020. type: "vbp";
  117021. }
  117022. /**
  117023. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117024. * series is displayed for the `dataLabels`. The animation can also be set as a
  117025. * configuration object. Please note that this option only applies to the
  117026. * initial animation. For other animations, see chart.animation and the
  117027. * animation parameter under the API methods. The following properties are
  117028. * supported:
  117029. *
  117030. * - `defer`: The animation delay time in milliseconds.
  117031. */
  117032. export interface SeriesVectorDataDataLabelsAnimationOptions {
  117033. /**
  117034. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117035. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117036. * time from the series.animation.defer.
  117037. */
  117038. defer?: number;
  117039. }
  117040. /**
  117041. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  117042. * one state by default, the `default` state.
  117043. */
  117044. export interface SeriesVectorDataDragDropGuideBoxOptions {
  117045. /**
  117046. * (Highcharts, Highstock) Style options for the guide box default state.
  117047. */
  117048. default?: DragDropGuideBoxOptionsObject;
  117049. }
  117050. /**
  117051. * (Highcharts, Highstock) A `vector` series. If the type option is not
  117052. * specified, it is inherited from chart.type.
  117053. *
  117054. * In TypeScript the type option must always be set.
  117055. *
  117056. * Configuration options for the series are given in three levels:
  117057. *
  117058. * 1. Options for all series in a chart are defined in the plotOptions.series
  117059. * object.
  117060. *
  117061. * 2. Options for all `vector` series are defined in plotOptions.vector.
  117062. *
  117063. * 3. Options for one single series are given in the series instance array. (see
  117064. * online documentation for example)
  117065. *
  117066. * You have to extend the `SeriesVectorOptions` via an interface to allow custom
  117067. * properties: ``` declare interface SeriesVectorOptions { customProperty:
  117068. * string; }
  117069. *
  117070. */
  117071. export interface SeriesVectorOptions extends PlotVectorOptions, SeriesOptions {
  117072. /**
  117073. * (Highcharts, Highstock) An array of data points for the series. For the
  117074. * `vector` series type, points can be given in the following ways:
  117075. *
  117076. * 1. An array of arrays with 4 values. In this case, the values correspond
  117077. * to to `x,y,length,direction`. If the first value is a string, it is
  117078. * applied as the name of the point, and the `x` value is inferred. (see
  117079. * online documentation for example)
  117080. *
  117081. * 2. An array of objects with named values. The following snippet shows
  117082. * only a few settings, see the complete options set below. If the total
  117083. * number of data points exceeds the series' turboThreshold, this option is
  117084. * not available. (see online documentation for example)
  117085. */
  117086. data?: Array<([(number|string), number, number, number]|PointOptionsObject)>;
  117087. /**
  117088. * Not available
  117089. */
  117090. dataParser?: undefined;
  117091. /**
  117092. * Not available
  117093. */
  117094. dataURL?: undefined;
  117095. /**
  117096. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117097. * TypeScript non-optional and might be `undefined` in series objects from
  117098. * unknown sources.
  117099. */
  117100. type: "vector";
  117101. }
  117102. /**
  117103. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117104. * series is displayed for the `dataLabels`. The animation can also be set as a
  117105. * configuration object. Please note that this option only applies to the
  117106. * initial animation. For other animations, see chart.animation and the
  117107. * animation parameter under the API methods. The following properties are
  117108. * supported:
  117109. *
  117110. * - `defer`: The animation delay time in milliseconds.
  117111. */
  117112. export interface SeriesVennDataDataLabelsAnimationOptions {
  117113. /**
  117114. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117115. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117116. * time from the series.animation.defer.
  117117. */
  117118. defer?: number;
  117119. }
  117120. /**
  117121. * (Highcharts) Style options for the guide box. The guide box has one state by
  117122. * default, the `default` state.
  117123. */
  117124. export interface SeriesVennDataDragDropGuideBoxOptions {
  117125. /**
  117126. * (Highcharts) Style options for the guide box default state.
  117127. */
  117128. default?: DragDropGuideBoxOptionsObject;
  117129. }
  117130. /**
  117131. * (Highcharts) A `venn` series. If the type option is not specified, it is
  117132. * inherited from chart.type.
  117133. *
  117134. * In TypeScript the type option must always be set.
  117135. *
  117136. * Configuration options for the series are given in three levels:
  117137. *
  117138. * 1. Options for all series in a chart are defined in the plotOptions.series
  117139. * object.
  117140. *
  117141. * 2. Options for all `venn` series are defined in plotOptions.venn.
  117142. *
  117143. * 3. Options for one single series are given in the series instance array. (see
  117144. * online documentation for example)
  117145. *
  117146. * You have to extend the `SeriesVennOptions` via an interface to allow custom
  117147. * properties: ``` declare interface SeriesVennOptions { customProperty: string;
  117148. * }
  117149. *
  117150. */
  117151. export interface SeriesVennOptions extends PlotVennOptions, SeriesOptions {
  117152. /**
  117153. * (Highcharts) An array of data points for the series. For the `scatter`
  117154. * series type, points can be given in the following ways:
  117155. *
  117156. * 1. An array of numerical values. In this case, the numerical values will
  117157. * be interpreted as `y` options. The `x` values will be automatically
  117158. * calculated, either starting at 0 and incremented by 1, or from
  117159. * `pointStart` and `pointInterval` given in the series options. If the axis
  117160. * has categories, these will be used. Example: (see online documentation
  117161. * for example)
  117162. *
  117163. * 2. An array of arrays with 2 values. In this case, the values correspond
  117164. * to `x,y`. If the first value is a string, it is applied as the name of
  117165. * the point, and the `x` value is inferred. (see online documentation for
  117166. * example)
  117167. *
  117168. * 3. An array of objects with named values. The following snippet shows
  117169. * only a few settings, see the complete options set below. If the total
  117170. * number of data points exceeds the series' turboThreshold, this option is
  117171. * not available. (see online documentation for example)
  117172. */
  117173. data?: Array<PointOptionsObject>;
  117174. /**
  117175. * Not available
  117176. */
  117177. dataParser?: undefined;
  117178. /**
  117179. * Not available
  117180. */
  117181. dataURL?: undefined;
  117182. /**
  117183. * Not available
  117184. */
  117185. stack?: undefined;
  117186. /**
  117187. * Not available
  117188. */
  117189. steps?: undefined;
  117190. /**
  117191. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117192. * TypeScript non-optional and might be `undefined` in series objects from
  117193. * unknown sources.
  117194. */
  117195. type: "venn";
  117196. /**
  117197. * Not available
  117198. */
  117199. xAxis?: undefined;
  117200. /**
  117201. * Not available
  117202. */
  117203. yAxis?: undefined;
  117204. }
  117205. /**
  117206. * (Highstock) A `Volume Weighted Average Price (VWAP)` series. If the type
  117207. * option is not specified, it is inherited from chart.type.
  117208. *
  117209. * In TypeScript the type option must always be set.
  117210. *
  117211. * Configuration options for the series are given in three levels:
  117212. *
  117213. * 1. Options for all series in a chart are defined in the plotOptions.series
  117214. * object.
  117215. *
  117216. * 2. Options for all `vwap` series are defined in plotOptions.vwap.
  117217. *
  117218. * 3. Options for one single series are given in the series instance array. (see
  117219. * online documentation for example)
  117220. *
  117221. * You have to extend the `SeriesVwapOptions` via an interface to allow custom
  117222. * properties: ``` declare interface SeriesVwapOptions { customProperty: string;
  117223. * }
  117224. *
  117225. */
  117226. export interface SeriesVwapOptions extends PlotVwapOptions, SeriesOptions {
  117227. /**
  117228. * Not available
  117229. */
  117230. dataParser?: undefined;
  117231. /**
  117232. * Not available
  117233. */
  117234. dataURL?: undefined;
  117235. /**
  117236. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117237. * TypeScript non-optional and might be `undefined` in series objects from
  117238. * unknown sources.
  117239. */
  117240. type: "vwap";
  117241. }
  117242. /**
  117243. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117244. * series is displayed for the `dataLabels`. The animation can also be set as a
  117245. * configuration object. Please note that this option only applies to the
  117246. * initial animation. For other animations, see chart.animation and the
  117247. * animation parameter under the API methods. The following properties are
  117248. * supported:
  117249. *
  117250. * - `defer`: The animation delay time in milliseconds.
  117251. */
  117252. export interface SeriesWaterfallDataDataLabelsAnimationOptions {
  117253. /**
  117254. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117255. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117256. * time from the series.animation.defer.
  117257. */
  117258. defer?: number;
  117259. }
  117260. /**
  117261. * (Highcharts) Style options for the guide box. The guide box has one state by
  117262. * default, the `default` state.
  117263. */
  117264. export interface SeriesWaterfallDataDragDropGuideBoxOptions {
  117265. /**
  117266. * (Highcharts) Style options for the guide box default state.
  117267. */
  117268. default?: DragDropGuideBoxOptionsObject;
  117269. }
  117270. /**
  117271. * (Highcharts) A `waterfall` series. If the type option is not specified, it is
  117272. * inherited from chart.type.
  117273. *
  117274. * In TypeScript the type option must always be set.
  117275. *
  117276. * Configuration options for the series are given in three levels:
  117277. *
  117278. * 1. Options for all series in a chart are defined in the plotOptions.series
  117279. * object.
  117280. *
  117281. * 2. Options for all `waterfall` series are defined in plotOptions.waterfall.
  117282. *
  117283. * 3. Options for one single series are given in the series instance array. (see
  117284. * online documentation for example)
  117285. *
  117286. * You have to extend the `SeriesWaterfallOptions` via an interface to allow
  117287. * custom properties: ``` declare interface SeriesWaterfallOptions {
  117288. * customProperty: string; }
  117289. *
  117290. */
  117291. export interface SeriesWaterfallOptions extends PlotWaterfallOptions, SeriesOptions {
  117292. /**
  117293. * (Highcharts) An array of data points for the series. For the `waterfall`
  117294. * series type, points can be given in the following ways:
  117295. *
  117296. * 1. An array of numerical values. In this case, the numerical values will
  117297. * be interpreted as `y` options. The `x` values will be automatically
  117298. * calculated, either starting at 0 and incremented by 1, or from
  117299. * `pointStart` and `pointInterval` given in the series options. If the axis
  117300. * has categories, these will be used. Example: (see online documentation
  117301. * for example)
  117302. *
  117303. * 2. An array of arrays with 2 values. In this case, the values correspond
  117304. * to `x,y`. If the first value is a string, it is applied as the name of
  117305. * the point, and the `x` value is inferred. (see online documentation for
  117306. * example)
  117307. *
  117308. * 3. An array of objects with named values. The following snippet shows
  117309. * only a few settings, see the complete options set below. If the total
  117310. * number of data points exceeds the series' turboThreshold, this option is
  117311. * not available. (see online documentation for example)
  117312. */
  117313. data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
  117314. /**
  117315. * Not available
  117316. */
  117317. dataParser?: undefined;
  117318. /**
  117319. * Not available
  117320. */
  117321. dataURL?: undefined;
  117322. /**
  117323. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117324. * TypeScript non-optional and might be `undefined` in series objects from
  117325. * unknown sources.
  117326. */
  117327. type: "waterfall";
  117328. }
  117329. /**
  117330. * (Highstock) A `Williams %R Oscillator` series. If the type option is not
  117331. * specified, it is inherited from chart.type.
  117332. *
  117333. * In TypeScript the type option must always be set.
  117334. *
  117335. * Configuration options for the series are given in three levels:
  117336. *
  117337. * 1. Options for all series in a chart are defined in the plotOptions.series
  117338. * object.
  117339. *
  117340. * 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
  117341. *
  117342. * 3. Options for one single series are given in the series instance array. (see
  117343. * online documentation for example)
  117344. *
  117345. * You have to extend the `SeriesWilliamsrOptions` via an interface to allow
  117346. * custom properties: ``` declare interface SeriesWilliamsrOptions {
  117347. * customProperty: string; }
  117348. *
  117349. */
  117350. export interface SeriesWilliamsrOptions extends PlotWilliamsrOptions, SeriesOptions {
  117351. /**
  117352. * Not available
  117353. */
  117354. dataParser?: undefined;
  117355. /**
  117356. * Not available
  117357. */
  117358. dataURL?: undefined;
  117359. /**
  117360. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117361. * TypeScript non-optional and might be `undefined` in series objects from
  117362. * unknown sources.
  117363. */
  117364. type: "williamsr";
  117365. }
  117366. /**
  117367. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117368. * series is displayed for the `dataLabels`. The animation can also be set as a
  117369. * configuration object. Please note that this option only applies to the
  117370. * initial animation. For other animations, see chart.animation and the
  117371. * animation parameter under the API methods. The following properties are
  117372. * supported:
  117373. *
  117374. * - `defer`: The animation delay time in milliseconds.
  117375. */
  117376. export interface SeriesWindbarbDataDataLabelsAnimationOptions {
  117377. /**
  117378. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117379. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117380. * time from the series.animation.defer.
  117381. */
  117382. defer?: number;
  117383. }
  117384. /**
  117385. * (Highcharts, Highstock) Style options for the guide box. The guide box has
  117386. * one state by default, the `default` state.
  117387. */
  117388. export interface SeriesWindbarbDataDragDropGuideBoxOptions {
  117389. /**
  117390. * (Highcharts, Highstock) Style options for the guide box default state.
  117391. */
  117392. default?: DragDropGuideBoxOptionsObject;
  117393. }
  117394. /**
  117395. * (Highcharts, Highstock) A `windbarb` series. If the type option is not
  117396. * specified, it is inherited from chart.type.
  117397. *
  117398. * In TypeScript the type option must always be set.
  117399. *
  117400. * Configuration options for the series are given in three levels:
  117401. *
  117402. * 1. Options for all series in a chart are defined in the plotOptions.series
  117403. * object.
  117404. *
  117405. * 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
  117406. *
  117407. * 3. Options for one single series are given in the series instance array. (see
  117408. * online documentation for example)
  117409. *
  117410. * You have to extend the `SeriesWindbarbOptions` via an interface to allow
  117411. * custom properties: ``` declare interface SeriesWindbarbOptions {
  117412. * customProperty: string; }
  117413. *
  117414. */
  117415. export interface SeriesWindbarbOptions extends PlotWindbarbOptions, SeriesOptions {
  117416. /**
  117417. * (Highcharts, Highstock) An array of data points for the series. For the
  117418. * `windbarb` series type, points can be given in the following ways:
  117419. *
  117420. * 1. An array of arrays with 3 values. In this case, the values correspond
  117421. * to `x,value,direction`. If the first value is a string, it is applied as
  117422. * the name of the point, and the `x` value is inferred. (see online
  117423. * documentation for example)
  117424. *
  117425. * 2. An array of objects with named values. The following snippet shows
  117426. * only a few settings, see the complete options set below. If the total
  117427. * number of data points exceeds the series' turboThreshold, this option is
  117428. * not available. (see online documentation for example)
  117429. */
  117430. data?: Array<([(number|string), number, number]|PointOptionsObject)>;
  117431. /**
  117432. * Not available
  117433. */
  117434. dataParser?: undefined;
  117435. /**
  117436. * Not available
  117437. */
  117438. dataURL?: undefined;
  117439. /**
  117440. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117441. * TypeScript non-optional and might be `undefined` in series objects from
  117442. * unknown sources.
  117443. */
  117444. type: "windbarb";
  117445. }
  117446. /**
  117447. * (Highstock) A `WMA` series. If the type option is not specified, it is
  117448. * inherited from chart.type.
  117449. *
  117450. * In TypeScript the type option must always be set.
  117451. *
  117452. * Configuration options for the series are given in three levels:
  117453. *
  117454. * 1. Options for all series in a chart are defined in the plotOptions.series
  117455. * object.
  117456. *
  117457. * 2. Options for all `wma` series are defined in plotOptions.wma.
  117458. *
  117459. * 3. Options for one single series are given in the series instance array. (see
  117460. * online documentation for example)
  117461. *
  117462. * You have to extend the `SeriesWmaOptions` via an interface to allow custom
  117463. * properties: ``` declare interface SeriesWmaOptions { customProperty: string;
  117464. * }
  117465. *
  117466. */
  117467. export interface SeriesWmaOptions extends PlotWmaOptions, SeriesOptions {
  117468. /**
  117469. * Not available
  117470. */
  117471. dataParser?: undefined;
  117472. /**
  117473. * Not available
  117474. */
  117475. dataURL?: undefined;
  117476. /**
  117477. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117478. * TypeScript non-optional and might be `undefined` in series objects from
  117479. * unknown sources.
  117480. */
  117481. type: "wma";
  117482. }
  117483. /**
  117484. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117485. * series is displayed for the `dataLabels`. The animation can also be set as a
  117486. * configuration object. Please note that this option only applies to the
  117487. * initial animation. For other animations, see chart.animation and the
  117488. * animation parameter under the API methods. The following properties are
  117489. * supported:
  117490. *
  117491. * - `defer`: The animation delay time in milliseconds.
  117492. */
  117493. export interface SeriesWordcloudDataDataLabelsAnimationOptions {
  117494. /**
  117495. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117496. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117497. * time from the series.animation.defer.
  117498. */
  117499. defer?: number;
  117500. }
  117501. /**
  117502. * (Highcharts) Style options for the guide box. The guide box has one state by
  117503. * default, the `default` state.
  117504. */
  117505. export interface SeriesWordcloudDataDragDropGuideBoxOptions {
  117506. /**
  117507. * (Highcharts) Style options for the guide box default state.
  117508. */
  117509. default?: DragDropGuideBoxOptionsObject;
  117510. }
  117511. /**
  117512. * (Highcharts) A `wordcloud` series. If the type option is not specified, it is
  117513. * inherited from chart.type.
  117514. *
  117515. * In TypeScript the type option must always be set.
  117516. *
  117517. * Configuration options for the series are given in three levels:
  117518. *
  117519. * 1. Options for all series in a chart are defined in the plotOptions.series
  117520. * object.
  117521. *
  117522. * 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
  117523. *
  117524. * 3. Options for one single series are given in the series instance array. (see
  117525. * online documentation for example)
  117526. *
  117527. * You have to extend the `SeriesWordcloudOptions` via an interface to allow
  117528. * custom properties: ``` declare interface SeriesWordcloudOptions {
  117529. * customProperty: string; }
  117530. *
  117531. */
  117532. export interface SeriesWordcloudOptions extends PlotWordcloudOptions, SeriesOptions {
  117533. /**
  117534. * (Highcharts) An array of data points for the series. For the `wordcloud`
  117535. * series type, points can be given in the following ways:
  117536. *
  117537. * 1. An array of arrays with 2 values. In this case, the values correspond
  117538. * to `name,weight`. (see online documentation for example)
  117539. *
  117540. * 2. An array of objects with named values. The following snippet shows
  117541. * only a few settings, see the complete options set below. If the total
  117542. * number of data points exceeds the series' turboThreshold, this option is
  117543. * not available. (see online documentation for example)
  117544. */
  117545. data?: Array<([string, number]|PointOptionsObject)>;
  117546. /**
  117547. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117548. * TypeScript non-optional and might be `undefined` in series objects from
  117549. * unknown sources.
  117550. */
  117551. type: "wordcloud";
  117552. }
  117553. /**
  117554. * (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
  117555. * series is displayed for the `dataLabels`. The animation can also be set as a
  117556. * configuration object. Please note that this option only applies to the
  117557. * initial animation. For other animations, see chart.animation and the
  117558. * animation parameter under the API methods. The following properties are
  117559. * supported:
  117560. *
  117561. * - `defer`: The animation delay time in milliseconds.
  117562. */
  117563. export interface SeriesXrangeDataDataLabelsAnimationOptions {
  117564. /**
  117565. * (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
  117566. * Set to `0` renders dataLabel immediately. As `undefined` inherits defer
  117567. * time from the series.animation.defer.
  117568. */
  117569. defer?: number;
  117570. }
  117571. /**
  117572. * (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
  117573. * has one state by default, the `default` state.
  117574. */
  117575. export interface SeriesXrangeDataDragDropGuideBoxOptions {
  117576. /**
  117577. * (Highcharts, Highstock, Gantt) Style options for the guide box default
  117578. * state.
  117579. */
  117580. default?: DragDropGuideBoxOptionsObject;
  117581. }
  117582. /**
  117583. * (Highcharts, Highstock, Gantt) An `xrange` series. If the type option is not
  117584. * specified, it is inherited from chart.type.
  117585. *
  117586. * In TypeScript the type option must always be set.
  117587. *
  117588. * Configuration options for the series are given in three levels:
  117589. *
  117590. * 1. Options for all series in a chart are defined in the plotOptions.series
  117591. * object.
  117592. *
  117593. * 2. Options for all `xrange` series are defined in plotOptions.xrange.
  117594. *
  117595. * 3. Options for one single series are given in the series instance array. (see
  117596. * online documentation for example)
  117597. *
  117598. * You have to extend the `SeriesXrangeOptions` via an interface to allow custom
  117599. * properties: ``` declare interface SeriesXrangeOptions { customProperty:
  117600. * string; }
  117601. *
  117602. */
  117603. export interface SeriesXrangeOptions extends PlotXrangeOptions, SeriesOptions {
  117604. /**
  117605. * (Highcharts, Highstock, Gantt) An array of data points for the series.
  117606. * For the `xrange` series type, points can be given in the following ways:
  117607. *
  117608. * 1. An array of objects with named values. The objects are point
  117609. * configuration objects as seen below. (see online documentation for
  117610. * example)
  117611. */
  117612. data?: Array<XrangePointOptionsObject>;
  117613. /**
  117614. * Not available
  117615. */
  117616. depth?: undefined;
  117617. /**
  117618. * Not available
  117619. */
  117620. edgeColor?: undefined;
  117621. /**
  117622. * Not available
  117623. */
  117624. edgeWidth?: undefined;
  117625. /**
  117626. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117627. * TypeScript non-optional and might be `undefined` in series objects from
  117628. * unknown sources.
  117629. */
  117630. type: "xrange";
  117631. }
  117632. /**
  117633. * (Highstock) A `Zig Zag` series. If the type option is not specified, it is
  117634. * inherited from chart.type.
  117635. *
  117636. * In TypeScript the type option must always be set.
  117637. *
  117638. * Configuration options for the series are given in three levels:
  117639. *
  117640. * 1. Options for all series in a chart are defined in the plotOptions.series
  117641. * object.
  117642. *
  117643. * 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
  117644. *
  117645. * 3. Options for one single series are given in the series instance array. (see
  117646. * online documentation for example)
  117647. *
  117648. * You have to extend the `SeriesZigzagOptions` via an interface to allow custom
  117649. * properties: ``` declare interface SeriesZigzagOptions { customProperty:
  117650. * string; }
  117651. *
  117652. */
  117653. export interface SeriesZigzagOptions extends PlotZigzagOptions, SeriesOptions {
  117654. /**
  117655. * Not available
  117656. */
  117657. dataParser?: undefined;
  117658. /**
  117659. * Not available
  117660. */
  117661. dataURL?: undefined;
  117662. /**
  117663. * (Highcharts, Highstock, Highmaps, Gantt) This property is only in
  117664. * TypeScript non-optional and might be `undefined` in series objects from
  117665. * unknown sources.
  117666. */
  117667. type: "zigzag";
  117668. }
  117669. /**
  117670. * (Highcharts, Highstock) An array defining zones within a series. Zones can be
  117671. * applied to the X axis, Y axis or Z axis for bubbles, according to the
  117672. * `zoneAxis` option. The zone definitions have to be in ascending order
  117673. * regarding to the value.
  117674. *
  117675. * In styled mode, the color zones are styled with the `.highcharts-zone-{n}`
  117676. * class, or custom classed from the `className` option (view live demo).
  117677. */
  117678. export interface SeriesZonesOptionsObject {
  117679. /**
  117680. * (Highcharts, Highstock) Styled mode only. A custom class name for the
  117681. * zone.
  117682. */
  117683. className?: string;
  117684. /**
  117685. * (Highcharts, Highstock) Defines the color of the series.
  117686. */
  117687. color?: (ColorString|GradientColorObject|PatternObject);
  117688. /**
  117689. * (Highcharts, Highstock) A name for the dash style to use for the graph.
  117690. */
  117691. dashStyle?: DashStyleValue;
  117692. /**
  117693. * (Highcharts, Highstock) Defines the fill color for the series (in area
  117694. * type series)
  117695. */
  117696. fillColor?: (ColorString|GradientColorObject|PatternObject);
  117697. /**
  117698. * (Highcharts, Highstock) The value up to where the zone extends, if
  117699. * undefined the zones stretches to the last value in the series.
  117700. */
  117701. value?: number;
  117702. }
  117703. /**
  117704. * The shadow options.
  117705. */
  117706. export interface ShadowOptionsObject {
  117707. /**
  117708. * The shadow color.
  117709. */
  117710. color?: ColorString;
  117711. /**
  117712. * The horizontal offset from the element.
  117713. */
  117714. offsetX?: number;
  117715. /**
  117716. * The vertical offset from the element.
  117717. */
  117718. offsetY?: number;
  117719. /**
  117720. * The shadow opacity.
  117721. */
  117722. opacity?: number;
  117723. /**
  117724. * The shadow width or distance from the element.
  117725. */
  117726. width?: number;
  117727. }
  117728. export interface SizeObject {
  117729. height: number;
  117730. width: number;
  117731. }
  117732. /**
  117733. * (Highcharts) Stack of data points
  117734. */
  117735. export interface StackItemObject {
  117736. /**
  117737. * Alignment settings
  117738. */
  117739. alignOptions: AlignObject;
  117740. /**
  117741. * Related axis
  117742. */
  117743. axis: Axis;
  117744. /**
  117745. * Cumulative value of the stacked data points
  117746. */
  117747. cumulative: number;
  117748. /**
  117749. * True if on the negative side
  117750. */
  117751. isNegative: boolean;
  117752. /**
  117753. * Related SVG element
  117754. */
  117755. label: SVGElement;
  117756. /**
  117757. * Related stack options
  117758. */
  117759. options: YAxisStackLabelsOptions;
  117760. /**
  117761. * Total value of the stacked data points
  117762. */
  117763. total: number;
  117764. /**
  117765. * Shared x value of the stack
  117766. */
  117767. x: number;
  117768. }
  117769. export interface StockToolsGuiDefinitionsAdvancedFibonacciOptions {
  117770. /**
  117771. * (Highstock) A predefined background symbol for the button.
  117772. */
  117773. symbol?: string;
  117774. }
  117775. export interface StockToolsGuiDefinitionsAdvancedOptions {
  117776. fibonacci?: StockToolsGuiDefinitionsAdvancedFibonacciOptions;
  117777. /**
  117778. * (Highstock) A collection of strings pointing to config options for the
  117779. * items.
  117780. */
  117781. items?: any[];
  117782. parallelChannel?: StockToolsGuiDefinitionsAdvancedParallelChannelOptions;
  117783. pitchfork?: StockToolsGuiDefinitionsAdvancedPitchforkOptions;
  117784. }
  117785. export interface StockToolsGuiDefinitionsAdvancedParallelChannelOptions {
  117786. /**
  117787. * (Highstock) A predefined background symbol for the button.
  117788. */
  117789. symbol?: string;
  117790. }
  117791. export interface StockToolsGuiDefinitionsAdvancedPitchforkOptions {
  117792. /**
  117793. * (Highstock) A predefined background symbol for the button.
  117794. */
  117795. symbol?: string;
  117796. }
  117797. export interface StockToolsGuiDefinitionsCrookedLinesCrooked3Options {
  117798. /**
  117799. * (Highstock) A predefined background symbol for the button.
  117800. */
  117801. symbol?: string;
  117802. }
  117803. export interface StockToolsGuiDefinitionsCrookedLinesCrooked5Options {
  117804. /**
  117805. * (Highstock) A predefined background symbol for the button.
  117806. */
  117807. symbol?: string;
  117808. }
  117809. export interface StockToolsGuiDefinitionsCrookedLinesElliott3Options {
  117810. /**
  117811. * (Highstock) A predefined background symbol for the button.
  117812. */
  117813. symbol?: string;
  117814. }
  117815. export interface StockToolsGuiDefinitionsCrookedLinesElliott5Options {
  117816. /**
  117817. * (Highstock) A predefined background symbol for the button.
  117818. */
  117819. symbol?: string;
  117820. }
  117821. export interface StockToolsGuiDefinitionsCrookedLinesOptions {
  117822. crooked3?: StockToolsGuiDefinitionsCrookedLinesCrooked3Options;
  117823. crooked5?: StockToolsGuiDefinitionsCrookedLinesCrooked5Options;
  117824. elliott3?: StockToolsGuiDefinitionsCrookedLinesElliott3Options;
  117825. elliott5?: StockToolsGuiDefinitionsCrookedLinesElliott5Options;
  117826. /**
  117827. * (Highstock) A collection of strings pointing to config options for the
  117828. * items.
  117829. */
  117830. items?: any[];
  117831. }
  117832. export interface StockToolsGuiDefinitionsCurrentPriceIndicatorOptions {
  117833. /**
  117834. * (Highstock) A predefined background symbol for the button.
  117835. */
  117836. symbol?: string;
  117837. }
  117838. export interface StockToolsGuiDefinitionsFlagsFlagCirclepinOptions {
  117839. /**
  117840. * (Highstock) A predefined background symbol for the button.
  117841. */
  117842. symbol?: string;
  117843. }
  117844. export interface StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions {
  117845. /**
  117846. * (Highstock) A predefined background symbol for the button.
  117847. */
  117848. symbol?: string;
  117849. }
  117850. export interface StockToolsGuiDefinitionsFlagsFlagSimplepinOptions {
  117851. /**
  117852. * (Highstock) A predefined background symbol for the button.
  117853. */
  117854. symbol?: string;
  117855. }
  117856. export interface StockToolsGuiDefinitionsFlagsFlagSquarepinOptions {
  117857. /**
  117858. * (Highstock) A predefined background symbol for the button.
  117859. */
  117860. symbol?: string;
  117861. }
  117862. export interface StockToolsGuiDefinitionsFlagsOptions {
  117863. flagCirclepin?: StockToolsGuiDefinitionsFlagsFlagCirclepinOptions;
  117864. flagDiamondpin?: StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions;
  117865. flagSimplepin?: StockToolsGuiDefinitionsFlagsFlagSimplepinOptions;
  117866. flagSquarepin?: StockToolsGuiDefinitionsFlagsFlagSquarepinOptions;
  117867. /**
  117868. * (Highstock) A collection of strings pointing to config options for the
  117869. * items.
  117870. */
  117871. items?: any[];
  117872. }
  117873. export interface StockToolsGuiDefinitionsFullScreenOptions {
  117874. /**
  117875. * (Highstock) A predefined background symbol for the button.
  117876. */
  117877. symbol?: string;
  117878. }
  117879. export interface StockToolsGuiDefinitionsIndicatorsOptions {
  117880. /**
  117881. * (Highstock) A predefined background symbol for the button.
  117882. */
  117883. symbol?: string;
  117884. }
  117885. export interface StockToolsGuiDefinitionsLinesArrowLineOptions {
  117886. /**
  117887. * (Highstock) A predefined background symbol for the button.
  117888. */
  117889. symbol?: string;
  117890. }
  117891. export interface StockToolsGuiDefinitionsLinesArrowRayOptions {
  117892. /**
  117893. * (Highstock) A predefined background symbol for the button.
  117894. */
  117895. symbol?: string;
  117896. }
  117897. export interface StockToolsGuiDefinitionsLinesArrowSegmentOptions {
  117898. /**
  117899. * (Highstock) A predefined background symbol for the button.
  117900. */
  117901. symbol?: string;
  117902. }
  117903. export interface StockToolsGuiDefinitionsLinesHorizontalLineOptions {
  117904. /**
  117905. * (Highstock) A predefined background symbol for the button.
  117906. */
  117907. symbol?: string;
  117908. }
  117909. export interface StockToolsGuiDefinitionsLinesLineOptions {
  117910. /**
  117911. * (Highstock) A predefined background symbol for the button.
  117912. */
  117913. symbol?: string;
  117914. }
  117915. export interface StockToolsGuiDefinitionsLinesOptions {
  117916. arrowLine?: StockToolsGuiDefinitionsLinesArrowLineOptions;
  117917. arrowRay?: StockToolsGuiDefinitionsLinesArrowRayOptions;
  117918. arrowSegment?: StockToolsGuiDefinitionsLinesArrowSegmentOptions;
  117919. horizontalLine?: StockToolsGuiDefinitionsLinesHorizontalLineOptions;
  117920. /**
  117921. * (Highstock) A collection of strings pointing to config options for the
  117922. * items.
  117923. */
  117924. items?: any[];
  117925. line?: StockToolsGuiDefinitionsLinesLineOptions;
  117926. ray?: StockToolsGuiDefinitionsLinesRayOptions;
  117927. segment?: StockToolsGuiDefinitionsLinesSegmentOptions;
  117928. verticalLine?: StockToolsGuiDefinitionsLinesVerticalLineOptions;
  117929. }
  117930. export interface StockToolsGuiDefinitionsLinesRayOptions {
  117931. /**
  117932. * (Highstock) A predefined background symbol for the button.
  117933. */
  117934. symbol?: string;
  117935. }
  117936. export interface StockToolsGuiDefinitionsLinesSegmentOptions {
  117937. /**
  117938. * (Highstock) A predefined background symbol for the button.
  117939. */
  117940. symbol?: string;
  117941. }
  117942. export interface StockToolsGuiDefinitionsLinesVerticalLineOptions {
  117943. /**
  117944. * (Highstock) A predefined background symbol for the button.
  117945. */
  117946. symbol?: string;
  117947. }
  117948. export interface StockToolsGuiDefinitionsMeasureMeasureXOptions {
  117949. /**
  117950. * (Highstock) A predefined background symbol for the button.
  117951. */
  117952. symbol?: string;
  117953. }
  117954. export interface StockToolsGuiDefinitionsMeasureMeasureXYOptions {
  117955. /**
  117956. * (Highstock) A predefined background symbol for the button.
  117957. */
  117958. symbol?: string;
  117959. }
  117960. export interface StockToolsGuiDefinitionsMeasureMeasureYOptions {
  117961. /**
  117962. * (Highstock) A predefined background symbol for the button.
  117963. */
  117964. symbol?: string;
  117965. }
  117966. export interface StockToolsGuiDefinitionsMeasureOptions {
  117967. /**
  117968. * (Highstock) A collection of strings pointing to config options for the
  117969. * items.
  117970. */
  117971. items?: any[];
  117972. measureX?: StockToolsGuiDefinitionsMeasureMeasureXOptions;
  117973. measureXY?: StockToolsGuiDefinitionsMeasureMeasureXYOptions;
  117974. measureY?: StockToolsGuiDefinitionsMeasureMeasureYOptions;
  117975. }
  117976. /**
  117977. * (Highstock) An options object of the buttons definitions. Each name refers to
  117978. * unique key from buttons array.
  117979. */
  117980. export interface StockToolsGuiDefinitionsOptions {
  117981. advanced?: StockToolsGuiDefinitionsAdvancedOptions;
  117982. crookedLines?: StockToolsGuiDefinitionsCrookedLinesOptions;
  117983. currentPriceIndicator?: StockToolsGuiDefinitionsCurrentPriceIndicatorOptions;
  117984. flags?: StockToolsGuiDefinitionsFlagsOptions;
  117985. fullScreen?: StockToolsGuiDefinitionsFullScreenOptions;
  117986. indicators?: StockToolsGuiDefinitionsIndicatorsOptions;
  117987. lines?: StockToolsGuiDefinitionsLinesOptions;
  117988. measure?: StockToolsGuiDefinitionsMeasureOptions;
  117989. saveChart?: StockToolsGuiDefinitionsSaveChartOptions;
  117990. separator?: StockToolsGuiDefinitionsSeparatorOptions;
  117991. simpleShapes?: StockToolsGuiDefinitionsSimpleShapesOptions;
  117992. toggleAnnotations?: StockToolsGuiDefinitionsToggleAnnotationsOptions;
  117993. typeChange?: StockToolsGuiDefinitionsTypeChangeOptions;
  117994. verticalLabels?: StockToolsGuiDefinitionsVerticalLabelsOptions;
  117995. zoomChange?: StockToolsGuiDefinitionsZoomChangeOptions;
  117996. }
  117997. export interface StockToolsGuiDefinitionsSaveChartOptions {
  117998. /**
  117999. * (Highstock) A predefined background symbol for the button.
  118000. */
  118001. symbol?: string;
  118002. }
  118003. export interface StockToolsGuiDefinitionsSeparatorOptions {
  118004. /**
  118005. * (Highstock) A predefined background symbol for the button.
  118006. */
  118007. symbol?: string;
  118008. }
  118009. export interface StockToolsGuiDefinitionsSimpleShapesCircleOptions {
  118010. /**
  118011. * (Highstock) A predefined background symbol for the button.
  118012. */
  118013. symbol?: string;
  118014. }
  118015. export interface StockToolsGuiDefinitionsSimpleShapesLabelOptions {
  118016. /**
  118017. * (Highstock) A predefined background symbol for the button.
  118018. */
  118019. symbol?: string;
  118020. }
  118021. export interface StockToolsGuiDefinitionsSimpleShapesOptions {
  118022. circle?: StockToolsGuiDefinitionsSimpleShapesCircleOptions;
  118023. /**
  118024. * (Highstock) A collection of strings pointing to config options for the
  118025. * items.
  118026. */
  118027. items?: any[];
  118028. label?: StockToolsGuiDefinitionsSimpleShapesLabelOptions;
  118029. rectangle?: StockToolsGuiDefinitionsSimpleShapesRectangleOptions;
  118030. }
  118031. export interface StockToolsGuiDefinitionsSimpleShapesRectangleOptions {
  118032. /**
  118033. * (Highstock) A predefined background symbol for the button.
  118034. */
  118035. symbol?: string;
  118036. }
  118037. export interface StockToolsGuiDefinitionsToggleAnnotationsOptions {
  118038. /**
  118039. * (Highstock) A predefined background symbol for the button.
  118040. */
  118041. symbol?: string;
  118042. }
  118043. export interface StockToolsGuiDefinitionsTypeChangeOptions {
  118044. /**
  118045. * (Highstock) A collection of strings pointing to config options for the
  118046. * items.
  118047. */
  118048. items?: any[];
  118049. typeCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions;
  118050. typeLine?: StockToolsGuiDefinitionsTypeChangeTypeLineOptions;
  118051. typeOHLC?: StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions;
  118052. }
  118053. export interface StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions {
  118054. /**
  118055. * (Highstock) A predefined background symbol for the button.
  118056. */
  118057. symbol?: string;
  118058. }
  118059. export interface StockToolsGuiDefinitionsTypeChangeTypeLineOptions {
  118060. /**
  118061. * (Highstock) A predefined background symbol for the button.
  118062. */
  118063. symbol?: string;
  118064. }
  118065. export interface StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions {
  118066. /**
  118067. * (Highstock) A predefined background symbol for the button.
  118068. */
  118069. symbol?: string;
  118070. }
  118071. export interface StockToolsGuiDefinitionsVerticalLabelsOptions {
  118072. /**
  118073. * (Highstock) A collection of strings pointing to config options for the
  118074. * items.
  118075. */
  118076. items?: any[];
  118077. verticalArrow?: StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions;
  118078. verticalCounter?: StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions;
  118079. verticalLabel?: StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions;
  118080. }
  118081. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions {
  118082. /**
  118083. * (Highstock) A predefined background symbol for the button.
  118084. */
  118085. symbol?: string;
  118086. }
  118087. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions {
  118088. /**
  118089. * (Highstock) A predefined background symbol for the button.
  118090. */
  118091. symbol?: string;
  118092. }
  118093. export interface StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions {
  118094. /**
  118095. * (Highstock) A predefined background symbol for the button.
  118096. */
  118097. symbol?: string;
  118098. }
  118099. export interface StockToolsGuiDefinitionsZoomChangeOptions {
  118100. /**
  118101. * (Highstock) A collection of strings pointing to config options for the
  118102. * items.
  118103. */
  118104. items?: any[];
  118105. zoomX?: StockToolsGuiDefinitionsZoomChangeZoomXOptions;
  118106. zoomXY?: StockToolsGuiDefinitionsZoomChangeZoomXYOptions;
  118107. zoomY?: StockToolsGuiDefinitionsZoomChangeZoomYOptions;
  118108. }
  118109. export interface StockToolsGuiDefinitionsZoomChangeZoomXOptions {
  118110. /**
  118111. * (Highstock) A predefined background symbol for the button.
  118112. */
  118113. symbol?: string;
  118114. }
  118115. export interface StockToolsGuiDefinitionsZoomChangeZoomXYOptions {
  118116. /**
  118117. * (Highstock) A predefined background symbol for the button.
  118118. */
  118119. symbol?: string;
  118120. }
  118121. export interface StockToolsGuiDefinitionsZoomChangeZoomYOptions {
  118122. /**
  118123. * (Highstock) A predefined background symbol for the button.
  118124. */
  118125. symbol?: string;
  118126. }
  118127. /**
  118128. * (Highstock) Definitions of buttons in Stock Tools GUI.
  118129. */
  118130. export interface StockToolsGuiOptions {
  118131. /**
  118132. * (Highstock) A collection of strings pointing to config options for the
  118133. * toolbar items. Each name refers to a unique key from the definitions
  118134. * object.
  118135. */
  118136. buttons?: Array<string>;
  118137. /**
  118138. * (Highstock) A CSS class name to apply to the stocktools' div, allowing
  118139. * unique CSS styling for each chart.
  118140. */
  118141. className?: string;
  118142. /**
  118143. * (Highstock) An options object of the buttons definitions. Each name
  118144. * refers to unique key from buttons array.
  118145. */
  118146. definitions?: StockToolsGuiDefinitionsOptions;
  118147. /**
  118148. * (Highstock) Enable or disable the stockTools gui.
  118149. */
  118150. enabled?: boolean;
  118151. /**
  118152. * (Highstock) A CSS class name to apply to the container of buttons,
  118153. * allowing unique CSS styling for each chart.
  118154. */
  118155. toolbarClassName?: string;
  118156. }
  118157. /**
  118158. * (Highstock) Configure the stockTools gui strings in the chart. Requires the
  118159. * [stockTools module]() to be loaded. For a description of the module and
  118160. * information on its features, see [Highcharts StockTools]().
  118161. */
  118162. export interface StockToolsOptions {
  118163. /**
  118164. * (Highstock) Definitions of buttons in Stock Tools GUI.
  118165. */
  118166. gui?: StockToolsGuiOptions;
  118167. }
  118168. /**
  118169. * The chart subtitle. The subtitle has an `update` method that allows modifying
  118170. * the options directly or indirectly via `chart.update`.
  118171. */
  118172. export interface SubtitleObject extends SVGElement {
  118173. /**
  118174. * Modify options for the subtitle.
  118175. *
  118176. * @param subtitleOptions
  118177. * Options to modify.
  118178. *
  118179. * @param redraw
  118180. * Whether to redraw the chart after the subtitle is altered. If
  118181. * doing more operations on the chart, it is a good idea to set
  118182. * redraw to false and call Chart#redraw after.
  118183. */
  118184. update(subtitleOptions: SubtitleOptions, redraw?: boolean): void;
  118185. }
  118186. /**
  118187. * (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can be
  118188. * used both to display a subtitle below the main title, and to display random
  118189. * text anywhere in the chart. The subtitle can be updated after chart
  118190. * initialization through the `Chart.setTitle` method.
  118191. */
  118192. export interface SubtitleOptions {
  118193. /**
  118194. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  118195. * subtitle. Can be one of "left", "center" and "right".
  118196. */
  118197. align?: AlignValue;
  118198. /**
  118199. * (Highcharts, Highstock, Highmaps, Gantt) When the subtitle is floating,
  118200. * the plot area will not move to make space for it.
  118201. */
  118202. floating?: boolean;
  118203. /**
  118204. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
  118205. *
  118206. * In styled mode, the subtitle style is given in the `.highcharts-subtitle`
  118207. * class.
  118208. */
  118209. style?: CSSObject;
  118210. /**
  118211. * (Highcharts, Highstock, Highmaps, Gantt) The subtitle of the chart.
  118212. */
  118213. text?: string;
  118214. /**
  118215. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118216. * the text.
  118217. */
  118218. useHTML?: boolean;
  118219. /**
  118220. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  118221. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle, the
  118222. * subtitle behaves as floating.
  118223. */
  118224. verticalAlign?: VerticalAlignValue;
  118225. /**
  118226. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the subtitle
  118227. * width, normally to reserve space for the exporting burger menu.
  118228. */
  118229. widthAdjust?: number;
  118230. /**
  118231. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the subtitle
  118232. * relative to the alignment within `chart.spacingLeft` and
  118233. * `chart.spacingRight`.
  118234. */
  118235. x?: number;
  118236. /**
  118237. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the subtitle
  118238. * relative to the alignment within `chart.spacingTop` and
  118239. * `chart.spacingBottom`. By default the subtitle is laid out below the
  118240. * title unless the title is floating.
  118241. */
  118242. y?: number;
  118243. }
  118244. /**
  118245. * An object of key-value pairs for SVG attributes. Attributes in Highcharts
  118246. * elements for the most parts correspond to SVG, but some are specific to
  118247. * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`, `rotationOriginY`,
  118248. * `translateX`, `translateY`, `scaleX` and `scaleY`. SVG attributes containing
  118249. * a hyphen are _not_ camel-cased, they should be quoted to preserve the hyphen.
  118250. */
  118251. export interface SVGAttributes {
  118252. [key: string]: any;
  118253. d?: (string|SVGPathArray);
  118254. fill?: (ColorString|GradientColorObject|PatternObject);
  118255. inverted?: boolean;
  118256. matrix?: Array<number>;
  118257. rotation?: number;
  118258. rotationOriginX?: number;
  118259. rotationOriginY?: number;
  118260. scaleX?: number;
  118261. scaleY?: number;
  118262. stroke?: (ColorString|GradientColorObject|PatternObject);
  118263. style?: (string|CSSObject);
  118264. translateX?: number;
  118265. translateY?: number;
  118266. zIndex?: number;
  118267. }
  118268. /**
  118269. * An extendable collection of functions for defining symbol paths. Symbols are
  118270. * used internally for point markers, button and label borders and backgrounds,
  118271. * or custom shapes. Extendable by adding to SVGRenderer#symbols.
  118272. */
  118273. export interface SymbolDictionary {
  118274. [key: string]: (Function|undefined);
  118275. arc?: Function;
  118276. callout?: Function;
  118277. circle?: Function;
  118278. diamond?: Function;
  118279. square?: Function;
  118280. triangle?: Function;
  118281. }
  118282. /**
  118283. * Additional options, depending on the actual symbol drawn.
  118284. */
  118285. export interface SymbolOptionsObject {
  118286. /**
  118287. * The anchor X position for the `callout` symbol. This is where the chevron
  118288. * points to.
  118289. */
  118290. anchorX?: number;
  118291. /**
  118292. * The anchor Y position for the `callout` symbol. This is where the chevron
  118293. * points to.
  118294. */
  118295. anchorY?: number;
  118296. /**
  118297. * The end angle of an `arc` symbol.
  118298. */
  118299. end?: number;
  118300. /**
  118301. * Whether to draw `arc` symbol open or closed.
  118302. */
  118303. open?: boolean;
  118304. /**
  118305. * The radius of an `arc` symbol, or the border radius for the `callout`
  118306. * symbol.
  118307. */
  118308. r?: number;
  118309. /**
  118310. * The start angle of an `arc` symbol.
  118311. */
  118312. start?: number;
  118313. }
  118314. export interface TimelineDataLabelsFormatterContextObject extends PointLabelObject {
  118315. key?: string;
  118316. point: Point;
  118317. series: Series;
  118318. }
  118319. /**
  118320. * (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
  118321. * appearing next to each data point.
  118322. *
  118323. * Since v6.2.0, multiple data labels can be applied to each single point by
  118324. * defining them as an array of configs.
  118325. *
  118326. * In styled mode, the data labels can be styled with the
  118327. * `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
  118328. * example).
  118329. */
  118330. export interface TimelineDataLabelsOptionsObject {
  118331. /**
  118332. * (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
  118333. * compared to the point. If `right`, the right side of the label should be
  118334. * touching the point. For points with an extent, like columns, the
  118335. * alignments also dictates how to align it inside the box, as given with
  118336. * the inside option. Can be one of `left`, `center` or `right`.
  118337. */
  118338. align?: (AlignValue|null);
  118339. /**
  118340. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
  118341. * overlap. To make the labels less sensitive for overlapping, the
  118342. * dataLabels.padding can be set to 0.
  118343. */
  118344. allowOverlap?: boolean;
  118345. /**
  118346. * (Highcharts, Highstock, Highmaps, Gantt) Whether to position data labels
  118347. * alternately. For example, if distance is set equal to `100`, then data
  118348. * labels will be positioned alternately (on both sides of the point) at a
  118349. * distance of 100px.
  118350. */
  118351. alternate?: boolean;
  118352. /**
  118353. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
  118354. * animation when a series is displayed for the `dataLabels`. The animation
  118355. * can also be set as a configuration object. Please note that this option
  118356. * only applies to the initial animation. For other animations, see
  118357. * chart.animation and the animation parameter under the API methods. The
  118358. * following properties are supported:
  118359. *
  118360. * - `defer`: The animation delay time in milliseconds.
  118361. */
  118362. animation?: (boolean|PlotTimelineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  118363. /**
  118364. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  118365. * for the data label.
  118366. */
  118367. backgroundColor?: string;
  118368. /**
  118369. * (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
  118370. * label. Defaults to `undefined`.
  118371. */
  118372. borderColor?: string;
  118373. /**
  118374. * (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
  118375. * the data label.
  118376. */
  118377. borderRadius?: number;
  118378. /**
  118379. * (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
  118380. * the data label.
  118381. */
  118382. borderWidth?: number;
  118383. /**
  118384. * (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
  118385. * Particularly in styled mode, this can be used to give each series' or
  118386. * point's data label unique styling. In addition to this option, a default
  118387. * color class name is added so that we can give the labels a contrast text
  118388. * shadow.
  118389. */
  118390. className?: string;
  118391. /**
  118392. * (Highcharts, Highstock, Highmaps, Gantt) The text color for the data
  118393. * labels. Defaults to `undefined`. For certain series types, like column or
  118394. * map, the data labels can be drawn inside the points. In this case the
  118395. * data label will be drawn with maximum contrast by default. Additionally,
  118396. * it will be given a `text-outline` style with the opposite color, to
  118397. * further increase the contrast. This can be overridden by setting the
  118398. * `text-outline` style to `none` in the `dataLabels.style` option.
  118399. */
  118400. color?: string;
  118401. /**
  118402. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line connecting
  118403. * the data label to the point. The default color is the same as the point's
  118404. * color.
  118405. *
  118406. * In styled mode, the connector stroke is given in the
  118407. * `.highcharts-data-label-connector` class.
  118408. */
  118409. connectorColor?: (ColorString|GradientColorObject|PatternObject);
  118410. /**
  118411. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line connecting
  118412. * the data label to the point.
  118413. *
  118414. * In styled mode, the connector stroke width is given in the
  118415. * `.highcharts-data-label-connector` class.
  118416. */
  118417. connectorWidth?: number;
  118418. /**
  118419. * (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
  118420. * are outside the plot area. By default, the data label is moved inside the
  118421. * plot area according to the overflow option.
  118422. */
  118423. crop?: boolean;
  118424. /**
  118425. * (Highcharts, Highstock, Gantt) Whether to defer displaying the data
  118426. * labels until the initial series animation has finished. Setting to
  118427. * `false` renders the data label immediately. If set to `true` inherits the
  118428. * defer time set in plotOptions.series.animation. If set to a number, a
  118429. * defer time is specified in milliseconds.
  118430. */
  118431. defer?: (boolean|number);
  118432. /**
  118433. * (Highcharts, Highstock, Highmaps, Gantt) A pixel value defining the
  118434. * distance between the data label and the point. Negative numbers puts the
  118435. * label on top of the point.
  118436. */
  118437. distance?: number;
  118438. /**
  118439. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
  118440. * labels.
  118441. */
  118442. enabled?: boolean;
  118443. /**
  118444. * (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
  118445. * of which data labels to display. The declarative filter is designed for
  118446. * use when callback functions are not available, like when the chart
  118447. * options require a pure JSON structure or for use with graphical editors.
  118448. * For programmatic control, use the `formatter` instead, and return
  118449. * `undefined` to disable a single data label.
  118450. */
  118451. filter?: DataLabelsFilterOptionsObject;
  118452. /**
  118453. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
  118454. * label. Available variables are the same as for `formatter`.
  118455. */
  118456. format?: string;
  118457. /**
  118458. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  118459. * format the data label. Note that if a `format` is defined, the format
  118460. * takes precedence and the formatter is ignored.
  118461. */
  118462. formatter?: TimelineDataLabelsFormatterCallbackFunction;
  118463. /**
  118464. * (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
  118465. * columns or map areas, whether to align the data label inside the box or
  118466. * to the actual value point. Defaults to `false` in most cases, `true` in
  118467. * stacked columns.
  118468. */
  118469. inside?: boolean;
  118470. /**
  118471. * (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
  118472. * of null. Works analogously to format. `nullFormat` can be applied only to
  118473. * series which support displaying null points.
  118474. */
  118475. nullFormat?: (boolean|string);
  118476. /**
  118477. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
  118478. * that defines formatting for points with the value of null. Works
  118479. * analogously to formatter. `nullPointFormatter` can be applied only to
  118480. * series which support displaying null points.
  118481. */
  118482. nullFormatter?: DataLabelsFormatterCallbackFunction;
  118483. /**
  118484. * (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
  118485. * flow outside the plot area. The default is `"justify"`, which aligns them
  118486. * inside the plot area. For columns and bars, this means it will be moved
  118487. * inside the bar. To display data labels outside the plot area, set `crop`
  118488. * to `false` and `overflow` to `"allow"`.
  118489. */
  118490. overflow?: DataLabelsOverflowValue;
  118491. /**
  118492. * (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
  118493. * the `backgroundColor` is set, this is the padding within the box.
  118494. */
  118495. padding?: number;
  118496. /**
  118497. * (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
  118498. * points. If `center` alignment is not possible, it defaults to `right`.
  118499. */
  118500. position?: AlignValue;
  118501. /**
  118502. * (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
  118503. * that due to a more complex structure, backgrounds, borders and padding
  118504. * will be lost on a rotated data label.
  118505. */
  118506. rotation?: number;
  118507. /**
  118508. * (Highcharts, Highstock, Highmaps, Gantt) Shadow options for the data
  118509. * label.
  118510. */
  118511. shadow?: (boolean|CSSObject);
  118512. /**
  118513. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118514. * the border around the label. Symbols are predefined functions on the
  118515. * Renderer object.
  118516. */
  118517. shape?: string;
  118518. /**
  118519. * (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
  118520. * default `color` setting is `"contrast"`, which is a pseudo color that
  118521. * Highcharts picks up and applies the maximum contrast to the underlying
  118522. * point item, for example the bar in a bar chart.
  118523. *
  118524. * The `textOutline` is a pseudo property that applies an outline of the
  118525. * given width with the given color, which by default is the maximum
  118526. * contrast to the text. So a bright text color will result in a black text
  118527. * outline for maximum readability on a mixed background. In some cases,
  118528. * especially with grayscale text, the text outline doesn't work well, in
  118529. * which cases it can be disabled by setting it to `"none"`. When `useHTML`
  118530. * is true, the `textOutline` will not be picked up. In this, case, the same
  118531. * effect can be acheived through the `text-shadow` CSS property.
  118532. *
  118533. * For some series types, where each point has an extent, like for example
  118534. * tree maps, the data label may overflow the point. There are two
  118535. * strategies for handling overflow. By default, the text will wrap to
  118536. * multiple lines. The other strategy is to set `style.textOverflow` to
  118537. * `ellipsis`, which will keep the text on one line plus it will break
  118538. * inside long words.
  118539. */
  118540. style?: CSSObject;
  118541. /**
  118542. * (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
  118543. * should follow marker's shape. Border and background are disabled for a
  118544. * label that follows a path.
  118545. *
  118546. * **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
  118547. * to true will disable this option.
  118548. */
  118549. textPath?: DataLabelsTextPathOptionsObject;
  118550. /**
  118551. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118552. * the labels.
  118553. */
  118554. useHTML?: boolean;
  118555. /**
  118556. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
  118557. * label. Can be one of `top`, `middle` or `bottom`. The default value
  118558. * depends on the data, for instance in a column chart, the label is above
  118559. * positive values and below negative values.
  118560. */
  118561. verticalAlign?: (VerticalAlignValue|null);
  118562. width?: number;
  118563. /**
  118564. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
  118565. * label relative to the point in pixels.
  118566. */
  118567. x?: number;
  118568. /**
  118569. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
  118570. * label relative to the point in pixels.
  118571. */
  118572. y?: number;
  118573. /**
  118574. * (Highcharts, Highstock, Highmaps, Gantt) The Z index of the data labels.
  118575. * The default Z index puts it above the series. Use a Z index of 2 to
  118576. * display it behind the series.
  118577. */
  118578. z?: number;
  118579. }
  118580. /**
  118581. * Normalized interval.
  118582. */
  118583. export interface TimeNormalizedObject {
  118584. /**
  118585. * The count.
  118586. */
  118587. count: number;
  118588. /**
  118589. * The interval in axis values (ms).
  118590. */
  118591. unitRange: number;
  118592. }
  118593. /**
  118594. * (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply globally
  118595. * or to individual charts. These settings affect how `datetime` axes are laid
  118596. * out, how tooltips are formatted, how series pointIntervalUnit works and how
  118597. * the Highcharts Stock range selector handles time.
  118598. *
  118599. * The common use case is that all charts in the same Highcharts object share
  118600. * the same time settings, in which case the global settings are set using
  118601. * `setOptions`. (see online documentation for example)
  118602. *
  118603. * Since v6.0.5, the time options were moved from the `global` obect to the
  118604. * `time` object, and time options can be set on each individual chart.
  118605. */
  118606. export interface TimeOptions {
  118607. /**
  118608. * (Highcharts, Highstock, Gantt) A custom `Date` class for advanced date
  118609. * handling. For example, JDate can be hooked in to handle Jalali dates.
  118610. */
  118611. Date?: any;
  118612. /**
  118613. * (Highcharts, Highstock, Gantt) A callback to return the time zone offset
  118614. * for a given datetime. It takes the timestamp in terms of milliseconds
  118615. * since January 1 1970, and returns the timezone offset in minutes. This
  118616. * provides a hook for drawing time based charts in specific time zones
  118617. * using their local DST crossover dates, with the help of external
  118618. * libraries.
  118619. */
  118620. getTimezoneOffset?: TimezoneOffsetCallbackFunction;
  118621. /**
  118622. * (Highcharts, Highstock, Highmaps, Gantt) Allows to manually load the
  118623. * `moment.js` library from Highcharts options instead of the `window`. In
  118624. * case of loading the library from a `script` tag, this option is not
  118625. * needed, it will be loaded from there by default.
  118626. */
  118627. moment?: Function;
  118628. /**
  118629. * (Highcharts, Highstock, Gantt) Requires moment.js. If the timezone option
  118630. * is specified, it creates a default getTimezoneOffset function that looks
  118631. * up the specified timezone in moment.js. If moment.js is not included,
  118632. * this throws a Highcharts error in the console, but does not crash the
  118633. * chart.
  118634. */
  118635. timezone?: string;
  118636. /**
  118637. * (Highcharts, Highstock, Gantt) The timezone offset in minutes. Positive
  118638. * values are west, negative values are east of UTC, as in the ECMAScript
  118639. * getTimezoneOffset method. Use this to display UTC based data in a
  118640. * predefined time zone.
  118641. */
  118642. timezoneOffset?: number;
  118643. /**
  118644. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use UTC time for axis
  118645. * scaling, tickmark placement and time display in `Highcharts.dateFormat`.
  118646. * Advantages of using UTC is that the time displays equally regardless of
  118647. * the user agent's time zone settings. Local time can be used when the data
  118648. * is loaded in real time or when correct Daylight Saving Time transitions
  118649. * are required.
  118650. */
  118651. useUTC?: boolean;
  118652. }
  118653. /**
  118654. * Additonal time tick information.
  118655. */
  118656. export interface TimeTicksInfoObject extends TimeNormalizedObject {
  118657. higherRanks: Array<string>;
  118658. totalRange: number;
  118659. }
  118660. /**
  118661. * The chart title. The title has an `update` method that allows modifying the
  118662. * options directly or indirectly via `chart.update`.
  118663. */
  118664. export interface TitleObject extends SVGElement {
  118665. /**
  118666. * Modify options for the title.
  118667. *
  118668. * @param titleOptions
  118669. * Options to modify.
  118670. *
  118671. * @param redraw
  118672. * Whether to redraw the chart after the title is altered. If doing
  118673. * more operations on the chart, it is a good idea to set redraw to
  118674. * false and call Chart#redraw after.
  118675. */
  118676. update(titleOptions: TitleOptions, redraw?: boolean): void;
  118677. }
  118678. /**
  118679. * (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
  118680. */
  118681. export interface TitleOptions {
  118682. /**
  118683. * (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
  118684. * title. Can be one of "left", "center" and "right".
  118685. */
  118686. align?: AlignValue;
  118687. /**
  118688. * (Highcharts, Highstock, Highmaps, Gantt) When the title is floating, the
  118689. * plot area will not move to make space for it.
  118690. */
  118691. floating?: boolean;
  118692. /**
  118693. * (Highcharts, Highstock, Highmaps, Gantt) The margin between the title and
  118694. * the plot area, or if a subtitle is present, the margin between the
  118695. * subtitle and the plot area.
  118696. */
  118697. margin?: number;
  118698. /**
  118699. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use
  118700. * this for font styling, but use `align`, `x` and `y` for text alignment.
  118701. *
  118702. * In styled mode, the title style is given in the `.highcharts-title`
  118703. * class.
  118704. */
  118705. style?: CSSObject;
  118706. /**
  118707. * (Highcharts, Highstock, Highmaps, Gantt) The title of the chart. To
  118708. * disable the title, set the `text` to `undefined`.
  118709. */
  118710. text?: string;
  118711. /**
  118712. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  118713. * the text.
  118714. */
  118715. useHTML?: boolean;
  118716. /**
  118717. * (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
  118718. * title. Can be one of `"top"`, `"middle"` and `"bottom"`. When a value is
  118719. * given, the title behaves as if floating were `true`.
  118720. */
  118721. verticalAlign?: VerticalAlignValue;
  118722. /**
  118723. * (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the title
  118724. * width, normally to reserve space for the exporting burger menu.
  118725. */
  118726. widthAdjust?: number;
  118727. /**
  118728. * (Highcharts, Highstock, Highmaps, Gantt) The x position of the title
  118729. * relative to the alignment within `chart.spacingLeft` and
  118730. * `chart.spacingRight`.
  118731. */
  118732. x?: number;
  118733. /**
  118734. * (Highcharts, Highstock, Highmaps, Gantt) The y position of the title
  118735. * relative to the alignment within chart.spacingTop and
  118736. * chart.spacingBottom. By default it depends on the font size.
  118737. */
  118738. y?: number;
  118739. }
  118740. export interface TooltipFormatterContextObject {
  118741. color: (ColorString|GradientColorObject|PatternObject);
  118742. colorIndex?: number;
  118743. key: number;
  118744. percentage?: number;
  118745. point: Point;
  118746. points?: Array<TooltipFormatterContextObject>;
  118747. series: Series;
  118748. total?: number;
  118749. x: number;
  118750. y: number;
  118751. }
  118752. /**
  118753. * (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that appears
  118754. * when the user hovers over a series or point.
  118755. */
  118756. export interface TooltipOptions {
  118757. /**
  118758. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable animation of
  118759. * the tooltip.
  118760. */
  118761. animation?: boolean;
  118762. /**
  118763. * (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
  118764. * for the tooltip.
  118765. *
  118766. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  118767. * class.
  118768. */
  118769. backgroundColor?: (ColorString|GradientColorObject|PatternObject);
  118770. /**
  118771. * (Highcharts, Highstock, Highmaps, Gantt) The color of the tooltip border.
  118772. * When `undefined`, the border takes the color of the corresponding series
  118773. * or point.
  118774. */
  118775. borderColor?: (ColorString|GradientColorObject|PatternObject);
  118776. /**
  118777. * (Highcharts, Highstock, Highmaps, Gantt) The radius of the rounded border
  118778. * corners.
  118779. */
  118780. borderRadius?: number;
  118781. /**
  118782. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the tooltip
  118783. * border.
  118784. *
  118785. * In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
  118786. * class.
  118787. */
  118788. borderWidth?: number;
  118789. /**
  118790. * (Highstock) How many decimals to show for the `point.change` value when
  118791. * the `series.compare` option is set. This is overridable in each series'
  118792. * tooltip options object. The default is to preserve all decimals.
  118793. */
  118794. changeDecimals?: number;
  118795. /**
  118796. * (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
  118797. * tooltip's container div, allowing unique CSS styling for each chart.
  118798. */
  118799. className?: string;
  118800. /**
  118801. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the cluster point's
  118802. * in the tooltip. Works only with marker-clusters module and analogously to
  118803. * pointFormat.
  118804. *
  118805. * The cluster tooltip can be also formatted using `tooltip.formatter`
  118806. * callback function and `point.isCluster` flag.
  118807. */
  118808. clusterFormat?: object;
  118809. /**
  118810. * (Highcharts, Highstock, Gantt) For series on datetime axes, the date
  118811. * format in the tooltip's header will by default be guessed based on the
  118812. * closest data points. This member gives the default string representations
  118813. * used for each unit. For an overview of the replacement codes, see
  118814. * dateFormat.
  118815. */
  118816. dateTimeLabelFormats?: Dictionary<string>;
  118817. /**
  118818. * (Highcharts, Highstock, Highmaps, Gantt) Distance from point to tooltip
  118819. * in pixels.
  118820. */
  118821. distance?: number;
  118822. /**
  118823. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the tooltip.
  118824. */
  118825. enabled?: boolean;
  118826. /**
  118827. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  118828. * follow the mouse as it moves across columns, pie slices and other point
  118829. * types with an extent. By default it behaves this way for pie, polygon,
  118830. * map, sankey and wordcloud series by override in the `plotOptions` for
  118831. * those series types.
  118832. *
  118833. * Does not apply if split is `true`.
  118834. *
  118835. * For touch moves to behave the same way, followTouchMove must be `true`
  118836. * also.
  118837. */
  118838. followPointer?: boolean;
  118839. /**
  118840. * (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
  118841. * update as the finger moves on a touch device. If this is `true` and
  118842. * chart.panning is set,`followTouchMove` will take over one-finger touches,
  118843. * so the user needs to use two fingers for zooming and panning.
  118844. *
  118845. * Note the difference to followPointer that only defines the _position_ of
  118846. * the tooltip. If `followPointer` is false in for example a column series,
  118847. * the tooltip will show above or below the column, but as `followTouchMove`
  118848. * is true, the tooltip will jump from column to column as the user swipes
  118849. * across the plot area.
  118850. */
  118851. followTouchMove?: boolean;
  118852. /**
  118853. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to the
  118854. * tooltip format.
  118855. */
  118856. footerFormat?: string;
  118857. /**
  118858. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  118859. * text of the tooltip from scratch. In case of single or shared tooltips, a
  118860. * string should be returned. In case of split tooltips, it should return an
  118861. * array where the first item is the header, and subsequent items are mapped
  118862. * to the points. Return `false` to disable tooltip for a specific point on
  118863. * series.
  118864. *
  118865. * A subset of HTML is supported. Unless `useHTML` is true, the HTML of the
  118866. * tooltip is parsed and converted to SVG, therefore this isn't a complete
  118867. * HTML renderer. The following HTML tags are supported: `b`, `br`, `em`,
  118868. * `i`, `span`, `strong`. Spans can be styled with a `style` attribute, but
  118869. * only text-related CSS, that is shared with SVG, is handled.
  118870. *
  118871. * The available data in the formatter differ a bit depending on whether the
  118872. * tooltip is shared or split, or belongs to a single point. In a
  118873. * shared/split tooltip, all properties except `x`, which is common for all
  118874. * points, are kept in an array, `this.points`.
  118875. *
  118876. * Available data are:
  118877. *
  118878. * - **this.percentage (not shared) /** **this.points[i].percentage
  118879. * (shared)**: Stacked series and pies only. The point's percentage of the
  118880. * total.
  118881. *
  118882. * - **this.point (not shared) / this.points[i].point (shared)**: The point
  118883. * object. The point name, if defined, is available through
  118884. * `this.point.name`.
  118885. *
  118886. * - **this.points**: In a shared tooltip, this is an array containing all
  118887. * other properties for each point.
  118888. *
  118889. * - **this.series (not shared) / this.points[i].series (shared)**: The
  118890. * series object. The series name is available through `this.series.name`.
  118891. *
  118892. * - **this.total (not shared) / this.points[i].total (shared)**: Stacked
  118893. * series only. The total value at this point's x value.
  118894. *
  118895. * - **this.x**: The x value. This property is the same regardless of the
  118896. * tooltip being shared or not.
  118897. *
  118898. * - **this.y (not shared) / this.points[i].y (shared)**: The y value.
  118899. */
  118900. formatter?: TooltipFormatterCallbackFunction;
  118901. /**
  118902. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the tooltip header
  118903. * line. Variables are enclosed by curly brackets. Available variables are
  118904. * `point.key`, `series.name`, `series.color` and other members from the
  118905. * `point` and `series` objects. The `point.key` variable contains the
  118906. * category name, x value or datetime string depending on the type of axis.
  118907. * For datetime axes, the `point.key` date format can be set using
  118908. * `tooltip.xDateFormat`.
  118909. */
  118910. headerFormat?: string;
  118911. /**
  118912. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118913. * the border around the tooltip header. Applies only when tooltip.split is
  118914. * enabled.
  118915. *
  118916. * Custom callbacks for symbol path generation can also be added to
  118917. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  118918. * series.marker.symbol.
  118919. */
  118920. headerShape?: OptionsHeaderShapeValue;
  118921. /**
  118922. * (Highcharts, Highstock, Highmaps, Gantt) The number of milliseconds to
  118923. * wait until the tooltip is hidden when mouse out from a point or chart.
  118924. */
  118925. hideDelay?: number;
  118926. /**
  118927. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the null point's
  118928. * line in the tooltip. Works analogously to pointFormat.
  118929. */
  118930. nullFormat?: string;
  118931. /**
  118932. * (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
  118933. * text of the tooltip for visible null points. Works analogously to
  118934. * formatter.
  118935. */
  118936. nullFormatter?: TooltipFormatterCallbackFunction;
  118937. /**
  118938. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the tooltip to
  118939. * render outside the chart's SVG element box. By default (`false`), the
  118940. * tooltip is rendered within the chart's SVG element, which results in the
  118941. * tooltip being aligned inside the chart area. For small charts, this may
  118942. * result in clipping or overlapping. When `true`, a separate SVG element is
  118943. * created and overlaid on the page, allowing the tooltip to be aligned
  118944. * inside the page itself.
  118945. *
  118946. * Defaults to `true` if `chart.scrollablePlotArea` is activated, otherwise
  118947. * `false`.
  118948. */
  118949. outside?: (boolean|undefined);
  118950. /**
  118951. * (Highcharts, Highstock, Highmaps, Gantt) Padding inside the tooltip, in
  118952. * pixels.
  118953. */
  118954. padding?: number;
  118955. /**
  118956. * (Highcharts, Highstock, Highmaps, Gantt) The HTML of the point's line in
  118957. * the tooltip. Variables are enclosed by curly brackets. Available
  118958. * variables are `point.x`, `point.y`, `series.name` and `series.color` and
  118959. * other properties on the same form. Furthermore, `point.y` can be extended
  118960. * by the `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This
  118961. * can also be overridden for each series, which makes it a good hook for
  118962. * displaying units.
  118963. *
  118964. * In styled mode, the dot is colored by a class name rather than the point
  118965. * color.
  118966. */
  118967. pointFormat?: string;
  118968. /**
  118969. * (Highcharts, Highstock, Highmaps, Gantt) A callback function for
  118970. * formatting the HTML output for a single point in the tooltip. Like the
  118971. * `pointFormat` string, but with more flexibility.
  118972. */
  118973. pointFormatter?: FormatterCallbackFunction<Point>;
  118974. /**
  118975. * (Highcharts, Highstock, Highmaps, Gantt) A callback function to place the
  118976. * tooltip in a default position. The callback receives three parameters:
  118977. * `labelWidth`, `labelHeight` and `point`, where point contains values for
  118978. * `plotX` and `plotY` telling where the reference point is in the plot
  118979. * area. Add `chart.plotLeft` and `chart.plotTop` to get the full
  118980. * coordinates.
  118981. *
  118982. * Since v7, when tooltip.split option is enabled, positioner is called for
  118983. * each of the boxes separately, including xAxis header. xAxis header is not
  118984. * a point, instead `point` argument contains info: `{ plotX: Number, plotY:
  118985. * Number, isHeader: Boolean }`
  118986. *
  118987. * The return should be an object containing x and y values, for example `{
  118988. * x: 100, y: 100 }`.
  118989. */
  118990. positioner?: TooltipPositionerCallbackFunction;
  118991. /**
  118992. * (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
  118993. * to the tooltip.
  118994. */
  118995. shadow?: (boolean|ShadowOptionsObject);
  118996. /**
  118997. * (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
  118998. * the border around the tooltip. Can be one of: `"callout"`, `"circle"` or
  118999. * `"rect"`. When tooltip.split option is enabled, shape is applied to all
  119000. * boxes except header, which is controlled by tooltip.headerShape.
  119001. *
  119002. * Custom callbacks for symbol path generation can also be added to
  119003. * `Highcharts.SVGRenderer.prototype.symbols` the same way as for
  119004. * series.marker.symbol.
  119005. */
  119006. shape?: TooltipShapeValue;
  119007. /**
  119008. * (Highcharts, Highstock) When the tooltip is shared, the entire plot area
  119009. * will capture mouse movement or touch events. Tooltip texts for series
  119010. * types with ordered data (not pie, scatter, flags etc) will be shown in a
  119011. * single bubble. This is recommended for single series charts and for
  119012. * tablet/mobile optimized charts.
  119013. *
  119014. * See also tooltip.split, that is better suited for charts with many
  119015. * series, especially line-type series. The `tooltip.split` option takes
  119016. * precedence over `tooltip.shared`.
  119017. */
  119018. shared?: boolean;
  119019. /**
  119020. * (Highcharts, Highstock) Proximity snap for graphs or single points. It
  119021. * defaults to 10 for mouse-powered devices and 25 for touch devices.
  119022. *
  119023. * Note that in most cases the whole plot area captures the mouse movement,
  119024. * and in these cases `tooltip.snap` doesn't make sense. This applies when
  119025. * stickyTracking is `true` (default) and when the tooltip is shared or
  119026. * split.
  119027. */
  119028. snap?: number;
  119029. /**
  119030. * (Highcharts, Highstock) Split the tooltip into one label per series, with
  119031. * the header close to the axis. This is recommended over shared tooltips
  119032. * for charts with multiple line series, generally making them easier to
  119033. * read. This option takes precedence over `tooltip.shared`.
  119034. */
  119035. split?: boolean;
  119036. /**
  119037. * (Highcharts, Highstock, Highmaps, Gantt) Prevents the tooltip from
  119038. * switching or closing, when touched or pointed.
  119039. */
  119040. stickOnContact?: boolean;
  119041. /**
  119042. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the tooltip. The
  119043. * tooltip can also be styled through the CSS class `.highcharts-tooltip`.
  119044. *
  119045. * Note that the default `pointerEvents` style makes the tooltip ignore
  119046. * mouse events, so in order to use clickable tooltips, this value must be
  119047. * set to `auto`.
  119048. */
  119049. style?: CSSObject;
  119050. /**
  119051. * (Highcharts, Highstock, Highmaps, Gantt) Use HTML to render the contents
  119052. * of the tooltip instead of SVG. Using HTML allows advanced formatting like
  119053. * tables and images in the tooltip. It is also recommended for rtl
  119054. * languages as it works around rtl bugs in early Firefox.
  119055. */
  119056. useHTML?: boolean;
  119057. /**
  119058. * (Highcharts, Highstock, Highmaps, Gantt) How many decimals to show in
  119059. * each series' y value. This is overridable in each series' tooltip options
  119060. * object. The default is to preserve all decimals.
  119061. */
  119062. valueDecimals?: number;
  119063. /**
  119064. * (Highcharts, Highstock, Highmaps, Gantt) A string to prepend to each
  119065. * series' y value. Overridable in each series' tooltip options object.
  119066. */
  119067. valuePrefix?: string;
  119068. /**
  119069. * (Highcharts, Highstock, Highmaps, Gantt) A string to append to each
  119070. * series' y value. Overridable in each series' tooltip options object.
  119071. */
  119072. valueSuffix?: string;
  119073. /**
  119074. * (Highcharts, Highstock, Gantt) The format for the date in the tooltip
  119075. * header if the X axis is a datetime axis. The default is a best guess
  119076. * based on the smallest distance between points in the chart.
  119077. */
  119078. xDateFormat?: string;
  119079. }
  119080. /**
  119081. * Point information for positioning a tooltip.
  119082. */
  119083. export interface TooltipPositionerPointObject extends Point {
  119084. /**
  119085. * If `tooltip.split` option is enabled and positioner is called for each of
  119086. * the boxes separately, this property indicates the call on the xAxis
  119087. * header, which is not a point itself.
  119088. */
  119089. isHeader: boolean;
  119090. /**
  119091. * The reference point relative to the plot area. Add chart.plotLeft to get
  119092. * the full coordinates.
  119093. */
  119094. plotX: number;
  119095. /**
  119096. * The reference point relative to the plot area. Add chart.plotTop to get
  119097. * the full coordinates.
  119098. */
  119099. plotY: number;
  119100. }
  119101. /**
  119102. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  119103. * sections defined will be left out and all the points shifted closer to each
  119104. * other.
  119105. */
  119106. export interface XAxisBreaksOptions {
  119107. /**
  119108. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  119109. * be left between the start and the end of the break. The break size is
  119110. * given in axis units, so for instance on a `datetime` axis, a break size
  119111. * of 3600000 would indicate the equivalent of an hour.
  119112. */
  119113. breakSize?: number;
  119114. /**
  119115. * (Highcharts, Highstock, Gantt) The point where the break starts.
  119116. */
  119117. from?: number;
  119118. /**
  119119. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  119120. * appears again. By default the breaks do not repeat.
  119121. */
  119122. repeat?: number;
  119123. /**
  119124. * (Highcharts, Highstock, Gantt) The point where the break ends.
  119125. */
  119126. to?: number;
  119127. }
  119128. /**
  119129. * (Gantt) An object defining mouse events for the plot line. Supported
  119130. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  119131. */
  119132. export interface XAxisCurrentDateIndicatorEventsOptions {
  119133. /**
  119134. * (Gantt) Click event on a plot band.
  119135. */
  119136. click?: EventCallbackFunction<PlotLineOrBand>;
  119137. /**
  119138. * (Gantt) Mouse move event on a plot band.
  119139. */
  119140. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  119141. /**
  119142. * (Gantt) Mouse out event on the corner of a plot band.
  119143. */
  119144. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  119145. /**
  119146. * (Gantt) Mouse over event on a plot band.
  119147. */
  119148. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  119149. }
  119150. /**
  119151. * (Gantt) Text labels for the plot bands
  119152. */
  119153. export interface XAxisCurrentDateIndicatorLabelOptions {
  119154. /**
  119155. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  119156. * or "right".
  119157. */
  119158. align?: AlignValue;
  119159. /**
  119160. * (Gantt) Format of the label. This options is passed as the fist argument
  119161. * to dateFormat function.
  119162. */
  119163. format?: string;
  119164. /**
  119165. * (Gantt) Callback JavaScript function to format the label. Useful
  119166. * properties like the value of plot line or the range of plot band (`from`
  119167. * & `to` properties) can be found in `this.options` object.
  119168. */
  119169. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  119170. /**
  119171. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  119172. * horizontal plot lines and 90 for vertical lines.
  119173. */
  119174. rotation?: number;
  119175. /**
  119176. * (Gantt) CSS styles for the text label.
  119177. *
  119178. * In styled mode, the labels are styled by the
  119179. * `.highcharts-plot-line-label` class.
  119180. */
  119181. style?: CSSObject;
  119182. /**
  119183. * (Gantt) The text itself. A subset of HTML is supported.
  119184. */
  119185. text?: string;
  119186. /**
  119187. * (Gantt) The text alignment for the label. While `align` determines where
  119188. * the texts anchor point is placed within the plot band, `textAlign`
  119189. * determines how the text is aligned against its anchor point. Possible
  119190. * values are "left", "center" and "right". Defaults to the same as the
  119191. * `align` option.
  119192. */
  119193. textAlign?: AlignValue;
  119194. /**
  119195. * (Gantt) Whether to use HTML to render the labels.
  119196. */
  119197. useHTML?: boolean;
  119198. /**
  119199. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  119200. * one of "top", "middle" or "bottom".
  119201. */
  119202. verticalAlign?: VerticalAlignValue;
  119203. /**
  119204. * (Gantt) Horizontal position relative the alignment. Default varies by
  119205. * orientation.
  119206. */
  119207. x?: number;
  119208. /**
  119209. * (Gantt) Vertical position of the text baseline relative to the alignment.
  119210. * Default varies by orientation.
  119211. */
  119212. y?: number;
  119213. }
  119214. /**
  119215. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  119216. */
  119217. export interface XAxisEventsOptions {
  119218. /**
  119219. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  119220. */
  119221. afterBreaks?: AxisEventCallbackFunction;
  119222. /**
  119223. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  119224. * event, this event fires after the final min and max values are computed
  119225. * and corrected for `minRange`.
  119226. *
  119227. * Fires when the minimum and maximum is set for the axis, either by calling
  119228. * the `.setExtremes()` method or by selecting an area in the chart. One
  119229. * parameter, `event`, is passed to the function, containing common event
  119230. * information.
  119231. *
  119232. * The new user set minimum and maximum values can be found by `event.min`
  119233. * and `event.max`. These reflect the axis minimum and maximum in axis
  119234. * values. The actual data extremes are found in `event.dataMin` and
  119235. * `event.dataMax`.
  119236. */
  119237. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  119238. /**
  119239. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  119240. * a point.
  119241. */
  119242. pointBreak?: AxisPointBreakEventCallbackFunction;
  119243. /**
  119244. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  119245. * break from this axis.
  119246. */
  119247. pointInBreak?: AxisPointBreakEventCallbackFunction;
  119248. /**
  119249. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  119250. * maximum is set for the axis, either by calling the `.setExtremes()`
  119251. * method or by selecting an area in the chart. One parameter, `event`, is
  119252. * passed to the function, containing common event information.
  119253. *
  119254. * The new user set minimum and maximum values can be found by `event.min`
  119255. * and `event.max`. These reflect the axis minimum and maximum in data
  119256. * values. When an axis is zoomed all the way out from the "Reset zoom"
  119257. * button, `event.min` and `event.max` are null, and the new extremes are
  119258. * set based on `this.dataMin` and `this.dataMax`.
  119259. */
  119260. setExtremes?: AxisSetExtremesEventCallbackFunction;
  119261. }
  119262. /**
  119263. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  119264. */
  119265. export interface XAxisGridOptions {
  119266. /**
  119267. * (Gantt) Set border color for the label grid lines.
  119268. */
  119269. borderColor?: ColorString;
  119270. /**
  119271. * (Gantt) Set border width of the label grid lines.
  119272. */
  119273. borderWidth?: number;
  119274. /**
  119275. * (Gantt) Set cell height for grid axis labels. By default this is
  119276. * calculated from font size. This option only applies to horizontal axes.
  119277. */
  119278. cellHeight?: number;
  119279. /**
  119280. * (Gantt) Set specific options for each column (or row for horizontal axes)
  119281. * in the grid. Each extra column/row is its own axis, and the axis options
  119282. * can be set here.
  119283. */
  119284. columns?: Array<XAxisOptions>;
  119285. /**
  119286. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  119287. * charts.
  119288. */
  119289. enabled?: boolean;
  119290. }
  119291. /**
  119292. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  119293. * category for each tick.
  119294. *
  119295. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  119296. * `tickInterval` and `step` is set to 1.
  119297. */
  119298. export interface XAxisLabelsOptions {
  119299. /**
  119300. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  119301. * given position is anchored to. If `left`, the left side of the string is
  119302. * at the axis position. Can be one of `"left"`, `"center"` or `"right"`.
  119303. * Defaults to an intelligent guess based on which side of the chart the
  119304. * axis is on and the rotation of the label.
  119305. */
  119306. align?: AlignValue;
  119307. /**
  119308. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
  119309. * to overlap. When false, overlapping labels are hidden.
  119310. */
  119311. allowOverlap?: boolean;
  119312. /**
  119313. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  119314. * of label rotation to prevent overlapping labels. If there is enough
  119315. * space, labels are not rotated. As the chart gets narrower, it will start
  119316. * rotating the labels -45 degrees, then remove every second label and try
  119317. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  119318. * rotation, which will cause the labels to word-wrap if possible. Defaults
  119319. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  119320. */
  119321. autoRotation?: Array<number>;
  119322. /**
  119323. * (Highcharts, Gantt) When each category width is more than this many
  119324. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  119325. * with word wrap. A lower limit makes sense when the label contains
  119326. * multiple short words that don't extend the available horizontal space for
  119327. * each label.
  119328. */
  119329. autoRotationLimit?: number;
  119330. /**
  119331. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  119332. * the perimeter of the plot area.
  119333. */
  119334. distance?: number;
  119335. /**
  119336. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  119337. * labels.
  119338. */
  119339. enabled?: boolean;
  119340. /**
  119341. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  119342. * label. The context is available as format string variables. For example,
  119343. * you can use `{text}` to insert the default formatted text. The
  119344. * recommended way of adding units for the label is using `text`, for
  119345. * example `{text} km`.
  119346. *
  119347. * To add custom numeric or datetime formatting, use `{value}` with
  119348. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  119349. *
  119350. * See format string for more examples of formatting.
  119351. *
  119352. * The default value is not specified due to the dynamic nature of the
  119353. * default implementation.
  119354. */
  119355. format?: string;
  119356. /**
  119357. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  119358. * format the label. The value is given by `this.value`. Additional
  119359. * properties for `this` are `axis`, `chart`, `isFirst`, `isLast` and `text`
  119360. * which holds the value of the default formatter.
  119361. *
  119362. * Defaults to a built in function returning a formatted string depending on
  119363. * whether the axis is `category`, `datetime`, `numeric` or other.
  119364. */
  119365. formatter?: AxisLabelsFormatterCallbackFunction;
  119366. /**
  119367. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  119368. * axis.
  119369. */
  119370. indentation?: number;
  119371. /**
  119372. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  119373. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  119374. * By default it `"justify"` labels inside the chart area. If there is room
  119375. * to move it, it will be aligned to the edge, else it will be removed.
  119376. */
  119377. overflow?: OptionsOverflowValue;
  119378. /**
  119379. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  119380. * space between them.
  119381. */
  119382. padding?: number;
  119383. /**
  119384. * (Highcharts) Defines how the labels are be repositioned according to the
  119385. * 3D chart orientation.
  119386. *
  119387. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  119388. * marks, despite the chart orientation. This is the backwards compatible
  119389. * behavior, and causes skewing of X and Z axes.
  119390. *
  119391. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  119392. * but hard to read if the text isn't forward-facing.
  119393. *
  119394. * - `'flap'`: Rotated text along the axis to compensate for the chart
  119395. * orientation. This tries to maintain text as legible as possible on all
  119396. * orientations.
  119397. *
  119398. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  119399. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  119400. * skewing the labels (X and Y scaling are still present).
  119401. */
  119402. position3d?: OptionsPosition3dValue;
  119403. /**
  119404. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  119405. * space is reserved for the labels in these cases:
  119406. *
  119407. * * On all horizontal axes.
  119408. *
  119409. * * On vertical axes if `label.align` is `right` on a left-side axis or
  119410. * `left` on a right-side axis.
  119411. *
  119412. * * On vertical axes if `label.align` is `center`.
  119413. *
  119414. * This can be turned off when for example the labels are rendered inside
  119415. * the plot area instead of outside.
  119416. */
  119417. reserveSpace?: boolean;
  119418. /**
  119419. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  119420. * degrees. When `undefined`, the `autoRotation` option takes precedence.
  119421. */
  119422. rotation?: number;
  119423. /**
  119424. * (Highcharts) If enabled, the axis labels will skewed to follow the
  119425. * perspective.
  119426. *
  119427. * This will fix overlapping labels and titles, but texts become less
  119428. * legible due to the distortion.
  119429. *
  119430. * The final appearance depends heavily on `labels.position3d`.
  119431. */
  119432. skew3d?: boolean;
  119433. /**
  119434. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  119435. * of lines to spread the labels over to make room or tighter labels. 0
  119436. * disables staggering.
  119437. */
  119438. staggerLines?: object;
  119439. /**
  119440. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  119441. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  119442. * label.
  119443. *
  119444. * By default, when 0, the step is calculated automatically to avoid
  119445. * overlap. To prevent this, set it to 1\. This usually only happens on a
  119446. * category axis, and is often a sign that you have chosen the wrong axis
  119447. * type.
  119448. *
  119449. * Read more at Axis docs => What axis should I use?
  119450. */
  119451. step?: number;
  119452. /**
  119453. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  119454. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  119455. * `textOverflow: 'none'` to prevent ellipsis (dots).
  119456. *
  119457. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  119458. * class.
  119459. */
  119460. style?: CSSObject;
  119461. /**
  119462. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  119463. * the labels.
  119464. */
  119465. useHTML?: boolean;
  119466. /**
  119467. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  119468. * labels relative to the tick positions on the axis.
  119469. */
  119470. x?: number;
  119471. /**
  119472. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  119473. * labels relative to the tick positions on the axis. The default makes it
  119474. * adapt to the font size of the bottom axis.
  119475. */
  119476. y?: number;
  119477. /**
  119478. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  119479. */
  119480. zIndex?: number;
  119481. }
  119482. /**
  119483. * (Highcharts, Highstock, Highmaps, Gantt) The X axis or category axis.
  119484. * Normally this is the horizontal axis, though if the chart is inverted this is
  119485. * the vertical axis. In case of multiple axes, the xAxis node is an array of
  119486. * configuration objects.
  119487. *
  119488. * See the Axis class for programmatic access to the axis.
  119489. */
  119490. export interface XAxisOptions {
  119491. /**
  119492. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  119493. * axis. Requires the accessibility module.
  119494. */
  119495. accessibility?: AxisAccessibilityOptionsObject;
  119496. /**
  119497. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  119498. * or more opposite axes will automatically be aligned by adding ticks to
  119499. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  119500. *
  119501. * This can be prevented by setting `alignTicks` to false. If the grid lines
  119502. * look messy, it's a good idea to hide them for the secondary axis by
  119503. * setting `gridLineWidth` to 0.
  119504. *
  119505. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  119506. * the `alignTicks ` will be disabled for the Axis.
  119507. *
  119508. * Disabled for logarithmic axes.
  119509. */
  119510. alignTicks?: boolean;
  119511. /**
  119512. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  119513. * this axis' ticks. When counting integers, like persons or hits on a web
  119514. * page, decimals should be avoided in the labels. By default, decimals are
  119515. * allowed on small scale axes.
  119516. */
  119517. allowDecimals?: (boolean|undefined);
  119518. /**
  119519. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  119520. * color, a band is painted across the plot area between every other grid
  119521. * line.
  119522. */
  119523. alternateGridColor?: ColorType;
  119524. /**
  119525. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  119526. * degrees, where 0 is up and 90 is right. The angle determines the position
  119527. * of the axis line and the labels, though the coordinate system is
  119528. * unaffected. Since v8.0.0 this option is also applicable for X axis
  119529. * (inverted polar).
  119530. */
  119531. angle?: number;
  119532. /**
  119533. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  119534. * sections defined will be left out and all the points shifted closer to
  119535. * each other.
  119536. */
  119537. breaks?: Array<XAxisBreaksOptions>;
  119538. /**
  119539. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  119540. * used instead of numbers for that axis.
  119541. *
  119542. * Since Highcharts 3.0, categories can also be extracted by giving each
  119543. * point a name and setting axis type to `category`. However, if you have
  119544. * multiple series, best practice remains defining the `categories` array.
  119545. *
  119546. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  119547. */
  119548. categories?: Array<string>;
  119549. /**
  119550. * (Highcharts, Highstock, Gantt) The highest allowed value for
  119551. * automatically computed axis extremes.
  119552. */
  119553. ceiling?: number;
  119554. /**
  119555. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  119556. * styling the axis by CSS, especially in Highcharts styled mode. The class
  119557. * name is applied to group elements for the grid, axis elements and labels.
  119558. */
  119559. className?: string;
  119560. /**
  119561. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  119562. * follows either the mouse pointer or the hovered point.
  119563. *
  119564. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  119565. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  119566. */
  119567. crosshair?: (boolean|AxisCrosshairOptions);
  119568. /**
  119569. * (Gantt) Show an indicator on the axis for the current date and time. Can
  119570. * be a boolean or a configuration object similar to xAxis.plotLines.
  119571. */
  119572. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  119573. /**
  119574. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  119575. * automatically adjust to the appropriate unit. This member gives the
  119576. * default string representations used for each unit. For intermediate
  119577. * values, different units may be used, for example the `day` unit can be
  119578. * used on midnight and `hour` unit be used for intermediate values on the
  119579. * same axis.
  119580. *
  119581. * For an overview of the replacement codes, see dateFormat.
  119582. *
  119583. * Defaults to: (see online documentation for example)
  119584. */
  119585. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  119586. /**
  119587. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  119588. * on a tick. Use this option with the `maxPadding` option to control the
  119589. * axis end.
  119590. */
  119591. endOnTick?: boolean;
  119592. /**
  119593. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  119594. */
  119595. events?: XAxisEventsOptions;
  119596. /**
  119597. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  119598. * computed axis extremes.
  119599. */
  119600. floor?: number;
  119601. /**
  119602. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  119603. */
  119604. grid?: XAxisGridOptions;
  119605. /**
  119606. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  119607. * extending the ticks across the plot area.
  119608. *
  119609. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  119610. */
  119611. gridLineColor?: ColorType;
  119612. /**
  119613. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  119614. * grid lines. For possible values, see this demonstration.
  119615. */
  119616. gridLineDashStyle?: DashStyleValue;
  119617. /**
  119618. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  119619. * polygon with straight lines between categories, or as circles. Can be
  119620. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  119621. * for X axis (inverted polar).
  119622. */
  119623. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  119624. /**
  119625. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  119626. * extending the ticks across the plot area. Defaults to 1 on the Y axis and
  119627. * 0 on the X axis, except for 3d charts.
  119628. *
  119629. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  119630. * class.
  119631. */
  119632. gridLineWidth?: number;
  119633. /**
  119634. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  119635. */
  119636. gridZIndex?: number;
  119637. /**
  119638. * (Highcharts, Highstock) The height as the vertical axis. If it's a
  119639. * number, it is interpreted as pixels.
  119640. *
  119641. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  119642. * percentages of the total plot height.
  119643. */
  119644. height?: (number|string);
  119645. /**
  119646. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  119647. * used after render time to get a pointer to the axis object through
  119648. * `chart.get()`.
  119649. */
  119650. id?: string;
  119651. /**
  119652. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  119653. * or category for each tick.
  119654. *
  119655. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  119656. * data if `tickInterval` and `step` is set to 1.
  119657. */
  119658. labels?: XAxisLabelsOptions;
  119659. /**
  119660. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  119661. * a number, it is interpreted as pixel position relative to the chart.
  119662. *
  119663. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  119664. * as percentages of the plot width, offset from plot area left.
  119665. */
  119666. left?: (number|string);
  119667. /**
  119668. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  119669. * the axis itself.
  119670. *
  119671. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  119672. * or `.highcharts-xaxis-line` class.
  119673. */
  119674. lineColor?: ColorType;
  119675. /**
  119676. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  119677. * the axis itself.
  119678. *
  119679. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  119680. * or `.highcharts-xaxis-line` class.
  119681. */
  119682. lineWidth?: number;
  119683. /**
  119684. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  119685. * linked to. When an axis is linked to a master axis, it will take the same
  119686. * extremes as the master, but as assigned by min or max or by setExtremes.
  119687. * It can be used to show additional info, or to ease reading the chart by
  119688. * duplicating the scales.
  119689. */
  119690. linkedTo?: number;
  119691. /**
  119692. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  119693. * the same side of the chart, the pixel margin between the axes. Defaults
  119694. * to 0 on vertical axes, 15 on horizontal axes.
  119695. */
  119696. margin?: number;
  119697. /**
  119698. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  119699. * If `null`, the max value is automatically calculated.
  119700. *
  119701. * If the endOnTick option is true, the `max` value might be rounded up.
  119702. *
  119703. * If a tickAmount is set, the axis may be extended beyond the set max in
  119704. * order to reach the given number of ticks. The same may happen in a chart
  119705. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  119706. * is applied internally.
  119707. */
  119708. max?: (number|null);
  119709. /**
  119710. * (Highcharts, Highstock, Highmaps, Gantt) Padding of the max value
  119711. * relative to the length of the axis. A padding of 0.05 will make a 100px
  119712. * axis 5px longer. This is useful when you don't want the highest data
  119713. * value to appear on the edge of the plot area. When the axis' `max` option
  119714. * is set or a max extreme is set using `axis.setExtremes()`, the maxPadding
  119715. * will be ignored.
  119716. */
  119717. maxPadding?: number;
  119718. /**
  119719. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  119720. * handles. Opposite of xAxis.minRange.
  119721. */
  119722. maxRange?: number;
  119723. /**
  119724. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  119725. * If `null` the min value is automatically calculated.
  119726. *
  119727. * If the startOnTick option is true (default), the `min` value might be
  119728. * rounded down.
  119729. *
  119730. * The automatically calculated minimum value is also affected by floor,
  119731. * softMin, minPadding, minRange as well as series.threshold and
  119732. * series.softThreshold.
  119733. */
  119734. min?: (number|null);
  119735. /**
  119736. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  119737. * grid lines.
  119738. *
  119739. * In styled mode, the stroke width is given in the
  119740. * `.highcharts-minor-grid-line` class.
  119741. */
  119742. minorGridLineColor?: ColorType;
  119743. /**
  119744. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  119745. * minor grid lines. For possible values, see this demonstration.
  119746. */
  119747. minorGridLineDashStyle?: DashStyleValue;
  119748. /**
  119749. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  119750. * grid lines.
  119751. *
  119752. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  119753. * class.
  119754. */
  119755. minorGridLineWidth?: number;
  119756. /**
  119757. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  119758. */
  119759. minorTickColor?: ColorType;
  119760. /**
  119761. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  119762. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  119763. * interval is calculated as a fifth of the tickInterval. If `null` or
  119764. * `undefined`, minor ticks are not shown.
  119765. *
  119766. * On logarithmic axes, the unit is the power of the value. For example,
  119767. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  119768. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  119769. * and 10, 10 and 100 etc.
  119770. *
  119771. * If user settings dictate minor ticks to become too dense, they don't make
  119772. * sense, and will be ignored to prevent performance problems.
  119773. */
  119774. minorTickInterval?: (number|string|null);
  119775. /**
  119776. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  119777. * tick marks.
  119778. */
  119779. minorTickLength?: number;
  119780. /**
  119781. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  119782. * marks relative to the axis line. Can be one of `inside` and `outside`.
  119783. */
  119784. minorTickPosition?: OptionsMinorTickPositionValue;
  119785. /**
  119786. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  119787. * Unless minorTickInterval is set, the tick interval is calculated as a
  119788. * fifth of the `tickInterval`.
  119789. *
  119790. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  119791. * attempting to enter approximately 5 minor ticks between each major tick.
  119792. *
  119793. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  119794. * `minorTickInterval` to `"auto"`.
  119795. */
  119796. minorTicks?: boolean;
  119797. /**
  119798. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  119799. * tick mark.
  119800. */
  119801. minorTickWidth?: number;
  119802. /**
  119803. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  119804. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  119805. * This is useful when you don't want the lowest data value to appear on the
  119806. * edge of the plot area. When the axis' `min` option is set or a min
  119807. * extreme is set using `axis.setExtremes()`, the minPadding will be
  119808. * ignored.
  119809. */
  119810. minPadding?: number;
  119811. /**
  119812. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  119813. * this axis. The entire axis will not be allowed to span over a smaller
  119814. * interval than this. For example, for a datetime axis the main unit is
  119815. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  119816. * to one hour.
  119817. *
  119818. * The default minRange for the x axis is five times the smallest interval
  119819. * between any of the data points.
  119820. *
  119821. * On a logarithmic axis, the unit for the minimum range is the power. So a
  119822. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  119823. * 1000-10000 etc.
  119824. *
  119825. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  119826. * settings also affect how the extremes of the axis are computed.
  119827. */
  119828. minRange?: number;
  119829. /**
  119830. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  119831. * allowed in axis values. For example on zooming in on an axis with daily
  119832. * data, this can be used to prevent the axis from showing hours. Defaults
  119833. * to the closest distance between two points on the axis.
  119834. */
  119835. minTickInterval?: number;
  119836. /**
  119837. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  119838. * plot area to the axis line. A positive offset moves the axis with it's
  119839. * line, labels and ticks away from the plot area. This is typically used
  119840. * when two or more axes are displayed on the same side of the plot. With
  119841. * multiple axes the offset is dynamically adjusted to avoid collision, this
  119842. * can be overridden by setting offset explicitly.
  119843. */
  119844. offset?: number;
  119845. /**
  119846. * (Highcharts, Highstock, Highmaps, Gantt) Whether to display the axis on
  119847. * the opposite side of the normal. The normal is on the left side for
  119848. * vertical axes and bottom for horizontal, so the opposite sides will be
  119849. * right and top respectively. This is typically used with dual or multiple
  119850. * axes.
  119851. */
  119852. opposite?: boolean;
  119853. /**
  119854. * (Highstock) In an ordinal axis, the points are equally spaced in the
  119855. * chart regardless of the actual time or x distance between them. This
  119856. * means that missing data periods (e.g. nights or weekends for a stock
  119857. * chart) will not take up space in the chart. Having `ordinal: false` will
  119858. * show any gaps created by the `gapSize` setting proportionate to their
  119859. * duration.
  119860. *
  119861. * In stock charts the X axis is ordinal by default, unless the boost module
  119862. * is used and at least one of the series' data length exceeds the
  119863. * boostThreshold.
  119864. *
  119865. * For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
  119866. * overscroll instead.
  119867. */
  119868. ordinal?: boolean;
  119869. /**
  119870. * (Highstock) Additional range on the right side of the xAxis. Works
  119871. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  119872. * set for both main `xAxis` and the navigator's `xAxis`.
  119873. */
  119874. overscroll?: number;
  119875. /**
  119876. * (Highcharts) Refers to the index in the panes array. Used for circular
  119877. * gauges and polar charts. When the option is not set then first pane will
  119878. * be used.
  119879. */
  119880. pane?: number;
  119881. /**
  119882. * (Highcharts, Highstock, Highmaps, Gantt) Whether to pan axis. If
  119883. * `chart.panning` is enabled, the option allows to disable panning on an
  119884. * individual axis.
  119885. */
  119886. panningEnabled?: boolean;
  119887. /**
  119888. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  119889. * across the plot area marking an interval on the axis.
  119890. *
  119891. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  119892. * class in addition to the `className` option.
  119893. */
  119894. plotBands?: Array<XAxisPlotBandsOptions>;
  119895. /**
  119896. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  119897. * plot area, marking a specific value on one of the axes.
  119898. *
  119899. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  119900. * class in addition to the `className` option.
  119901. */
  119902. plotLines?: Array<XAxisPlotLinesOptions>;
  119903. /**
  119904. * (Highstock) The zoomed range to display when only defining one or none of
  119905. * `min` or `max`. For example, to show the latest month, a range of one
  119906. * month can be set.
  119907. */
  119908. range?: number;
  119909. /**
  119910. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  119911. * that the highest number is closest to the origin. If the chart is
  119912. * inverted, the x axis is reversed by default.
  119913. */
  119914. reversed?: boolean;
  119915. /**
  119916. * (Highcharts, Highstock) This option determines how stacks should be
  119917. * ordered within a group. For example reversed xAxis also reverses stacks,
  119918. * so first series comes last in a group. To keep order like for
  119919. * non-reversed xAxis enable this option.
  119920. */
  119921. reversedStacks?: boolean;
  119922. /**
  119923. * (Highstock) An optional scrollbar to display on the X axis in response to
  119924. * limiting the minimum and maximum of the axis values.
  119925. *
  119926. * In styled mode, all the presentational options for the scrollbar are
  119927. * replaced by the classes `.highcharts-scrollbar-thumb`,
  119928. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  119929. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  119930. */
  119931. scrollbar?: XAxisScrollbarOptions;
  119932. /**
  119933. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  119934. * and title when the axis has no data.
  119935. */
  119936. showEmpty?: boolean;
  119937. /**
  119938. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  119939. * label.
  119940. */
  119941. showFirstLabel?: boolean;
  119942. /**
  119943. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  119944. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  119945. */
  119946. showLastLabel?: boolean;
  119947. /**
  119948. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  119949. * data maximum is less than this, the axis will stay at this maximum, but
  119950. * if the series data maximum is higher, the axis will flex to show all
  119951. * data.
  119952. */
  119953. softMax?: number;
  119954. /**
  119955. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  119956. * data minimum is greater than this, the axis will stay at this minimum,
  119957. * but if the series data minimum is lower, the axis will flex to show all
  119958. * data.
  119959. */
  119960. softMin?: number;
  119961. /**
  119962. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  119963. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  119964. */
  119965. startOfWeek?: number;
  119966. /**
  119967. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to
  119968. * start on a tick. Use this option with the `minPadding` option to control
  119969. * the axis start.
  119970. */
  119971. startOnTick?: boolean;
  119972. /**
  119973. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  119974. * This opens up for aligning the ticks of multiple charts or panes within a
  119975. * chart. This option overrides the `tickPixelInterval` option.
  119976. *
  119977. * This option only has an effect on linear axes. Datetime, logarithmic or
  119978. * category axes are not affected.
  119979. */
  119980. tickAmount?: number;
  119981. /**
  119982. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  119983. *
  119984. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  119985. */
  119986. tickColor?: ColorType;
  119987. /**
  119988. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  119989. * in axis units. When `undefined`, the tick interval is computed to
  119990. * approximately follow the tickPixelInterval on linear and datetime axes.
  119991. * On categorized axes, a `undefined` tickInterval will default to 1, one
  119992. * category. Note that datetime axes are based on milliseconds, so for
  119993. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  119994. *
  119995. * On logarithmic axes, the tickInterval is based on powers, so a
  119996. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  119997. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  119998. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  119999. * etc.
  120000. *
  120001. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  120002. * remove ticks.
  120003. *
  120004. * If the chart has multiple axes, the alignTicks option may interfere with
  120005. * the `tickInterval` setting.
  120006. */
  120007. tickInterval?: number;
  120008. /**
  120009. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  120010. * tick marks.
  120011. */
  120012. tickLength?: number;
  120013. /**
  120014. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  120015. * placed in the center of the category, if `between` the tick mark is
  120016. * placed between categories. The default is `between` if the `tickInterval`
  120017. * is 1, else `on`.
  120018. */
  120019. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  120020. /**
  120021. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  120022. * option sets the approximate pixel interval of the tick marks. Not
  120023. * applicable to categorized axis.
  120024. *
  120025. * The tick interval is also influenced by the minTickInterval option, that,
  120026. * by default prevents ticks from being denser than the data points.
  120027. */
  120028. tickPixelInterval?: number;
  120029. /**
  120030. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  120031. * marks relative to the axis line. Can be one of `inside` and `outside`.
  120032. */
  120033. tickPosition?: OptionsTickPositionValue;
  120034. /**
  120035. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  120036. * array defining where the ticks are laid out on the axis. This overrides
  120037. * the default behaviour of tickPixelInterval and tickInterval. The
  120038. * automatic tick positions are accessible through `this.tickPositions` and
  120039. * can be modified by the callback.
  120040. */
  120041. tickPositioner?: AxisTickPositionerCallbackFunction;
  120042. /**
  120043. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  120044. * ticks are laid out on the axis. This overrides the default behaviour of
  120045. * tickPixelInterval and tickInterval.
  120046. */
  120047. tickPositions?: Array<number>;
  120048. /**
  120049. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the major
  120050. * tick marks. Defaults to 0 on category axes, otherwise 1.
  120051. *
  120052. * In styled mode, the stroke width is given in the `.highcharts-tick`
  120053. * class, but in order for the element to be generated on category axes, the
  120054. * option must be explicitly set to 1.
  120055. */
  120056. tickWidth?: (number|undefined);
  120057. /**
  120058. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  120059. * the axis line.
  120060. */
  120061. title?: XAxisTitleOptions;
  120062. /**
  120063. * (Highcharts, Highstock) The top position as the vertical axis. If it's a
  120064. * number, it is interpreted as pixel position relative to the chart.
  120065. *
  120066. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  120067. * percentages of the plot height, offset from plot area top.
  120068. */
  120069. top?: (number|string);
  120070. /**
  120071. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  120072. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  120073. * are given in milliseconds, and tick marks are placed on appropriate
  120074. * values like full hours or days. In a category axis, the point names of
  120075. * the chart's series are used for categories, if not a categories array is
  120076. * defined.
  120077. */
  120078. type?: AxisTypeValue;
  120079. /**
  120080. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  120081. * `uniqueNames` is true, points are placed on the X axis according to their
  120082. * names. If the same point name is repeated in the same or another series,
  120083. * the point is placed on the same X position as other points of the same
  120084. * name. When `uniqueNames` is false, the points are laid out in increasing
  120085. * X positions regardless of their names, and the X axis category will take
  120086. * the name of the last point in each position.
  120087. */
  120088. uniqueNames?: boolean;
  120089. /**
  120090. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  120091. * what time intervals the ticks are allowed to fall on. Each array item is
  120092. * an array where the first value is the time unit and the second value
  120093. * another array of allowed multiples.
  120094. *
  120095. * Defaults to: (see online documentation for example)
  120096. */
  120097. units?: Array<[string, (Array<number>|null)]>;
  120098. /**
  120099. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  120100. * ticks and labels, should be visible.
  120101. */
  120102. visible?: boolean;
  120103. /**
  120104. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  120105. * number, it is interpreted as pixels.
  120106. *
  120107. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  120108. * as percentages of the total plot width.
  120109. */
  120110. width?: (number|string);
  120111. /**
  120112. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
  120113. */
  120114. zIndex?: number;
  120115. /**
  120116. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  120117. * `chart.zoomType` is set, the option allows to disable zooming on an
  120118. * individual axis.
  120119. */
  120120. zoomEnabled?: boolean;
  120121. }
  120122. /**
  120123. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  120124. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  120125. */
  120126. export interface XAxisPlotBandsEventsOptions {
  120127. /**
  120128. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  120129. */
  120130. click?: EventCallbackFunction<PlotLineOrBand>;
  120131. /**
  120132. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  120133. */
  120134. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  120135. /**
  120136. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  120137. * band.
  120138. */
  120139. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  120140. /**
  120141. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  120142. */
  120143. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  120144. }
  120145. /**
  120146. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120147. */
  120148. export interface XAxisPlotBandsLabelOptions {
  120149. /**
  120150. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  120151. * one of "left", "center" or "right".
  120152. */
  120153. align?: AlignValue;
  120154. /**
  120155. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  120156. */
  120157. rotation?: number;
  120158. /**
  120159. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  120160. *
  120161. * In styled mode, the labels are styled by the
  120162. * `.highcharts-plot-band-label` class.
  120163. */
  120164. style?: CSSObject;
  120165. /**
  120166. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  120167. * is supported.
  120168. */
  120169. text?: string;
  120170. /**
  120171. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  120172. * `align` determines where the texts anchor point is placed within the plot
  120173. * band, `textAlign` determines how the text is aligned against its anchor
  120174. * point. Possible values are "left", "center" and "right". Defaults to the
  120175. * same as the `align` option.
  120176. */
  120177. textAlign?: AlignValue;
  120178. /**
  120179. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  120180. */
  120181. useHTML?: boolean;
  120182. /**
  120183. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  120184. * to the plot band. Can be one of "top", "middle" or "bottom".
  120185. */
  120186. verticalAlign?: VerticalAlignValue;
  120187. /**
  120188. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  120189. * alignment. Default varies by orientation.
  120190. */
  120191. x?: number;
  120192. /**
  120193. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  120194. * relative to the alignment. Default varies by orientation.
  120195. */
  120196. y?: number;
  120197. }
  120198. /**
  120199. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  120200. * the plot area marking an interval on the axis.
  120201. *
  120202. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  120203. * class in addition to the `className` option.
  120204. */
  120205. export interface XAxisPlotBandsOptions {
  120206. /**
  120207. * (Highstock) Flag to decide if plotBand should be rendered across all
  120208. * panes.
  120209. */
  120210. acrossPanes?: boolean;
  120211. /**
  120212. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  120213. * requires `borderWidth` to be set.
  120214. */
  120215. borderColor?: ColorString;
  120216. /**
  120217. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  120218. * requires `borderColor` to be set.
  120219. */
  120220. borderWidth?: number;
  120221. /**
  120222. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  120223. * default `highcharts-plot-band`, to apply to each individual band.
  120224. */
  120225. className?: string;
  120226. /**
  120227. * (Highcharts, Highstock, Gantt) The color of the plot band.
  120228. */
  120229. color?: (ColorString|GradientColorObject|PatternObject);
  120230. /**
  120231. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  120232. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  120233. * `mousemove`.
  120234. */
  120235. events?: XAxisPlotBandsEventsOptions;
  120236. /**
  120237. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  120238. * axis units.
  120239. */
  120240. from?: number;
  120241. /**
  120242. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  120243. * in Axis.removePlotBand.
  120244. */
  120245. id?: string;
  120246. /**
  120247. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120248. */
  120249. label?: XAxisPlotBandsLabelOptions;
  120250. /**
  120251. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  120252. * units.
  120253. */
  120254. to?: number;
  120255. /**
  120256. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  120257. * chart, relative to other elements. Using the same z index as another
  120258. * element may give unpredictable results, as the last rendered element will
  120259. * be on top. Values from 0 to 20 make sense.
  120260. */
  120261. zIndex?: number;
  120262. }
  120263. /**
  120264. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  120265. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  120266. */
  120267. export interface XAxisPlotLinesEventsOptions {
  120268. /**
  120269. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  120270. */
  120271. click?: EventCallbackFunction<PlotLineOrBand>;
  120272. /**
  120273. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  120274. */
  120275. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  120276. /**
  120277. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  120278. * band.
  120279. */
  120280. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  120281. /**
  120282. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  120283. */
  120284. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  120285. }
  120286. /**
  120287. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120288. */
  120289. export interface XAxisPlotLinesLabelOptions {
  120290. /**
  120291. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  120292. * one of "left", "center" or "right".
  120293. */
  120294. align?: AlignValue;
  120295. /**
  120296. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  120297. * label. Useful properties like the value of plot line or the range of plot
  120298. * band (`from` & `to` properties) can be found in `this.options` object.
  120299. */
  120300. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  120301. /**
  120302. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  120303. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  120304. */
  120305. rotation?: number;
  120306. /**
  120307. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  120308. *
  120309. * In styled mode, the labels are styled by the
  120310. * `.highcharts-plot-line-label` class.
  120311. */
  120312. style?: CSSObject;
  120313. /**
  120314. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  120315. * supported.
  120316. */
  120317. text?: string;
  120318. /**
  120319. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  120320. * `align` determines where the texts anchor point is placed within the plot
  120321. * band, `textAlign` determines how the text is aligned against its anchor
  120322. * point. Possible values are "left", "center" and "right". Defaults to the
  120323. * same as the `align` option.
  120324. */
  120325. textAlign?: AlignValue;
  120326. /**
  120327. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  120328. */
  120329. useHTML?: boolean;
  120330. /**
  120331. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  120332. * to the plot line. Can be one of "top", "middle" or "bottom".
  120333. */
  120334. verticalAlign?: VerticalAlignValue;
  120335. /**
  120336. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  120337. * alignment. Default varies by orientation.
  120338. */
  120339. x?: number;
  120340. /**
  120341. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  120342. * relative to the alignment. Default varies by orientation.
  120343. */
  120344. y?: number;
  120345. }
  120346. /**
  120347. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  120348. * area, marking a specific value on one of the axes.
  120349. *
  120350. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  120351. * class in addition to the `className` option.
  120352. */
  120353. export interface XAxisPlotLinesOptions {
  120354. /**
  120355. * (Highstock) Flag to decide if plotLine should be rendered across all
  120356. * panes.
  120357. */
  120358. acrossPanes?: boolean;
  120359. /**
  120360. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  120361. * default `highcharts-plot-line`, to apply to each individual line.
  120362. */
  120363. className?: string;
  120364. /**
  120365. * (Highcharts, Highstock, Gantt) The color of the line.
  120366. */
  120367. color?: ColorString;
  120368. /**
  120369. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  120370. * line. For possible values see this overview.
  120371. */
  120372. dashStyle?: DashStyleValue;
  120373. /**
  120374. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  120375. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  120376. * `mousemove`.
  120377. */
  120378. events?: XAxisPlotLinesEventsOptions;
  120379. /**
  120380. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  120381. * in Axis.removePlotLine.
  120382. */
  120383. id?: string;
  120384. /**
  120385. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  120386. */
  120387. label?: XAxisPlotLinesLabelOptions;
  120388. /**
  120389. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  120390. */
  120391. value?: number;
  120392. /**
  120393. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  120394. */
  120395. width?: number;
  120396. /**
  120397. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  120398. * chart.
  120399. */
  120400. zIndex?: number;
  120401. }
  120402. /**
  120403. * (Highstock) An optional scrollbar to display on the X axis in response to
  120404. * limiting the minimum and maximum of the axis values.
  120405. *
  120406. * In styled mode, all the presentational options for the scrollbar are replaced
  120407. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  120408. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  120409. * `.highcharts-scrollbar-track`.
  120410. */
  120411. export interface XAxisScrollbarOptions {
  120412. /**
  120413. * (Highstock) The background color of the scrollbar itself.
  120414. */
  120415. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120416. /**
  120417. * (Highstock) The color of the scrollbar's border.
  120418. */
  120419. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120420. /**
  120421. * (Highstock) The border rounding radius of the bar.
  120422. */
  120423. barBorderRadius?: number;
  120424. /**
  120425. * (Highstock) The width of the bar's border.
  120426. */
  120427. barBorderWidth?: number;
  120428. /**
  120429. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  120430. */
  120431. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  120432. /**
  120433. * (Highstock) The color of scrollbar buttons.
  120434. */
  120435. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120436. /**
  120437. * (Highstock) The color of the border of the scrollbar buttons.
  120438. */
  120439. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120440. /**
  120441. * (Highstock) The corner radius of the scrollbar buttons.
  120442. */
  120443. buttonBorderRadius?: number;
  120444. /**
  120445. * (Highstock) The border width of the scrollbar buttons.
  120446. */
  120447. buttonBorderWidth?: number;
  120448. /**
  120449. * (Highstock) Enable or disable the scrollbar.
  120450. */
  120451. enabled?: boolean;
  120452. /**
  120453. * (Highstock) The height of the scrollbar. The height also applies to the
  120454. * width of the scroll arrows so that they are always squares. Defaults to
  120455. * 20 for touch devices and 14 for mouse devices.
  120456. */
  120457. height?: number;
  120458. /**
  120459. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  120460. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  120461. * and `false` for legacy IE browsers as well as mobile devices.
  120462. */
  120463. liveRedraw?: boolean;
  120464. /**
  120465. * (Highstock) The margin between the scrollbar and its axis when the
  120466. * scrollbar is applied directly to an axis.
  120467. */
  120468. margin?: number;
  120469. /**
  120470. * (Highstock) The minimum width of the scrollbar.
  120471. */
  120472. minWidth?: number;
  120473. /**
  120474. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  120475. */
  120476. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  120477. /**
  120478. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  120479. * content is zoomed out to it full extent.
  120480. */
  120481. showFull?: boolean;
  120482. /**
  120483. * (Highstock) The color of the track background.
  120484. */
  120485. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  120486. /**
  120487. * (Highstock) The color of the border of the scrollbar track.
  120488. */
  120489. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  120490. /**
  120491. * (Highstock) The corner radius of the border of the scrollbar track.
  120492. */
  120493. trackBorderRadius?: number;
  120494. /**
  120495. * (Highstock) The width of the border of the scrollbar track.
  120496. */
  120497. trackBorderWidth?: number;
  120498. /**
  120499. * (Highstock) The z index of the scrollbar group.
  120500. */
  120501. zIndex?: number;
  120502. }
  120503. /**
  120504. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  120505. * axis line.
  120506. */
  120507. export interface XAxisTitleOptions {
  120508. /**
  120509. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  120510. * to the axis values. Possible values are "low", "middle" or "high".
  120511. */
  120512. align?: AxisTitleAlignValue;
  120513. /**
  120514. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  120515. * axis labels or line and the title. Defaults to 0 for horizontal axes, 10
  120516. * for vertical
  120517. */
  120518. margin?: number;
  120519. /**
  120520. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  120521. * from the axis line. By default, this distance is computed from the offset
  120522. * width of the labels, the labels' distance from the axis and the title's
  120523. * margin. However when the offset option is set, it overrides all this.
  120524. */
  120525. offset?: number;
  120526. /**
  120527. * (Highcharts) Defines how the title is repositioned according to the 3D
  120528. * chart orientation.
  120529. *
  120530. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  120531. * marks, despite the chart orientation. This is the backwards compatible
  120532. * behavior, and causes skewing of X and Z axes.
  120533. *
  120534. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  120535. * but hard to read if the text isn't forward-facing.
  120536. *
  120537. * - `'flap'`: Rotated text along the axis to compensate for the chart
  120538. * orientation. This tries to maintain text as legible as possible on all
  120539. * orientations.
  120540. *
  120541. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  120542. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  120543. * skewing the labels (X and Y scaling are still present).
  120544. *
  120545. * - `undefined`: Will use the config from `labels.position3d`
  120546. */
  120547. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  120548. /**
  120549. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  120550. * when laying out the axis.
  120551. */
  120552. reserveSpace?: boolean;
  120553. /**
  120554. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  120555. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  120556. */
  120557. rotation?: number;
  120558. /**
  120559. * (Highcharts) If enabled, the axis title will skewed to follow the
  120560. * perspective.
  120561. *
  120562. * This will fix overlapping labels and titles, but texts become less
  120563. * legible due to the distortion.
  120564. *
  120565. * The final appearance depends heavily on `title.position3d`.
  120566. *
  120567. * A `null` value will use the config from `labels.skew3d`.
  120568. */
  120569. skew3d?: (boolean|null);
  120570. /**
  120571. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  120572. * title text is longer than the axis length, it will wrap to multiple lines
  120573. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  120574. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  120575. *
  120576. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  120577. * class.
  120578. */
  120579. style?: CSSObject;
  120580. /**
  120581. * (Highcharts, Highstock, Highmaps, Gantt) The actual text of the axis
  120582. * title. It can contain basic HTML tags like `b`, `i` and `span` with
  120583. * style.
  120584. */
  120585. text?: (string|null);
  120586. /**
  120587. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  120588. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  120589. * title.align:
  120590. *
  120591. * Horizontal axes:
  120592. *
  120593. * - for `align` = `"low"`, `textAlign` is set to `left`
  120594. *
  120595. * - for `align` = `"middle"`, `textAlign` is set to `center`
  120596. *
  120597. * - for `align` = `"high"`, `textAlign` is set to `right`
  120598. *
  120599. * Vertical axes:
  120600. *
  120601. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  120602. * `right`
  120603. *
  120604. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  120605. * `left`
  120606. *
  120607. * - for `align` = `"middle"`, `textAlign` is set to `center`
  120608. *
  120609. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  120610. * `left`
  120611. *
  120612. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  120613. * `right`
  120614. */
  120615. textAlign?: AlignValue;
  120616. /**
  120617. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  120618. * title.
  120619. */
  120620. useHTML?: boolean;
  120621. /**
  120622. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  120623. * position.
  120624. */
  120625. x?: number;
  120626. /**
  120627. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  120628. * position.
  120629. */
  120630. y?: number;
  120631. }
  120632. /**
  120633. * (Gantt) Connect to a point. This option can be either a string, referring to
  120634. * the ID of another point, or an object, or an array of either. If the option
  120635. * is an array, each element defines a connection.
  120636. */
  120637. export interface XrangePointConnectorsOptionsObject {
  120638. /**
  120639. * (Gantt) Set the default dash style for this chart's connecting lines.
  120640. */
  120641. dashStyle?: string;
  120642. /**
  120643. * (Gantt) Marker options specific to the end markers for this chart's
  120644. * Pathfinder connectors. Overrides the generic marker options.
  120645. */
  120646. endMarker?: ConnectorsEndMarkerOptions;
  120647. /**
  120648. * (Gantt) Set the default color for this chart's Pathfinder connecting
  120649. * lines. Defaults to the color of the point being connected.
  120650. */
  120651. lineColor?: ColorString;
  120652. /**
  120653. * (Gantt) Set the default pixel width for this chart's Pathfinder
  120654. * connecting lines.
  120655. */
  120656. lineWidth?: number;
  120657. /**
  120658. * (Gantt) Marker options for this chart's Pathfinder connectors. Note that
  120659. * this option is overridden by the `startMarker` and `endMarker` options.
  120660. */
  120661. marker?: ConnectorsMarkerOptions;
  120662. /**
  120663. * (Gantt) Marker options specific to the start markers for this chart's
  120664. * Pathfinder connectors. Overrides the generic marker options.
  120665. */
  120666. startMarker?: ConnectorsStartMarkerOptions;
  120667. /**
  120668. * (Gantt) The ID of the point to connect to.
  120669. */
  120670. to?: string;
  120671. /**
  120672. * (Gantt) Set the default pathfinder algorithm to use for this chart. It is
  120673. * possible to define your own algorithms by adding them to the
  120674. * Highcharts.Pathfinder.prototype.algorithms object before the chart has
  120675. * been created.
  120676. *
  120677. * The default algorithms are as follows:
  120678. *
  120679. * `straight`: Draws a straight line between the connecting points. Does not
  120680. * avoid other points when drawing.
  120681. *
  120682. * `simpleConnect`: Finds a path between the points using right angles only.
  120683. * Takes only starting/ending points into account, and will not avoid other
  120684. * points.
  120685. *
  120686. * `fastAvoid`: Finds a path between the points using right angles only.
  120687. * Will attempt to avoid other points, but its focus is performance over
  120688. * accuracy. Works well with less dense datasets.
  120689. *
  120690. * Default value: `straight` is used as default for most series types, while
  120691. * `simpleConnect` is used as default for Gantt series, to show dependencies
  120692. * between points.
  120693. */
  120694. type?: PathfinderTypeValue;
  120695. }
  120696. /**
  120697. * (Highcharts, Highstock, Gantt) An array of data points for the series. For
  120698. * the `xrange` series type, points can be given in the following ways:
  120699. *
  120700. * 1. An array of objects with named values. The objects are point configuration
  120701. * objects as seen below. (see online documentation for example)
  120702. */
  120703. export interface XrangePointOptionsObject {
  120704. /**
  120705. * (Highcharts, Highstock, Gantt) Accessibility options for a data point.
  120706. */
  120707. accessibility?: PointAccessibilityOptionsObject;
  120708. /**
  120709. * (Highcharts, Gantt) An additional, individual class name for the data
  120710. * point's graphic representation.
  120711. */
  120712. className?: string;
  120713. /**
  120714. * (Highcharts, Highstock, Gantt) Individual color for the point. By default
  120715. * the color is pulled from the global `colors` array.
  120716. *
  120717. * In styled mode, the `color` option doesn't take effect. Instead, use
  120718. * `colorIndex`.
  120719. */
  120720. color?: (ColorString|GradientColorObject|PatternObject);
  120721. /**
  120722. * (Highcharts, Gantt) A specific color index to use for the point, so its
  120723. * graphic representations are given the class name `highcharts-color-{n}`.
  120724. * In styled mode this will change the color of the graphic. In non-styled
  120725. * mode, the color by is set by the `fill` attribute, so the change in class
  120726. * name won't have a visual effect by default.
  120727. */
  120728. colorIndex?: number;
  120729. /**
  120730. * (Gantt) Connect to a point. This option can be either a string, referring
  120731. * to the ID of another point, or an object, or an array of either. If the
  120732. * option is an array, each element defines a connection.
  120733. */
  120734. connect?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
  120735. /**
  120736. * (Highcharts, Highstock, Gantt) A reserved subspace to store options and
  120737. * values for customized functionality. Here you can add additional data for
  120738. * your own event callbacks and formatter callbacks.
  120739. */
  120740. custom?: Dictionary<any>;
  120741. /**
  120742. * (Highcharts, Highstock, Gantt) Individual data label for each point. The
  120743. * options are the same as the ones for plotOptions.series.dataLabels.
  120744. */
  120745. dataLabels?: (DataLabelsOptions|Array<DataLabelsOptions>);
  120746. /**
  120747. * (Highcharts, Highstock, Gantt) A description of the point to add to the
  120748. * screen reader information about the point.
  120749. */
  120750. description?: string;
  120751. /**
  120752. * (Highcharts, Highstock, Gantt) Point specific options for the
  120753. * draggable-points module. Overrides options on `series.dragDrop`.
  120754. */
  120755. dragDrop?: SeriesLineDataDragDropOptions;
  120756. /**
  120757. * (Highcharts) The `id` of a series in the drilldown.series array to use
  120758. * for a drilldown for this point.
  120759. */
  120760. drilldown?: string;
  120761. /**
  120762. * (Highcharts, Highstock, Gantt) The individual point events.
  120763. */
  120764. events?: PointEventsOptionsObject;
  120765. /**
  120766. * (Highcharts, Highstock, Gantt) An id for the point. This can be used
  120767. * after render time to get a pointer to the point object through
  120768. * `chart.get()`.
  120769. */
  120770. id?: string;
  120771. /**
  120772. * (Highcharts, Highstock, Gantt) The rank for this point's data label in
  120773. * case of collision. If two data labels are about to overlap, only the one
  120774. * with the highest `labelrank` will be drawn.
  120775. */
  120776. labelrank?: number;
  120777. /**
  120778. * (Highcharts, Highstock) Options for the point markers of line-like
  120779. * series.
  120780. */
  120781. marker?: PointMarkerOptionsObject;
  120782. /**
  120783. * (Highcharts, Highstock, Gantt) The name of the point as shown in the
  120784. * legend, tooltip, dataLabels, etc.
  120785. */
  120786. name?: string;
  120787. /**
  120788. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically
  120789. * used to visualize how much of a task is performed. The partial fill
  120790. * object can be set either on series or point level.
  120791. */
  120792. partialFill?: XrangePointPartialFillOptionsObject;
  120793. /**
  120794. * (Highcharts, Highstock, Gantt) Whether the data point is selected
  120795. * initially.
  120796. */
  120797. selected?: boolean;
  120798. /**
  120799. * (Highcharts, Highstock, Gantt) The starting X value of the range point.
  120800. */
  120801. x?: number;
  120802. /**
  120803. * (Highcharts, Highstock, Gantt) The ending X value of the range point.
  120804. */
  120805. x2?: number;
  120806. /**
  120807. * (Highcharts, Highstock, Gantt) The Y value of the range point.
  120808. */
  120809. y?: number;
  120810. }
  120811. /**
  120812. * (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
  120813. * to visualize how much of a task is performed. The partial fill object can be
  120814. * set either on series or point level.
  120815. */
  120816. export interface XrangePointPartialFillOptionsObject {
  120817. /**
  120818. * (Highcharts, Highstock, Gantt) The amount of the X-range point to be
  120819. * filled. Values can be 0-1 and are converted to percentages in the default
  120820. * data label formatter.
  120821. */
  120822. amount?: number;
  120823. /**
  120824. * (Highcharts, Highstock, Gantt) The fill color to be used for partial
  120825. * fills. Defaults to a darker shade of the point color.
  120826. */
  120827. fill?: (ColorString|GradientColorObject|PatternObject);
  120828. }
  120829. /**
  120830. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  120831. * sections defined will be left out and all the points shifted closer to each
  120832. * other.
  120833. */
  120834. export interface YAxisBreaksOptions {
  120835. /**
  120836. * (Highcharts, Highstock, Gantt) A number indicating how much space should
  120837. * be left between the start and the end of the break. The break size is
  120838. * given in axis units, so for instance on a `datetime` axis, a break size
  120839. * of 3600000 would indicate the equivalent of an hour.
  120840. */
  120841. breakSize?: number;
  120842. /**
  120843. * (Highcharts, Highstock, Gantt) The point where the break starts.
  120844. */
  120845. from?: number;
  120846. /**
  120847. * (Highcharts, Highstock, Gantt) Defines an interval after which the break
  120848. * appears again. By default the breaks do not repeat.
  120849. */
  120850. repeat?: number;
  120851. /**
  120852. * (Highcharts, Highstock, Gantt) The point where the break ends.
  120853. */
  120854. to?: number;
  120855. }
  120856. /**
  120857. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  120858. */
  120859. export interface YAxisEventsOptions {
  120860. /**
  120861. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  120862. */
  120863. afterBreaks?: AxisEventCallbackFunction;
  120864. /**
  120865. * (Highcharts, Highstock, Highmaps, Gantt) As opposed to the `setExtremes`
  120866. * event, this event fires after the final min and max values are computed
  120867. * and corrected for `minRange`.
  120868. *
  120869. * Fires when the minimum and maximum is set for the axis, either by calling
  120870. * the `.setExtremes()` method or by selecting an area in the chart. One
  120871. * parameter, `event`, is passed to the function, containing common event
  120872. * information.
  120873. *
  120874. * The new user set minimum and maximum values can be found by `event.min`
  120875. * and `event.max`. These reflect the axis minimum and maximum in axis
  120876. * values. The actual data extremes are found in `event.dataMin` and
  120877. * `event.dataMax`.
  120878. */
  120879. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  120880. /**
  120881. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  120882. * a point.
  120883. */
  120884. pointBreak?: AxisPointBreakEventCallbackFunction;
  120885. /**
  120886. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  120887. * break from this axis.
  120888. */
  120889. pointInBreak?: AxisPointBreakEventCallbackFunction;
  120890. /**
  120891. * (Highcharts, Highstock, Highmaps, Gantt) Fires when the minimum and
  120892. * maximum is set for the axis, either by calling the `.setExtremes()`
  120893. * method or by selecting an area in the chart. One parameter, `event`, is
  120894. * passed to the function, containing common event information.
  120895. *
  120896. * The new user set minimum and maximum values can be found by `event.min`
  120897. * and `event.max`. These reflect the axis minimum and maximum in data
  120898. * values. When an axis is zoomed all the way out from the "Reset zoom"
  120899. * button, `event.min` and `event.max` are null, and the new extremes are
  120900. * set based on `this.dataMin` and `this.dataMax`.
  120901. */
  120902. setExtremes?: AxisSetExtremesEventCallbackFunction;
  120903. }
  120904. /**
  120905. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  120906. */
  120907. export interface YAxisGridOptions {
  120908. /**
  120909. * (Gantt) Set border color for the label grid lines.
  120910. */
  120911. borderColor?: ColorString;
  120912. /**
  120913. * (Gantt) Set border width of the label grid lines.
  120914. */
  120915. borderWidth?: number;
  120916. /**
  120917. * (Gantt) Set cell height for grid axis labels. By default this is
  120918. * calculated from font size. This option only applies to horizontal axes.
  120919. */
  120920. cellHeight?: number;
  120921. /**
  120922. * (Gantt) Set specific options for each column (or row for horizontal axes)
  120923. * in the grid. Each extra column/row is its own axis, and the axis options
  120924. * can be set here.
  120925. */
  120926. columns?: Array<XAxisOptions>;
  120927. /**
  120928. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  120929. * charts.
  120930. */
  120931. enabled?: boolean;
  120932. }
  120933. /**
  120934. * (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
  120935. * over labels options.
  120936. */
  120937. export interface YAxisLabelsLevelsOptions {
  120938. /**
  120939. * (Gantt) Specify the level which the options within this object applies
  120940. * to.
  120941. */
  120942. level?: number;
  120943. style?: CSSObject;
  120944. }
  120945. /**
  120946. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number or
  120947. * category for each tick.
  120948. *
  120949. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  120950. * `tickInterval` and `step` is set to 1.
  120951. */
  120952. export interface YAxisLabelsOptions {
  120953. /**
  120954. * (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
  120955. * given position is anchored to. Can be one of `"left"`, `"center"` or
  120956. * `"right"`. The exact position also depends on the `labels.x` setting.
  120957. *
  120958. * Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
  120959. * two labels have additional option `"auto"` for automatic horizontal and
  120960. * vertical alignment.
  120961. */
  120962. align?: AlignValue;
  120963. /**
  120964. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
  120965. * to overlap. When false, overlapping labels are hidden.
  120966. */
  120967. allowOverlap?: boolean;
  120968. /**
  120969. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  120970. * of label rotation to prevent overlapping labels. If there is enough
  120971. * space, labels are not rotated. As the chart gets narrower, it will start
  120972. * rotating the labels -45 degrees, then remove every second label and try
  120973. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  120974. * rotation, which will cause the labels to word-wrap if possible. Defaults
  120975. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  120976. */
  120977. autoRotation?: Array<number>;
  120978. /**
  120979. * (Highcharts, Gantt) When each category width is more than this many
  120980. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  120981. * with word wrap. A lower limit makes sense when the label contains
  120982. * multiple short words that don't extend the available horizontal space for
  120983. * each label.
  120984. */
  120985. autoRotationLimit?: number;
  120986. /**
  120987. * (Highcharts) Angular gauges and solid gauges only. The label's pixel
  120988. * distance from the perimeter of the plot area.
  120989. *
  120990. * Since v7.1.2: If it's a percentage string, it is interpreted the same as
  120991. * series.radius, so label can be aligned under the gauge's shape.
  120992. */
  120993. distance?: (number|string);
  120994. /**
  120995. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
  120996. * labels.
  120997. */
  120998. enabled?: boolean;
  120999. /**
  121000. * (Highcharts, Highstock, Highmaps, Gantt) A format string for the axis
  121001. * label. The context is available as format string variables. For example,
  121002. * you can use `{text}` to insert the default formatted text. The
  121003. * recommended way of adding units for the label is using `text`, for
  121004. * example `{text} km`.
  121005. *
  121006. * To add custom numeric or datetime formatting, use `{value}` with
  121007. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  121008. *
  121009. * See format string for more examples of formatting.
  121010. *
  121011. * The default value is not specified due to the dynamic nature of the
  121012. * default implementation.
  121013. */
  121014. format?: string;
  121015. /**
  121016. * (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
  121017. * format the label. The value is given by `this.value`. Additional
  121018. * properties for `this` are `axis`, `chart`, `isFirst`, `isLast` and `text`
  121019. * which holds the value of the default formatter.
  121020. *
  121021. * Defaults to a built in function returning a formatted string depending on
  121022. * whether the axis is `category`, `datetime`, `numeric` or other.
  121023. */
  121024. formatter?: AxisLabelsFormatterCallbackFunction;
  121025. /**
  121026. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  121027. * axis.
  121028. */
  121029. indentation?: number;
  121030. /**
  121031. * (Gantt) Set options on specific levels in a tree grid axis. Takes
  121032. * precedence over labels options.
  121033. */
  121034. levels?: Array<YAxisLabelsLevelsOptions>;
  121035. /**
  121036. * (Highcharts, Highstock, Highmaps, Gantt) How to handle overflowing labels
  121037. * on horizontal axis. If set to `"allow"`, it will not be aligned at all.
  121038. * By default it `"justify"` labels inside the chart area. If there is room
  121039. * to move it, it will be aligned to the edge, else it will be removed.
  121040. */
  121041. overflow?: OptionsOverflowValue;
  121042. /**
  121043. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  121044. * space between them.
  121045. */
  121046. padding?: number;
  121047. /**
  121048. * (Highcharts) Defines how the labels are be repositioned according to the
  121049. * 3D chart orientation.
  121050. *
  121051. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  121052. * marks, despite the chart orientation. This is the backwards compatible
  121053. * behavior, and causes skewing of X and Z axes.
  121054. *
  121055. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  121056. * but hard to read if the text isn't forward-facing.
  121057. *
  121058. * - `'flap'`: Rotated text along the axis to compensate for the chart
  121059. * orientation. This tries to maintain text as legible as possible on all
  121060. * orientations.
  121061. *
  121062. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  121063. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  121064. * skewing the labels (X and Y scaling are still present).
  121065. */
  121066. position3d?: OptionsPosition3dValue;
  121067. /**
  121068. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  121069. * space is reserved for the labels in these cases:
  121070. *
  121071. * * On all horizontal axes.
  121072. *
  121073. * * On vertical axes if `label.align` is `right` on a left-side axis or
  121074. * `left` on a right-side axis.
  121075. *
  121076. * * On vertical axes if `label.align` is `center`.
  121077. *
  121078. * This can be turned off when for example the labels are rendered inside
  121079. * the plot area instead of outside.
  121080. */
  121081. reserveSpace?: boolean;
  121082. /**
  121083. * (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
  121084. * degrees. When `undefined`, the `autoRotation` option takes precedence.
  121085. */
  121086. rotation?: number;
  121087. /**
  121088. * (Highcharts) If enabled, the axis labels will skewed to follow the
  121089. * perspective.
  121090. *
  121091. * This will fix overlapping labels and titles, but texts become less
  121092. * legible due to the distortion.
  121093. *
  121094. * The final appearance depends heavily on `labels.position3d`.
  121095. */
  121096. skew3d?: boolean;
  121097. /**
  121098. * (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
  121099. * of lines to spread the labels over to make room or tighter labels. 0
  121100. * disables staggering.
  121101. */
  121102. staggerLines?: object;
  121103. /**
  121104. * (Highcharts, Highstock, Highmaps, Gantt) To show only every _n_'th label
  121105. * on the axis, set the step to _n_. Setting the step to 2 shows every other
  121106. * label.
  121107. *
  121108. * By default, when 0, the step is calculated automatically to avoid
  121109. * overlap. To prevent this, set it to 1\. This usually only happens on a
  121110. * category axis, and is often a sign that you have chosen the wrong axis
  121111. * type.
  121112. *
  121113. * Read more at Axis docs => What axis should I use?
  121114. */
  121115. step?: number;
  121116. /**
  121117. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
  121118. * `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
  121119. * `textOverflow: 'none'` to prevent ellipsis (dots).
  121120. *
  121121. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  121122. * class.
  121123. */
  121124. style?: CSSObject;
  121125. /**
  121126. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  121127. */
  121128. symbol?: YAxisLabelsSymbolOptions;
  121129. /**
  121130. * (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
  121131. * the labels.
  121132. */
  121133. useHTML?: boolean;
  121134. /**
  121135. * (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
  121136. * labels relative to the tick positions on the axis. Defaults to -15 for
  121137. * left axis, 15 for right axis.
  121138. */
  121139. x?: number;
  121140. /**
  121141. * (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
  121142. * labels relative to the tick positions on the axis. For polar and radial
  121143. * axis consider the use of the distance option.
  121144. */
  121145. y?: number;
  121146. /**
  121147. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
  121148. */
  121149. zIndex?: number;
  121150. }
  121151. /**
  121152. * (Gantt) The symbol for the collapse and expand icon in a treegrid.
  121153. */
  121154. export interface YAxisLabelsSymbolOptions {
  121155. height?: number;
  121156. padding?: number;
  121157. /**
  121158. * (Gantt) The symbol type. Points to a definition function in the
  121159. * `Highcharts.Renderer.symbols` collection.
  121160. */
  121161. type?: SymbolKeyValue;
  121162. width?: number;
  121163. x?: number;
  121164. y?: number;
  121165. }
  121166. /**
  121167. * (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis. Normally
  121168. * this is the vertical axis, though if the chart is inverted this is the
  121169. * horizontal axis. In case of multiple axes, the yAxis node is an array of
  121170. * configuration objects.
  121171. *
  121172. * See the Axis object for programmatic access to the axis.
  121173. */
  121174. export interface YAxisOptions {
  121175. /**
  121176. * (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
  121177. * axis. Requires the accessibility module.
  121178. */
  121179. accessibility?: AxisAccessibilityOptionsObject;
  121180. /**
  121181. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  121182. * or more opposite axes will automatically be aligned by adding ticks to
  121183. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  121184. *
  121185. * This can be prevented by setting `alignTicks` to false. If the grid lines
  121186. * look messy, it's a good idea to hide them for the secondary axis by
  121187. * setting `gridLineWidth` to 0.
  121188. *
  121189. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  121190. * the `alignTicks ` will be disabled for the Axis.
  121191. *
  121192. * Disabled for logarithmic axes.
  121193. */
  121194. alignTicks?: boolean;
  121195. /**
  121196. * (Highcharts, Highstock, Highmaps, Gantt) Whether to allow decimals in
  121197. * this axis' ticks. When counting integers, like persons or hits on a web
  121198. * page, decimals should be avoided in the labels. By default, decimals are
  121199. * allowed on small scale axes.
  121200. */
  121201. allowDecimals?: (boolean|undefined);
  121202. /**
  121203. * (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
  121204. * color, a band is painted across the plot area between every other grid
  121205. * line.
  121206. */
  121207. alternateGridColor?: ColorType;
  121208. /**
  121209. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  121210. * degrees, where 0 is up and 90 is right. The angle determines the position
  121211. * of the axis line and the labels, though the coordinate system is
  121212. * unaffected. Since v8.0.0 this option is also applicable for X axis
  121213. * (inverted polar).
  121214. */
  121215. angle?: number;
  121216. /**
  121217. * (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
  121218. * sections defined will be left out and all the points shifted closer to
  121219. * each other.
  121220. */
  121221. breaks?: Array<YAxisBreaksOptions>;
  121222. /**
  121223. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  121224. * used instead of numbers for that axis.
  121225. *
  121226. * Since Highcharts 3.0, categories can also be extracted by giving each
  121227. * point a name and setting axis type to `category`. However, if you have
  121228. * multiple series, best practice remains defining the `categories` array.
  121229. *
  121230. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  121231. */
  121232. categories?: Array<string>;
  121233. /**
  121234. * (Highcharts, Highstock, Gantt) The highest allowed value for
  121235. * automatically computed axis extremes.
  121236. */
  121237. ceiling?: number;
  121238. /**
  121239. * (Highcharts, Highstock, Highmaps, Gantt) A class name that opens for
  121240. * styling the axis by CSS, especially in Highcharts styled mode. The class
  121241. * name is applied to group elements for the grid, axis elements and labels.
  121242. */
  121243. className?: string;
  121244. /**
  121245. * (Highcharts, Highstock, Highmaps, Gantt) Configure a crosshair that
  121246. * follows either the mouse pointer or the hovered point.
  121247. *
  121248. * In styled mode, the crosshairs are styled in the `.highcharts-crosshair`,
  121249. * `.highcharts-crosshair-thin` or `.highcharts-xaxis-category` classes.
  121250. */
  121251. crosshair?: (boolean|AxisCrosshairOptions);
  121252. /**
  121253. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  121254. * automatically adjust to the appropriate unit. This member gives the
  121255. * default string representations used for each unit. For intermediate
  121256. * values, different units may be used, for example the `day` unit can be
  121257. * used on midnight and `hour` unit be used for intermediate values on the
  121258. * same axis.
  121259. *
  121260. * For an overview of the replacement codes, see dateFormat.
  121261. *
  121262. * Defaults to: (see online documentation for example)
  121263. */
  121264. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  121265. /**
  121266. * (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
  121267. * on a tick. Use this option with the `maxPadding` option to control the
  121268. * axis end.
  121269. *
  121270. * This option is always disabled, when panning type is either `y` or `xy`.
  121271. */
  121272. endOnTick?: boolean;
  121273. /**
  121274. * (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
  121275. */
  121276. events?: YAxisEventsOptions;
  121277. /**
  121278. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  121279. * computed axis extremes.
  121280. */
  121281. floor?: number;
  121282. /**
  121283. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  121284. */
  121285. grid?: YAxisGridOptions;
  121286. /**
  121287. * (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
  121288. * extending the ticks across the plot area.
  121289. *
  121290. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  121291. */
  121292. gridLineColor?: ColorType;
  121293. /**
  121294. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  121295. * grid lines. For possible values, see this demonstration.
  121296. */
  121297. gridLineDashStyle?: DashStyleValue;
  121298. /**
  121299. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  121300. * polygon with straight lines between categories, or as circles. Can be
  121301. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  121302. * for X axis (inverted polar).
  121303. */
  121304. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  121305. /**
  121306. * (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
  121307. * extending the ticks across the plot area. Defaults to 1 on the Y axis and
  121308. * 0 on the X axis, except for 3d charts.
  121309. *
  121310. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  121311. * class.
  121312. */
  121313. gridLineWidth?: number;
  121314. /**
  121315. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  121316. */
  121317. gridZIndex?: number;
  121318. /**
  121319. * (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
  121320. * interpreted as pixels.
  121321. *
  121322. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  121323. * percentages of the total plot height.
  121324. */
  121325. height?: (number|string);
  121326. /**
  121327. * (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
  121328. * used after render time to get a pointer to the axis object through
  121329. * `chart.get()`.
  121330. */
  121331. id?: string;
  121332. /**
  121333. * (Highcharts, Highstock, Highmaps, Gantt) The axis labels show the number
  121334. * or category for each tick.
  121335. *
  121336. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  121337. * data if `tickInterval` and `step` is set to 1.
  121338. */
  121339. labels?: YAxisLabelsOptions;
  121340. /**
  121341. * (Highcharts, Highstock) The left position as the horizontal axis. If it's
  121342. * a number, it is interpreted as pixel position relative to the chart.
  121343. *
  121344. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  121345. * as percentages of the plot width, offset from plot area left.
  121346. */
  121347. left?: (number|string);
  121348. /**
  121349. * (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
  121350. * the axis itself.
  121351. *
  121352. * In styled mode, the line stroke is given in the `.highcharts-axis-line`
  121353. * or `.highcharts-xaxis-line` class.
  121354. */
  121355. lineColor?: ColorType;
  121356. /**
  121357. * (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
  121358. * the axis itself.
  121359. *
  121360. * In styled mode, the stroke width is given in the `.highcharts-axis-line`
  121361. * or `.highcharts-xaxis-line` class.
  121362. */
  121363. lineWidth?: number;
  121364. /**
  121365. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  121366. * linked to. When an axis is linked to a master axis, it will take the same
  121367. * extremes as the master, but as assigned by min or max or by setExtremes.
  121368. * It can be used to show additional info, or to ease reading the chart by
  121369. * duplicating the scales.
  121370. */
  121371. linkedTo?: number;
  121372. /**
  121373. * (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
  121374. * the same side of the chart, the pixel margin between the axes. Defaults
  121375. * to 0 on vertical axes, 15 on horizontal axes.
  121376. */
  121377. margin?: number;
  121378. /**
  121379. * (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
  121380. * If `null`, the max value is automatically calculated.
  121381. *
  121382. * If the endOnTick option is true, the `max` value might be rounded up.
  121383. *
  121384. * If a tickAmount is set, the axis may be extended beyond the set max in
  121385. * order to reach the given number of ticks. The same may happen in a chart
  121386. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  121387. * is applied internally.
  121388. */
  121389. max?: (number|null);
  121390. /**
  121391. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  121392. * represent the maximum value of the Y axis.
  121393. */
  121394. maxColor?: ColorType;
  121395. /**
  121396. * (Highstock) Maximal size of a resizable axis. Could be set as a percent
  121397. * of plot area or pixel size.
  121398. */
  121399. maxLength?: (number|string);
  121400. /**
  121401. * (Highcharts, Highstock, Gantt) Padding of the max value relative to the
  121402. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  121403. * This is useful when you don't want the highest data value to appear on
  121404. * the edge of the plot area. When the axis' `max` option is set or a max
  121405. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  121406. * ignored.
  121407. *
  121408. * Also the `softThreshold` option takes precedence over `maxPadding`, so if
  121409. * the data is tangent to the threshold, `maxPadding` may not apply unless
  121410. * `softThreshold` is set to false.
  121411. */
  121412. maxPadding?: number;
  121413. /**
  121414. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  121415. * handles. Opposite of xAxis.minRange.
  121416. */
  121417. maxRange?: number;
  121418. /**
  121419. * (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
  121420. * If `null` the min value is automatically calculated.
  121421. *
  121422. * If the startOnTick option is true (default), the `min` value might be
  121423. * rounded down.
  121424. *
  121425. * The automatically calculated minimum value is also affected by floor,
  121426. * softMin, minPadding, minRange as well as series.threshold and
  121427. * series.softThreshold.
  121428. */
  121429. min?: (number|null);
  121430. /**
  121431. * (Highcharts) Solid gauge only. Unless stops are set, the color to
  121432. * represent the minimum value of the Y axis.
  121433. */
  121434. minColor?: ColorType;
  121435. /**
  121436. * (Highstock) Minimal size of a resizable axis. Could be set as a percent
  121437. * of plot area or pixel size.
  121438. */
  121439. minLength?: (number|string);
  121440. /**
  121441. * (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
  121442. * grid lines.
  121443. *
  121444. * In styled mode, the stroke width is given in the
  121445. * `.highcharts-minor-grid-line` class.
  121446. */
  121447. minorGridLineColor?: ColorType;
  121448. /**
  121449. * (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
  121450. * minor grid lines. For possible values, see this demonstration.
  121451. */
  121452. minorGridLineDashStyle?: DashStyleValue;
  121453. /**
  121454. * (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
  121455. * grid lines.
  121456. *
  121457. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  121458. * class.
  121459. */
  121460. minorGridLineWidth?: number;
  121461. /**
  121462. * (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
  121463. */
  121464. minorTickColor?: ColorType;
  121465. /**
  121466. * (Highcharts, Highstock, Highmaps, Gantt) Specific tick interval in axis
  121467. * units for the minor ticks. On a linear axis, if `"auto"`, the minor tick
  121468. * interval is calculated as a fifth of the tickInterval. If `null` or
  121469. * `undefined`, minor ticks are not shown.
  121470. *
  121471. * On logarithmic axes, the unit is the power of the value. For example,
  121472. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  121473. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  121474. * and 10, 10 and 100 etc.
  121475. *
  121476. * If user settings dictate minor ticks to become too dense, they don't make
  121477. * sense, and will be ignored to prevent performance problems.
  121478. */
  121479. minorTickInterval?: (number|string|null);
  121480. /**
  121481. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
  121482. * tick marks.
  121483. */
  121484. minorTickLength?: number;
  121485. /**
  121486. * (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
  121487. * marks relative to the axis line. Can be one of `inside` and `outside`.
  121488. */
  121489. minorTickPosition?: OptionsMinorTickPositionValue;
  121490. /**
  121491. * (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
  121492. * Unless minorTickInterval is set, the tick interval is calculated as a
  121493. * fifth of the `tickInterval`.
  121494. *
  121495. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  121496. * attempting to enter approximately 5 minor ticks between each major tick.
  121497. *
  121498. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  121499. * `minorTickInterval` to `"auto"`.
  121500. */
  121501. minorTicks?: boolean;
  121502. /**
  121503. * (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
  121504. * tick mark.
  121505. */
  121506. minorTickWidth?: number;
  121507. /**
  121508. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  121509. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  121510. * This is useful when you don't want the lowest data value to appear on the
  121511. * edge of the plot area. When the axis' `min` option is set or a max
  121512. * extreme is set using `axis.setExtremes()`, the maxPadding will be
  121513. * ignored.
  121514. *
  121515. * Also the `softThreshold` option takes precedence over `minPadding`, so if
  121516. * the data is tangent to the threshold, `minPadding` may not apply unless
  121517. * `softThreshold` is set to false.
  121518. */
  121519. minPadding?: number;
  121520. /**
  121521. * (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
  121522. * this axis. The entire axis will not be allowed to span over a smaller
  121523. * interval than this. For example, for a datetime axis the main unit is
  121524. * milliseconds. If minRange is set to 3600000, you can't zoom in more than
  121525. * to one hour.
  121526. *
  121527. * The default minRange for the x axis is five times the smallest interval
  121528. * between any of the data points.
  121529. *
  121530. * On a logarithmic axis, the unit for the minimum range is the power. So a
  121531. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  121532. * 1000-10000 etc.
  121533. *
  121534. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  121535. * settings also affect how the extremes of the axis are computed.
  121536. */
  121537. minRange?: number;
  121538. /**
  121539. * (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
  121540. * allowed in axis values. For example on zooming in on an axis with daily
  121541. * data, this can be used to prevent the axis from showing hours. Defaults
  121542. * to the closest distance between two points on the axis.
  121543. */
  121544. minTickInterval?: number;
  121545. /**
  121546. * (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
  121547. * plot area to the axis line. A positive offset moves the axis with it's
  121548. * line, labels and ticks away from the plot area. This is typically used
  121549. * when two or more axes are displayed on the same side of the plot. With
  121550. * multiple axes the offset is dynamically adjusted to avoid collision, this
  121551. * can be overridden by setting offset explicitly.
  121552. */
  121553. offset?: number;
  121554. /**
  121555. * (Highstock, Highcharts, Gantt) Whether to display the axis on the
  121556. * opposite side of the normal. The normal is on the left side for vertical
  121557. * axes and bottom for horizontal, so the opposite sides will be right and
  121558. * top respectively. This is typically used with dual or multiple axes.
  121559. */
  121560. opposite?: boolean;
  121561. /**
  121562. * (Highcharts) Refers to the index in the panes array. Used for circular
  121563. * gauges and polar charts. When the option is not set then first pane will
  121564. * be used.
  121565. */
  121566. pane?: number;
  121567. /**
  121568. * (Highcharts, Highstock, Highmaps, Gantt) Whether to pan axis. If
  121569. * `chart.panning` is enabled, the option allows to disable panning on an
  121570. * individual axis.
  121571. */
  121572. panningEnabled?: boolean;
  121573. /**
  121574. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  121575. * across the plot area marking an interval on the axis.
  121576. *
  121577. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  121578. * class in addition to the `className` option.
  121579. */
  121580. plotBands?: Array<YAxisPlotBandsOptions>;
  121581. /**
  121582. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  121583. * plot area, marking a specific value on one of the axes.
  121584. *
  121585. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  121586. * class in addition to the `className` option.
  121587. */
  121588. plotLines?: Array<YAxisPlotLinesOptions>;
  121589. /**
  121590. * (Highstock) The zoomed range to display when only defining one or none of
  121591. * `min` or `max`. For example, to show the latest month, a range of one
  121592. * month can be set.
  121593. */
  121594. range?: number;
  121595. /**
  121596. * (Highstock) Options for axis resizing. It adds a thick line between panes
  121597. * which the user can drag in order to resize the panes.
  121598. */
  121599. resize?: YAxisResizeOptions;
  121600. /**
  121601. * (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
  121602. * that the highest number is closest to the origin.
  121603. */
  121604. reversed?: boolean;
  121605. /**
  121606. * (Highcharts, Highstock) If `true`, the first series in a stack will be
  121607. * drawn on top in a positive, non-reversed Y axis. If `false`, the first
  121608. * series is in the base of the stack.
  121609. */
  121610. reversedStacks?: boolean;
  121611. /**
  121612. * (Highstock) An optional scrollbar to display on the Y axis in response to
  121613. * limiting the minimum an maximum of the axis values.
  121614. *
  121615. * In styled mode, all the presentational options for the scrollbar are
  121616. * replaced by the classes `.highcharts-scrollbar-thumb`,
  121617. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  121618. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  121619. */
  121620. scrollbar?: YAxisScrollbarOptions;
  121621. /**
  121622. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
  121623. * and title when the axis has no data.
  121624. */
  121625. showEmpty?: boolean;
  121626. /**
  121627. * (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
  121628. * label.
  121629. */
  121630. showFirstLabel?: boolean;
  121631. /**
  121632. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  121633. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  121634. */
  121635. showLastLabel?: boolean;
  121636. /**
  121637. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  121638. * data maximum is less than this, the axis will stay at this maximum, but
  121639. * if the series data maximum is higher, the axis will flex to show all
  121640. * data.
  121641. *
  121642. * **Note**: The series.softThreshold option takes precedence over this
  121643. * option.
  121644. */
  121645. softMax?: number;
  121646. /**
  121647. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  121648. * data minimum is greater than this, the axis will stay at this minimum,
  121649. * but if the series data minimum is lower, the axis will flex to show all
  121650. * data.
  121651. *
  121652. * **Note**: The series.softThreshold option takes precedence over this
  121653. * option.
  121654. */
  121655. softMin?: number;
  121656. /**
  121657. * (Highcharts) The stack labels show the total value for each bar in a
  121658. * stacked column or bar chart. The label will be placed on top of positive
  121659. * columns and below negative columns. In case of an inverted column chart
  121660. * or a bar chart the label is placed to the right of positive bars and to
  121661. * the left of negative bars.
  121662. */
  121663. stackLabels?: YAxisStackLabelsOptions;
  121664. /**
  121665. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  121666. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  121667. */
  121668. startOfWeek?: number;
  121669. /**
  121670. * (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
  121671. * tick. Use this option with the `maxPadding` option to control the axis
  121672. * start.
  121673. *
  121674. * This option is always disabled, when panning type is either `y` or `xy`.
  121675. */
  121676. startOnTick?: boolean;
  121677. /**
  121678. * (Gantt) For vertical axes only. Setting the static scale ensures that
  121679. * each tick unit is translated into a fixed pixel height. For example,
  121680. * setting the static scale to 24 results in each Y axis category taking up
  121681. * 24 pixels, and the height of the chart adjusts. Adding or removing items
  121682. * will make the chart resize.
  121683. */
  121684. staticScale?: number;
  121685. /**
  121686. * (Highcharts) Solid gauge series only. Color stops for the solid gauge.
  121687. * Use this in cases where a linear gradient between a `minColor` and
  121688. * `maxColor` is not sufficient. The stops is an array of tuples, where the
  121689. * first item is a float between 0 and 1 assigning the relative position in
  121690. * the gradient, and the second item is the color.
  121691. *
  121692. * For solid gauges, the Y axis also inherits the concept of data classes
  121693. * from the Highmaps color axis.
  121694. */
  121695. stops?: Array<[number, ColorType]>;
  121696. /**
  121697. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  121698. * This opens up for aligning the ticks of multiple charts or panes within a
  121699. * chart. This option overrides the `tickPixelInterval` option.
  121700. *
  121701. * This option only has an effect on linear axes. Datetime, logarithmic or
  121702. * category axes are not affected.
  121703. */
  121704. tickAmount?: number;
  121705. /**
  121706. * (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
  121707. *
  121708. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  121709. */
  121710. tickColor?: ColorType;
  121711. /**
  121712. * (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
  121713. * in axis units. When `undefined`, the tick interval is computed to
  121714. * approximately follow the tickPixelInterval on linear and datetime axes.
  121715. * On categorized axes, a `undefined` tickInterval will default to 1, one
  121716. * category. Note that datetime axes are based on milliseconds, so for
  121717. * example an interval of one day is expressed as `24 * 3600 * 1000`.
  121718. *
  121719. * On logarithmic axes, the tickInterval is based on powers, so a
  121720. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  121721. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  121722. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  121723. * etc.
  121724. *
  121725. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  121726. * remove ticks.
  121727. *
  121728. * If the chart has multiple axes, the alignTicks option may interfere with
  121729. * the `tickInterval` setting.
  121730. */
  121731. tickInterval?: number;
  121732. /**
  121733. * (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
  121734. * tick marks.
  121735. */
  121736. tickLength?: number;
  121737. /**
  121738. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  121739. * placed in the center of the category, if `between` the tick mark is
  121740. * placed between categories. The default is `between` if the `tickInterval`
  121741. * is 1, else `on`.
  121742. */
  121743. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  121744. /**
  121745. * (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
  121746. * option sets the approximate pixel interval of the tick marks. Not
  121747. * applicable to categorized axis.
  121748. *
  121749. * The tick interval is also influenced by the minTickInterval option, that,
  121750. * by default prevents ticks from being denser than the data points.
  121751. */
  121752. tickPixelInterval?: number;
  121753. /**
  121754. * (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
  121755. * marks relative to the axis line. Can be one of `inside` and `outside`.
  121756. */
  121757. tickPosition?: OptionsTickPositionValue;
  121758. /**
  121759. * (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
  121760. * array defining where the ticks are laid out on the axis. This overrides
  121761. * the default behaviour of tickPixelInterval and tickInterval. The
  121762. * automatic tick positions are accessible through `this.tickPositions` and
  121763. * can be modified by the callback.
  121764. */
  121765. tickPositioner?: AxisTickPositionerCallbackFunction;
  121766. /**
  121767. * (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
  121768. * ticks are laid out on the axis. This overrides the default behaviour of
  121769. * tickPixelInterval and tickInterval.
  121770. */
  121771. tickPositions?: Array<number>;
  121772. /**
  121773. * (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
  121774. */
  121775. tickWidth?: number;
  121776. /**
  121777. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
  121778. * the axis line.
  121779. */
  121780. title?: YAxisTitleOptions;
  121781. /**
  121782. * (Highcharts) Parallel coordinates only. Format that will be used for
  121783. * point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
  121784. * If not set, `{point.formattedValue}` will use other options, in this
  121785. * order:
  121786. *
  121787. * 1. yAxis.labels.format will be used if set
  121788. *
  121789. * 2. If yAxis is a category, then category name will be displayed
  121790. *
  121791. * 3. If yAxis is a datetime, then value will use the same format as yAxis
  121792. * labels
  121793. *
  121794. * 4. If yAxis is linear/logarithmic type, then simple value will be used
  121795. */
  121796. tooltipValueFormat?: string;
  121797. /**
  121798. * (Highcharts, Highstock) The top position of the Y axis. If it's a number,
  121799. * it is interpreted as pixel position relative to the chart.
  121800. *
  121801. * Since Highcharts 2: If it's a percentage string, it is interpreted as
  121802. * percentages of the plot height, offset from plot area top.
  121803. */
  121804. top?: (number|string);
  121805. /**
  121806. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  121807. * `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
  121808. * `treegrid` for Gantt charts, `linear` for other chart types.
  121809. *
  121810. * In a datetime axis, the numbers are given in milliseconds, and tick marks
  121811. * are placed on appropriate values, like full hours or days. In a category
  121812. * or treegrid axis, the point names of the chart's series are used for
  121813. * categories, if a categories array is not defined.
  121814. */
  121815. type?: AxisTypeValue;
  121816. /**
  121817. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  121818. * `uniqueNames` is true, points are placed on the X axis according to their
  121819. * names. If the same point name is repeated in the same or another series,
  121820. * the point is placed on the same X position as other points of the same
  121821. * name. When `uniqueNames` is false, the points are laid out in increasing
  121822. * X positions regardless of their names, and the X axis category will take
  121823. * the name of the last point in each position.
  121824. */
  121825. uniqueNames?: boolean;
  121826. /**
  121827. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  121828. * what time intervals the ticks are allowed to fall on. Each array item is
  121829. * an array where the first value is the time unit and the second value
  121830. * another array of allowed multiples.
  121831. *
  121832. * Defaults to: (see online documentation for example)
  121833. */
  121834. units?: Array<[string, (Array<number>|null)]>;
  121835. /**
  121836. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  121837. * ticks and labels, should be visible.
  121838. */
  121839. visible?: boolean;
  121840. /**
  121841. * (Highcharts, Highstock) The width as the horizontal axis. If it's a
  121842. * number, it is interpreted as pixels.
  121843. *
  121844. * Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
  121845. * as percentages of the total plot width.
  121846. */
  121847. width?: (number|string);
  121848. /**
  121849. * (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
  121850. */
  121851. zIndex?: number;
  121852. /**
  121853. * (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
  121854. * `chart.zoomType` is set, the option allows to disable zooming on an
  121855. * individual axis.
  121856. */
  121857. zoomEnabled?: boolean;
  121858. }
  121859. /**
  121860. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  121861. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  121862. */
  121863. export interface YAxisPlotBandsEventsOptions {
  121864. /**
  121865. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  121866. */
  121867. click?: EventCallbackFunction<PlotLineOrBand>;
  121868. /**
  121869. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  121870. */
  121871. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  121872. /**
  121873. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  121874. * band.
  121875. */
  121876. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  121877. /**
  121878. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  121879. */
  121880. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  121881. }
  121882. /**
  121883. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  121884. */
  121885. export interface YAxisPlotBandsLabelOptions {
  121886. /**
  121887. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  121888. * one of "left", "center" or "right".
  121889. */
  121890. align?: AlignValue;
  121891. /**
  121892. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  121893. */
  121894. rotation?: number;
  121895. /**
  121896. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  121897. *
  121898. * In styled mode, the labels are styled by the
  121899. * `.highcharts-plot-band-label` class.
  121900. */
  121901. style?: CSSObject;
  121902. /**
  121903. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  121904. * is supported.
  121905. */
  121906. text?: string;
  121907. /**
  121908. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  121909. * `align` determines where the texts anchor point is placed within the plot
  121910. * band, `textAlign` determines how the text is aligned against its anchor
  121911. * point. Possible values are "left", "center" and "right". Defaults to the
  121912. * same as the `align` option.
  121913. */
  121914. textAlign?: AlignValue;
  121915. /**
  121916. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  121917. */
  121918. useHTML?: boolean;
  121919. /**
  121920. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  121921. * to the plot band. Can be one of "top", "middle" or "bottom".
  121922. */
  121923. verticalAlign?: VerticalAlignValue;
  121924. /**
  121925. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  121926. * alignment. Default varies by orientation.
  121927. */
  121928. x?: number;
  121929. /**
  121930. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  121931. * relative to the alignment. Default varies by orientation.
  121932. */
  121933. y?: number;
  121934. }
  121935. /**
  121936. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  121937. * the plot area marking an interval on the axis.
  121938. *
  121939. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  121940. * class in addition to the `className` option.
  121941. */
  121942. export interface YAxisPlotBandsOptions {
  121943. /**
  121944. * (Highstock) Flag to decide if plotBand should be rendered across all
  121945. * panes.
  121946. */
  121947. acrossPanes?: boolean;
  121948. /**
  121949. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  121950. * requires `borderWidth` to be set.
  121951. */
  121952. borderColor?: ColorString;
  121953. /**
  121954. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  121955. * requires `borderColor` to be set.
  121956. */
  121957. borderWidth?: number;
  121958. /**
  121959. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  121960. * default `highcharts-plot-band`, to apply to each individual band.
  121961. */
  121962. className?: string;
  121963. /**
  121964. * (Highcharts, Highstock, Gantt) The color of the plot band.
  121965. */
  121966. color?: (ColorString|GradientColorObject|PatternObject);
  121967. /**
  121968. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  121969. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  121970. * `mousemove`.
  121971. */
  121972. events?: YAxisPlotBandsEventsOptions;
  121973. /**
  121974. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  121975. * axis units.
  121976. */
  121977. from?: number;
  121978. /**
  121979. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  121980. * in Axis.removePlotBand.
  121981. */
  121982. id?: string;
  121983. /**
  121984. * (Highcharts) In a gauge chart, this option determines the inner radius of
  121985. * the plot band that stretches along the perimeter. It can be given as a
  121986. * percentage string, like `"100%"`, or as a pixel number, like `100`. By
  121987. * default, the inner radius is controlled by the thickness option.
  121988. */
  121989. innerRadius?: (number|string);
  121990. /**
  121991. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  121992. */
  121993. label?: YAxisPlotBandsLabelOptions;
  121994. /**
  121995. * (Highcharts) In a gauge chart, this option determines the outer radius of
  121996. * the plot band that stretches along the perimeter. It can be given as a
  121997. * percentage string, like `"100%"`, or as a pixel number, like `100`.
  121998. */
  121999. outerRadius?: (number|string);
  122000. /**
  122001. * (Highcharts) In a gauge chart, this option sets the width of the plot
  122002. * band stretching along the perimeter. It can be given as a percentage
  122003. * string, like `"10%"`, or as a pixel number, like `10`. The default value
  122004. * 10 is the same as the default tickLength, thus making the plot band act
  122005. * as a background for the tick markers.
  122006. */
  122007. thickness?: (number|string);
  122008. /**
  122009. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  122010. * units.
  122011. */
  122012. to?: number;
  122013. /**
  122014. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  122015. * chart, relative to other elements. Using the same z index as another
  122016. * element may give unpredictable results, as the last rendered element will
  122017. * be on top. Values from 0 to 20 make sense.
  122018. */
  122019. zIndex?: number;
  122020. }
  122021. /**
  122022. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  122023. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  122024. */
  122025. export interface YAxisPlotLinesEventsOptions {
  122026. /**
  122027. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  122028. */
  122029. click?: EventCallbackFunction<PlotLineOrBand>;
  122030. /**
  122031. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  122032. */
  122033. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  122034. /**
  122035. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  122036. * band.
  122037. */
  122038. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  122039. /**
  122040. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  122041. */
  122042. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  122043. }
  122044. /**
  122045. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  122046. */
  122047. export interface YAxisPlotLinesLabelOptions {
  122048. /**
  122049. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  122050. * one of "left", "center" or "right".
  122051. */
  122052. align?: AlignValue;
  122053. /**
  122054. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  122055. * label. Useful properties like the value of plot line or the range of plot
  122056. * band (`from` & `to` properties) can be found in `this.options` object.
  122057. */
  122058. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  122059. /**
  122060. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  122061. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  122062. */
  122063. rotation?: number;
  122064. /**
  122065. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  122066. *
  122067. * In styled mode, the labels are styled by the
  122068. * `.highcharts-plot-line-label` class.
  122069. */
  122070. style?: CSSObject;
  122071. /**
  122072. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  122073. * supported.
  122074. */
  122075. text?: string;
  122076. /**
  122077. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  122078. * `align` determines where the texts anchor point is placed within the plot
  122079. * band, `textAlign` determines how the text is aligned against its anchor
  122080. * point. Possible values are "left", "center" and "right". Defaults to the
  122081. * same as the `align` option.
  122082. */
  122083. textAlign?: AlignValue;
  122084. /**
  122085. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  122086. */
  122087. useHTML?: boolean;
  122088. /**
  122089. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  122090. * to the plot line. Can be one of "top", "middle" or "bottom".
  122091. */
  122092. verticalAlign?: VerticalAlignValue;
  122093. /**
  122094. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  122095. * alignment. Default varies by orientation.
  122096. */
  122097. x?: number;
  122098. /**
  122099. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  122100. * relative to the alignment. Default varies by orientation.
  122101. */
  122102. y?: number;
  122103. }
  122104. /**
  122105. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  122106. * area, marking a specific value on one of the axes.
  122107. *
  122108. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  122109. * class in addition to the `className` option.
  122110. */
  122111. export interface YAxisPlotLinesOptions {
  122112. /**
  122113. * (Highstock) Flag to decide if plotLine should be rendered across all
  122114. * panes.
  122115. */
  122116. acrossPanes?: boolean;
  122117. /**
  122118. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  122119. * default `highcharts-plot-line`, to apply to each individual line.
  122120. */
  122121. className?: string;
  122122. /**
  122123. * (Highcharts, Highstock, Gantt) The color of the line.
  122124. */
  122125. color?: ColorString;
  122126. /**
  122127. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  122128. * line. For possible values see this overview.
  122129. */
  122130. dashStyle?: DashStyleValue;
  122131. /**
  122132. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  122133. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  122134. * `mousemove`.
  122135. */
  122136. events?: YAxisPlotLinesEventsOptions;
  122137. /**
  122138. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  122139. * in Axis.removePlotLine.
  122140. */
  122141. id?: string;
  122142. /**
  122143. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  122144. */
  122145. label?: YAxisPlotLinesLabelOptions;
  122146. /**
  122147. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  122148. */
  122149. value?: number;
  122150. /**
  122151. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  122152. */
  122153. width?: number;
  122154. /**
  122155. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  122156. * chart.
  122157. */
  122158. zIndex?: number;
  122159. }
  122160. /**
  122161. * (Highstock) Contains two arrays of axes that are controlled by control line
  122162. * of the axis.
  122163. */
  122164. export interface YAxisResizeControlledAxisOptions {
  122165. /**
  122166. * (Highstock) Array of axes that should move out of the way of resizing
  122167. * being done for the current axis. If not set, the next axis will be used.
  122168. */
  122169. next?: Array<(number|string)>;
  122170. /**
  122171. * (Highstock) Array of axes that should move with the current axis while
  122172. * resizing.
  122173. */
  122174. prev?: Array<(number|string)>;
  122175. }
  122176. /**
  122177. * (Highstock) Options for axis resizing. It adds a thick line between panes
  122178. * which the user can drag in order to resize the panes.
  122179. */
  122180. export interface YAxisResizeOptions {
  122181. /**
  122182. * (Highstock) Contains two arrays of axes that are controlled by control
  122183. * line of the axis.
  122184. */
  122185. controlledAxis?: YAxisResizeControlledAxisOptions;
  122186. /**
  122187. * (Highstock) Cursor style for the control line.
  122188. *
  122189. * In styled mode use class `highcharts-axis-resizer` instead.
  122190. */
  122191. cursor?: string;
  122192. /**
  122193. * (Highstock) Enable or disable resize by drag for the axis.
  122194. */
  122195. enabled?: boolean;
  122196. /**
  122197. * (Highstock) Color of the control line.
  122198. *
  122199. * In styled mode use class `highcharts-axis-resizer` instead.
  122200. */
  122201. lineColor?: ColorString;
  122202. /**
  122203. * (Highstock) Dash style of the control line.
  122204. *
  122205. * In styled mode use class `highcharts-axis-resizer` instead.
  122206. */
  122207. lineDashStyle?: string;
  122208. /**
  122209. * (Highstock) Width of the control line.
  122210. *
  122211. * In styled mode use class `highcharts-axis-resizer` instead.
  122212. */
  122213. lineWidth?: number;
  122214. /**
  122215. * (Highstock) Horizontal offset of the control line.
  122216. */
  122217. x?: number;
  122218. /**
  122219. * (Highstock) Vertical offset of the control line.
  122220. */
  122221. y?: number;
  122222. }
  122223. /**
  122224. * (Highstock) An optional scrollbar to display on the Y axis in response to
  122225. * limiting the minimum an maximum of the axis values.
  122226. *
  122227. * In styled mode, all the presentational options for the scrollbar are replaced
  122228. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  122229. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  122230. * `.highcharts-scrollbar-track`.
  122231. */
  122232. export interface YAxisScrollbarOptions {
  122233. /**
  122234. * (Highstock) The background color of the scrollbar itself.
  122235. */
  122236. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122237. /**
  122238. * (Highstock) The color of the scrollbar's border.
  122239. */
  122240. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122241. /**
  122242. * (Highstock) The border rounding radius of the bar.
  122243. */
  122244. barBorderRadius?: number;
  122245. /**
  122246. * (Highstock) The width of the bar's border.
  122247. */
  122248. barBorderWidth?: number;
  122249. /**
  122250. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  122251. */
  122252. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  122253. /**
  122254. * (Highstock) The color of scrollbar buttons.
  122255. */
  122256. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122257. /**
  122258. * (Highstock) The color of the border of the scrollbar buttons.
  122259. */
  122260. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122261. /**
  122262. * (Highstock) The corner radius of the scrollbar buttons.
  122263. */
  122264. buttonBorderRadius?: number;
  122265. /**
  122266. * (Highstock) The border width of the scrollbar buttons.
  122267. */
  122268. buttonBorderWidth?: number;
  122269. /**
  122270. * (Highstock) Enable the scrollbar on the Y axis.
  122271. */
  122272. enabled?: boolean;
  122273. /**
  122274. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  122275. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  122276. * and `false` for legacy IE browsers as well as mobile devices.
  122277. */
  122278. liveRedraw?: boolean;
  122279. /**
  122280. * (Highstock) Pixel margin between the scrollbar and the axis elements.
  122281. */
  122282. margin?: number;
  122283. /**
  122284. * (Highstock) The minimum width of the scrollbar.
  122285. */
  122286. minWidth?: number;
  122287. /**
  122288. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  122289. */
  122290. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  122291. /**
  122292. * (Highstock) Whether to show the scrollbar when it is fully zoomed out at
  122293. * max range. Setting it to `false` on the Y axis makes the scrollbar stay
  122294. * hidden until the user zooms in, like common in browsers.
  122295. */
  122296. showFull?: boolean;
  122297. /**
  122298. * (Highstock) The width of a vertical scrollbar or height of a horizontal
  122299. * scrollbar. Defaults to 20 on touch devices.
  122300. */
  122301. size?: number;
  122302. /**
  122303. * (Highstock) The color of the track background.
  122304. */
  122305. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  122306. /**
  122307. * (Highstock) The color of the border of the scrollbar track.
  122308. */
  122309. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  122310. /**
  122311. * (Highstock) The corner radius of the border of the scrollbar track.
  122312. */
  122313. trackBorderRadius?: number;
  122314. /**
  122315. * (Highstock) The width of the border of the scrollbar track.
  122316. */
  122317. trackBorderWidth?: number;
  122318. /**
  122319. * (Highstock) Z index of the scrollbar elements.
  122320. */
  122321. zIndex?: number;
  122322. }
  122323. /**
  122324. * (Highcharts) Enable or disable the initial animation when a series is
  122325. * displayed for the `stackLabels`. The animation can also be set as a
  122326. * configuration object. Please note that this option only applies to the
  122327. * initial animation. For other animations, see chart.animation and the
  122328. * animation parameter under the API methods. The following properties are
  122329. * supported:
  122330. *
  122331. * - `defer`: The animation delay time in milliseconds.
  122332. */
  122333. export interface YAxisStackLabelsAnimationOptions {
  122334. /**
  122335. * (Highcharts) The animation delay time in milliseconds. Set to `0` renders
  122336. * stackLabel immediately. As `undefined` inherits defer time from the
  122337. * series.animation.defer.
  122338. */
  122339. defer?: number;
  122340. }
  122341. /**
  122342. * (Highcharts) The stack labels show the total value for each bar in a stacked
  122343. * column or bar chart. The label will be placed on top of positive columns and
  122344. * below negative columns. In case of an inverted column chart or a bar chart
  122345. * the label is placed to the right of positive bars and to the left of negative
  122346. * bars.
  122347. */
  122348. export interface YAxisStackLabelsOptions {
  122349. /**
  122350. * (Highcharts) Defines the horizontal alignment of the stack total label.
  122351. * Can be one of `"left"`, `"center"` or `"right"`. The default value is
  122352. * calculated at runtime and depends on orientation and whether the stack is
  122353. * positive or negative.
  122354. */
  122355. align?: AlignValue;
  122356. /**
  122357. * (Highcharts) Allow the stack labels to overlap.
  122358. */
  122359. allowOverlap?: boolean;
  122360. /**
  122361. * (Highcharts) Enable or disable the initial animation when a series is
  122362. * displayed for the `stackLabels`. The animation can also be set as a
  122363. * configuration object. Please note that this option only applies to the
  122364. * initial animation. For other animations, see chart.animation and the
  122365. * animation parameter under the API methods. The following properties are
  122366. * supported:
  122367. *
  122368. * - `defer`: The animation delay time in milliseconds.
  122369. */
  122370. animation?: (boolean|YAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
  122371. /**
  122372. * (Highcharts) The background color or gradient for the stack label.
  122373. */
  122374. backgroundColor?: ColorType;
  122375. /**
  122376. * (Highcharts) The border color for the stack label. Defaults to
  122377. * `undefined`.
  122378. */
  122379. borderColor?: ColorType;
  122380. /**
  122381. * (Highcharts) The border radius in pixels for the stack label.
  122382. */
  122383. borderRadius?: number;
  122384. /**
  122385. * (Highcharts) The border width in pixels for the stack label.
  122386. */
  122387. borderWidth?: number;
  122388. /**
  122389. * (Highcharts) Whether to hide stack labels that are outside the plot area.
  122390. * By default, the stack label is moved inside the plot area according to
  122391. * the overflow option.
  122392. */
  122393. crop?: boolean;
  122394. /**
  122395. * (Highcharts) Enable or disable the stack total labels.
  122396. */
  122397. enabled?: boolean;
  122398. /**
  122399. * (Highcharts, Highstock) A format string for the data label. Available
  122400. * variables are the same as for `formatter`.
  122401. */
  122402. format?: string;
  122403. /**
  122404. * (Highcharts) Callback JavaScript function to format the label. The value
  122405. * is given by `this.total`.
  122406. */
  122407. formatter?: FormatterCallbackFunction<StackItemObject>;
  122408. /**
  122409. * (Highcharts) How to handle stack total labels that flow outside the plot
  122410. * area. The default is set to `"justify"`, which aligns them inside the
  122411. * plot area. For columns and bars, this means it will be moved inside the
  122412. * bar. To display stack labels outside the plot area, set `crop` to `false`
  122413. * and `overflow` to `"allow"`.
  122414. */
  122415. overflow?: DataLabelsOverflowValue;
  122416. /**
  122417. * (Highcharts) Rotation of the labels in degrees.
  122418. */
  122419. rotation?: number;
  122420. /**
  122421. * (Highcharts) CSS styles for the label.
  122422. *
  122423. * In styled mode, the styles are set in the `.highcharts-stack-label`
  122424. * class.
  122425. */
  122426. style?: CSSObject;
  122427. /**
  122428. * (Highcharts) The text alignment for the label. While `align` determines
  122429. * where the texts anchor point is placed with regards to the stack,
  122430. * `textAlign` determines how the text is aligned against its anchor point.
  122431. * Possible values are `"left"`, `"center"` and `"right"`. The default value
  122432. * is calculated at runtime and depends on orientation and whether the stack
  122433. * is positive or negative.
  122434. */
  122435. textAlign?: AlignValue;
  122436. /**
  122437. * (Highcharts, Highstock) Whether to use HTML to render the labels.
  122438. */
  122439. useHTML?: boolean;
  122440. /**
  122441. * (Highcharts) Defines the vertical alignment of the stack total label. Can
  122442. * be one of `"top"`, `"middle"` or `"bottom"`. The default value is
  122443. * calculated at runtime and depends on orientation and whether the stack is
  122444. * positive or negative.
  122445. */
  122446. verticalAlign?: VerticalAlignValue;
  122447. /**
  122448. * (Highcharts) The x position offset of the label relative to the left of
  122449. * the stacked bar. The default value is calculated at runtime and depends
  122450. * on orientation and whether the stack is positive or negative.
  122451. */
  122452. x?: number;
  122453. /**
  122454. * (Highcharts) The y position offset of the label relative to the tick
  122455. * position on the axis. The default value is calculated at runtime and
  122456. * depends on orientation and whether the stack is positive or negative.
  122457. */
  122458. y?: number;
  122459. }
  122460. /**
  122461. * (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
  122462. * axis line.
  122463. */
  122464. export interface YAxisTitleOptions {
  122465. /**
  122466. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
  122467. * to the axis values. Possible values are "low", "middle" or "high".
  122468. */
  122469. align?: AxisTitleAlignValue;
  122470. /**
  122471. * (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
  122472. * axis labels and the title. Positive values are outside the axis line,
  122473. * negative are inside.
  122474. */
  122475. margin?: number;
  122476. /**
  122477. * (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
  122478. * from the axis line. By default, this distance is computed from the offset
  122479. * width of the labels, the labels' distance from the axis and the title's
  122480. * margin. However when the offset option is set, it overrides all this.
  122481. */
  122482. offset?: number;
  122483. /**
  122484. * (Highcharts) Defines how the title is repositioned according to the 3D
  122485. * chart orientation.
  122486. *
  122487. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  122488. * marks, despite the chart orientation. This is the backwards compatible
  122489. * behavior, and causes skewing of X and Z axes.
  122490. *
  122491. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  122492. * but hard to read if the text isn't forward-facing.
  122493. *
  122494. * - `'flap'`: Rotated text along the axis to compensate for the chart
  122495. * orientation. This tries to maintain text as legible as possible on all
  122496. * orientations.
  122497. *
  122498. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  122499. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  122500. * skewing the labels (X and Y scaling are still present).
  122501. *
  122502. * - `undefined`: Will use the config from `labels.position3d`
  122503. */
  122504. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  122505. /**
  122506. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  122507. * when laying out the axis.
  122508. */
  122509. reserveSpace?: boolean;
  122510. /**
  122511. * (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
  122512. * degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
  122513. */
  122514. rotation?: number;
  122515. /**
  122516. * (Highcharts) If enabled, the axis title will skewed to follow the
  122517. * perspective.
  122518. *
  122519. * This will fix overlapping labels and titles, but texts become less
  122520. * legible due to the distortion.
  122521. *
  122522. * The final appearance depends heavily on `title.position3d`.
  122523. *
  122524. * A `null` value will use the config from `labels.skew3d`.
  122525. */
  122526. skew3d?: (boolean|null);
  122527. /**
  122528. * (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
  122529. * title text is longer than the axis length, it will wrap to multiple lines
  122530. * by default. This can be customized by setting `textOverflow: 'ellipsis'`,
  122531. * by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
  122532. *
  122533. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  122534. * class.
  122535. */
  122536. style?: CSSObject;
  122537. /**
  122538. * (Highcharts, Highstock, Gantt) The actual text of the axis title.
  122539. * Horizontal texts can contain HTML, but rotated texts are painted using
  122540. * vector techniques and must be clean text. The Y axis title is disabled by
  122541. * setting the `text` option to `undefined`.
  122542. */
  122543. text?: (string|null);
  122544. /**
  122545. * (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
  122546. * `"left"`, `"right"` or `"center"`. Default alignment depends on the
  122547. * title.align:
  122548. *
  122549. * Horizontal axes:
  122550. *
  122551. * - for `align` = `"low"`, `textAlign` is set to `left`
  122552. *
  122553. * - for `align` = `"middle"`, `textAlign` is set to `center`
  122554. *
  122555. * - for `align` = `"high"`, `textAlign` is set to `right`
  122556. *
  122557. * Vertical axes:
  122558. *
  122559. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  122560. * `right`
  122561. *
  122562. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  122563. * `left`
  122564. *
  122565. * - for `align` = `"middle"`, `textAlign` is set to `center`
  122566. *
  122567. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  122568. * `left`
  122569. *
  122570. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  122571. * `right`
  122572. */
  122573. textAlign?: AlignValue;
  122574. /**
  122575. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  122576. * title.
  122577. */
  122578. useHTML?: boolean;
  122579. /**
  122580. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  122581. * position.
  122582. */
  122583. x?: number;
  122584. /**
  122585. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  122586. * position.
  122587. */
  122588. y?: number;
  122589. }
  122590. /**
  122591. * (Gantt) An object defining mouse events for the plot line. Supported
  122592. * properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  122593. */
  122594. export interface ZAxisCurrentDateIndicatorEventsOptions {
  122595. /**
  122596. * (Gantt) Click event on a plot band.
  122597. */
  122598. click?: EventCallbackFunction<PlotLineOrBand>;
  122599. /**
  122600. * (Gantt) Mouse move event on a plot band.
  122601. */
  122602. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  122603. /**
  122604. * (Gantt) Mouse out event on the corner of a plot band.
  122605. */
  122606. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  122607. /**
  122608. * (Gantt) Mouse over event on a plot band.
  122609. */
  122610. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  122611. }
  122612. /**
  122613. * (Gantt) Text labels for the plot bands
  122614. */
  122615. export interface ZAxisCurrentDateIndicatorLabelOptions {
  122616. /**
  122617. * (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
  122618. * or "right".
  122619. */
  122620. align?: AlignValue;
  122621. /**
  122622. * (Gantt) Format of the label. This options is passed as the fist argument
  122623. * to dateFormat function.
  122624. */
  122625. format?: string;
  122626. /**
  122627. * (Gantt) Callback JavaScript function to format the label. Useful
  122628. * properties like the value of plot line or the range of plot band (`from`
  122629. * & `to` properties) can be found in `this.options` object.
  122630. */
  122631. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  122632. /**
  122633. * (Gantt) Rotation of the text label in degrees. Defaults to 0 for
  122634. * horizontal plot lines and 90 for vertical lines.
  122635. */
  122636. rotation?: number;
  122637. /**
  122638. * (Gantt) CSS styles for the text label.
  122639. *
  122640. * In styled mode, the labels are styled by the
  122641. * `.highcharts-plot-line-label` class.
  122642. */
  122643. style?: CSSObject;
  122644. /**
  122645. * (Gantt) The text itself. A subset of HTML is supported.
  122646. */
  122647. text?: string;
  122648. /**
  122649. * (Gantt) The text alignment for the label. While `align` determines where
  122650. * the texts anchor point is placed within the plot band, `textAlign`
  122651. * determines how the text is aligned against its anchor point. Possible
  122652. * values are "left", "center" and "right". Defaults to the same as the
  122653. * `align` option.
  122654. */
  122655. textAlign?: AlignValue;
  122656. /**
  122657. * (Gantt) Whether to use HTML to render the labels.
  122658. */
  122659. useHTML?: boolean;
  122660. /**
  122661. * (Gantt) Vertical alignment of the label relative to the plot line. Can be
  122662. * one of "top", "middle" or "bottom".
  122663. */
  122664. verticalAlign?: VerticalAlignValue;
  122665. /**
  122666. * (Gantt) Horizontal position relative the alignment. Default varies by
  122667. * orientation.
  122668. */
  122669. x?: number;
  122670. /**
  122671. * (Gantt) Vertical position of the text baseline relative to the alignment.
  122672. * Default varies by orientation.
  122673. */
  122674. y?: number;
  122675. }
  122676. /**
  122677. * (Highcharts) Event handlers for the axis.
  122678. */
  122679. export interface ZAxisEventsOptions {
  122680. /**
  122681. * (Highcharts, Gantt) An event fired after the breaks have rendered.
  122682. */
  122683. afterBreaks?: AxisEventCallbackFunction;
  122684. /**
  122685. * (Highcharts) As opposed to the `setExtremes` event, this event fires
  122686. * after the final min and max values are computed and corrected for
  122687. * `minRange`.
  122688. *
  122689. * Fires when the minimum and maximum is set for the axis, either by calling
  122690. * the `.setExtremes()` method or by selecting an area in the chart. One
  122691. * parameter, `event`, is passed to the function, containing common event
  122692. * information.
  122693. *
  122694. * The new user set minimum and maximum values can be found by `event.min`
  122695. * and `event.max`. These reflect the axis minimum and maximum in axis
  122696. * values. The actual data extremes are found in `event.dataMin` and
  122697. * `event.dataMax`.
  122698. */
  122699. afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
  122700. /**
  122701. * (Highcharts, Gantt) An event fired when a break from this axis occurs on
  122702. * a point.
  122703. */
  122704. pointBreak?: AxisPointBreakEventCallbackFunction;
  122705. /**
  122706. * (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
  122707. * break from this axis.
  122708. */
  122709. pointInBreak?: AxisPointBreakEventCallbackFunction;
  122710. /**
  122711. * (Highcharts) Fires when the minimum and maximum is set for the axis,
  122712. * either by calling the `.setExtremes()` method or by selecting an area in
  122713. * the chart. One parameter, `event`, is passed to the function, containing
  122714. * common event information.
  122715. *
  122716. * The new user set minimum and maximum values can be found by `event.min`
  122717. * and `event.max`. These reflect the axis minimum and maximum in data
  122718. * values. When an axis is zoomed all the way out from the "Reset zoom"
  122719. * button, `event.min` and `event.max` are null, and the new extremes are
  122720. * set based on `this.dataMin` and `this.dataMax`.
  122721. */
  122722. setExtremes?: AxisSetExtremesEventCallbackFunction;
  122723. }
  122724. /**
  122725. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  122726. */
  122727. export interface ZAxisGridOptions {
  122728. /**
  122729. * (Gantt) Set border color for the label grid lines.
  122730. */
  122731. borderColor?: ColorString;
  122732. /**
  122733. * (Gantt) Set border width of the label grid lines.
  122734. */
  122735. borderWidth?: number;
  122736. /**
  122737. * (Gantt) Set cell height for grid axis labels. By default this is
  122738. * calculated from font size. This option only applies to horizontal axes.
  122739. */
  122740. cellHeight?: number;
  122741. /**
  122742. * (Gantt) Set specific options for each column (or row for horizontal axes)
  122743. * in the grid. Each extra column/row is its own axis, and the axis options
  122744. * can be set here.
  122745. */
  122746. columns?: Array<XAxisOptions>;
  122747. /**
  122748. * (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
  122749. * charts.
  122750. */
  122751. enabled?: boolean;
  122752. }
  122753. /**
  122754. * (Highcharts) The axis labels show the number or category for each tick.
  122755. *
  122756. * Since v8.0.0: Labels are animated in categorized x-axis with updating data if
  122757. * `tickInterval` and `step` is set to 1.
  122758. */
  122759. export interface ZAxisLabelsOptions {
  122760. /**
  122761. * (Highcharts) What part of the string the given position is anchored to.
  122762. * If `left`, the left side of the string is at the axis position. Can be
  122763. * one of `"left"`, `"center"` or `"right"`. Defaults to an intelligent
  122764. * guess based on which side of the chart the axis is on and the rotation of
  122765. * the label.
  122766. */
  122767. align?: AlignValue;
  122768. /**
  122769. * (Highcharts) Whether to allow the axis labels to overlap. When false,
  122770. * overlapping labels are hidden.
  122771. */
  122772. allowOverlap?: boolean;
  122773. /**
  122774. * (Highcharts, Highstock, Gantt) For horizontal axes, the allowed degrees
  122775. * of label rotation to prevent overlapping labels. If there is enough
  122776. * space, labels are not rotated. As the chart gets narrower, it will start
  122777. * rotating the labels -45 degrees, then remove every second label and try
  122778. * again with rotations 0 and -45 etc. Set it to `undefined` to disable
  122779. * rotation, which will cause the labels to word-wrap if possible. Defaults
  122780. * to `[-45]`` on bottom and top axes, `undefined` on left and right axes.
  122781. */
  122782. autoRotation?: Array<number>;
  122783. /**
  122784. * (Highcharts, Gantt) When each category width is more than this many
  122785. * pixels, we don't apply auto rotation. Instead, we lay out the axis label
  122786. * with word wrap. A lower limit makes sense when the label contains
  122787. * multiple short words that don't extend the available horizontal space for
  122788. * each label.
  122789. */
  122790. autoRotationLimit?: number;
  122791. /**
  122792. * (Highcharts, Gantt) Polar charts only. The label's pixel distance from
  122793. * the perimeter of the plot area.
  122794. */
  122795. distance?: number;
  122796. /**
  122797. * (Highcharts) Enable or disable the axis labels.
  122798. */
  122799. enabled?: boolean;
  122800. /**
  122801. * (Highcharts) A format string for the axis label. The context is available
  122802. * as format string variables. For example, you can use `{text}` to insert
  122803. * the default formatted text. The recommended way of adding units for the
  122804. * label is using `text`, for example `{text} km`.
  122805. *
  122806. * To add custom numeric or datetime formatting, use `{value}` with
  122807. * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`.
  122808. *
  122809. * See format string for more examples of formatting.
  122810. *
  122811. * The default value is not specified due to the dynamic nature of the
  122812. * default implementation.
  122813. */
  122814. format?: string;
  122815. /**
  122816. * (Highcharts) Callback JavaScript function to format the label. The value
  122817. * is given by `this.value`. Additional properties for `this` are `axis`,
  122818. * `chart`, `isFirst`, `isLast` and `text` which holds the value of the
  122819. * default formatter.
  122820. *
  122821. * Defaults to a built in function returning a formatted string depending on
  122822. * whether the axis is `category`, `datetime`, `numeric` or other.
  122823. */
  122824. formatter?: AxisLabelsFormatterCallbackFunction;
  122825. /**
  122826. * (Gantt) The number of pixels to indent the labels per level in a treegrid
  122827. * axis.
  122828. */
  122829. indentation?: number;
  122830. /**
  122831. * (Highcharts) How to handle overflowing labels on horizontal axis. If set
  122832. * to `"allow"`, it will not be aligned at all. By default it `"justify"`
  122833. * labels inside the chart area. If there is room to move it, it will be
  122834. * aligned to the edge, else it will be removed.
  122835. */
  122836. overflow?: OptionsOverflowValue;
  122837. /**
  122838. * (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
  122839. * space between them.
  122840. */
  122841. padding?: number;
  122842. /**
  122843. * (Highcharts) Defines how the labels are be repositioned according to the
  122844. * 3D chart orientation.
  122845. *
  122846. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  122847. * marks, despite the chart orientation. This is the backwards compatible
  122848. * behavior, and causes skewing of X and Z axes.
  122849. *
  122850. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  122851. * but hard to read if the text isn't forward-facing.
  122852. *
  122853. * - `'flap'`: Rotated text along the axis to compensate for the chart
  122854. * orientation. This tries to maintain text as legible as possible on all
  122855. * orientations.
  122856. *
  122857. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  122858. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  122859. * skewing the labels (X and Y scaling are still present).
  122860. */
  122861. position3d?: OptionsPosition3dValue;
  122862. /**
  122863. * (Highcharts, Gantt) Whether to reserve space for the labels. By default,
  122864. * space is reserved for the labels in these cases:
  122865. *
  122866. * * On all horizontal axes.
  122867. *
  122868. * * On vertical axes if `label.align` is `right` on a left-side axis or
  122869. * `left` on a right-side axis.
  122870. *
  122871. * * On vertical axes if `label.align` is `center`.
  122872. *
  122873. * This can be turned off when for example the labels are rendered inside
  122874. * the plot area instead of outside.
  122875. */
  122876. reserveSpace?: boolean;
  122877. /**
  122878. * (Highcharts) Rotation of the labels in degrees. When `undefined`, the
  122879. * `autoRotation` option takes precedence.
  122880. */
  122881. rotation?: number;
  122882. /**
  122883. * (Highcharts) If enabled, the axis labels will skewed to follow the
  122884. * perspective.
  122885. *
  122886. * This will fix overlapping labels and titles, but texts become less
  122887. * legible due to the distortion.
  122888. *
  122889. * The final appearance depends heavily on `labels.position3d`.
  122890. */
  122891. skew3d?: boolean;
  122892. /**
  122893. * (Highcharts) Horizontal axes only. The number of lines to spread the
  122894. * labels over to make room or tighter labels. 0 disables staggering.
  122895. */
  122896. staggerLines?: object;
  122897. /**
  122898. * (Highcharts) To show only every _n_'th label on the axis, set the step to
  122899. * _n_. Setting the step to 2 shows every other label.
  122900. *
  122901. * By default, when 0, the step is calculated automatically to avoid
  122902. * overlap. To prevent this, set it to 1\. This usually only happens on a
  122903. * category axis, and is often a sign that you have chosen the wrong axis
  122904. * type.
  122905. *
  122906. * Read more at Axis docs => What axis should I use?
  122907. */
  122908. step?: number;
  122909. /**
  122910. * (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
  122911. * prevent wrapping of category labels. Use `textOverflow: 'none'` to
  122912. * prevent ellipsis (dots).
  122913. *
  122914. * In styled mode, the labels are styled with the `.highcharts-axis-labels`
  122915. * class.
  122916. */
  122917. style?: CSSObject;
  122918. /**
  122919. * (Highcharts) Whether to use HTML to render the labels.
  122920. */
  122921. useHTML?: boolean;
  122922. /**
  122923. * (Highcharts) The x position offset of all labels relative to the tick
  122924. * positions on the axis.
  122925. */
  122926. x?: number;
  122927. /**
  122928. * (Highcharts) The y position offset of all labels relative to the tick
  122929. * positions on the axis. The default makes it adapt to the font size of the
  122930. * bottom axis.
  122931. */
  122932. y?: number;
  122933. /**
  122934. * (Highcharts) The Z index for the axis labels.
  122935. */
  122936. zIndex?: number;
  122937. }
  122938. /**
  122939. * (Highcharts) The Z axis or depth axis for 3D plots.
  122940. *
  122941. * See the Axis class for programmatic access to the axis.
  122942. */
  122943. export interface ZAxisOptions {
  122944. /**
  122945. * (Highcharts) Accessibility options for an axis. Requires the
  122946. * accessibility module.
  122947. */
  122948. accessibility?: AxisAccessibilityOptionsObject;
  122949. /**
  122950. * (Highcharts, Highstock, Gantt) When using multiple axis, the ticks of two
  122951. * or more opposite axes will automatically be aligned by adding ticks to
  122952. * the axis or axes with the least ticks, as if `tickAmount` were specified.
  122953. *
  122954. * This can be prevented by setting `alignTicks` to false. If the grid lines
  122955. * look messy, it's a good idea to hide them for the secondary axis by
  122956. * setting `gridLineWidth` to 0.
  122957. *
  122958. * If `startOnTick` or `endOnTick` in an Axis options are set to false, then
  122959. * the `alignTicks ` will be disabled for the Axis.
  122960. *
  122961. * Disabled for logarithmic axes.
  122962. */
  122963. alignTicks?: boolean;
  122964. /**
  122965. * (Highcharts) Whether to allow decimals in this axis' ticks. When counting
  122966. * integers, like persons or hits on a web page, decimals should be avoided
  122967. * in the labels. By default, decimals are allowed on small scale axes.
  122968. */
  122969. allowDecimals?: (boolean|undefined);
  122970. /**
  122971. * (Highcharts) When using an alternate grid color, a band is painted across
  122972. * the plot area between every other grid line.
  122973. */
  122974. alternateGridColor?: ColorType;
  122975. /**
  122976. * (Highcharts) In a polar chart, this is the angle of the Y axis in
  122977. * degrees, where 0 is up and 90 is right. The angle determines the position
  122978. * of the axis line and the labels, though the coordinate system is
  122979. * unaffected. Since v8.0.0 this option is also applicable for X axis
  122980. * (inverted polar).
  122981. */
  122982. angle?: number;
  122983. /**
  122984. * (Highcharts, Gantt) If categories are present for the xAxis, names are
  122985. * used instead of numbers for that axis.
  122986. *
  122987. * Since Highcharts 3.0, categories can also be extracted by giving each
  122988. * point a name and setting axis type to `category`. However, if you have
  122989. * multiple series, best practice remains defining the `categories` array.
  122990. *
  122991. * Example: `categories: ['Apples', 'Bananas', 'Oranges']`
  122992. */
  122993. categories?: Array<string>;
  122994. /**
  122995. * (Highcharts, Highstock, Gantt) The highest allowed value for
  122996. * automatically computed axis extremes.
  122997. */
  122998. ceiling?: number;
  122999. /**
  123000. * (Highcharts) A class name that opens for styling the axis by CSS,
  123001. * especially in Highcharts styled mode. The class name is applied to group
  123002. * elements for the grid, axis elements and labels.
  123003. */
  123004. className?: string;
  123005. /**
  123006. * (Gantt) Show an indicator on the axis for the current date and time. Can
  123007. * be a boolean or a configuration object similar to xAxis.plotLines.
  123008. */
  123009. currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
  123010. /**
  123011. * (Highcharts, Highstock, Gantt) For a datetime axis, the scale will
  123012. * automatically adjust to the appropriate unit. This member gives the
  123013. * default string representations used for each unit. For intermediate
  123014. * values, different units may be used, for example the `day` unit can be
  123015. * used on midnight and `hour` unit be used for intermediate values on the
  123016. * same axis.
  123017. *
  123018. * For an overview of the replacement codes, see dateFormat.
  123019. *
  123020. * Defaults to: (see online documentation for example)
  123021. */
  123022. dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
  123023. /**
  123024. * (Highcharts) Whether to force the axis to end on a tick. Use this option
  123025. * with the `maxPadding` option to control the axis end.
  123026. */
  123027. endOnTick?: boolean;
  123028. /**
  123029. * (Highcharts) Event handlers for the axis.
  123030. */
  123031. events?: ZAxisEventsOptions;
  123032. /**
  123033. * (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
  123034. * computed axis extremes.
  123035. */
  123036. floor?: number;
  123037. /**
  123038. * (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
  123039. */
  123040. grid?: ZAxisGridOptions;
  123041. /**
  123042. * (Highcharts) Color of the grid lines extending the ticks across the plot
  123043. * area.
  123044. *
  123045. * In styled mode, the stroke is given in the `.highcharts-grid-line` class.
  123046. */
  123047. gridLineColor?: ColorType;
  123048. /**
  123049. * (Highcharts) The dash or dot style of the grid lines. For possible
  123050. * values, see this demonstration.
  123051. */
  123052. gridLineDashStyle?: DashStyleValue;
  123053. /**
  123054. * (Highcharts) Polar charts only. Whether the grid lines should draw as a
  123055. * polygon with straight lines between categories, or as circles. Can be
  123056. * either `circle` or `polygon`. Since v8.0.0 this option is also applicable
  123057. * for X axis (inverted polar).
  123058. */
  123059. gridLineInterpolation?: OptionsGridLineInterpolationValue;
  123060. /**
  123061. * (Highcharts) The width of the grid lines extending the ticks across the
  123062. * plot area. Defaults to 1 on the Y axis and 0 on the X axis, except for 3d
  123063. * charts.
  123064. *
  123065. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  123066. * class.
  123067. */
  123068. gridLineWidth?: number;
  123069. /**
  123070. * (Highcharts, Highstock, Gantt) The Z index of the grid lines.
  123071. */
  123072. gridZIndex?: number;
  123073. /**
  123074. * (Highcharts) An id for the axis. This can be used after render time to
  123075. * get a pointer to the axis object through `chart.get()`.
  123076. */
  123077. id?: string;
  123078. /**
  123079. * (Highcharts) The axis labels show the number or category for each tick.
  123080. *
  123081. * Since v8.0.0: Labels are animated in categorized x-axis with updating
  123082. * data if `tickInterval` and `step` is set to 1.
  123083. */
  123084. labels?: ZAxisLabelsOptions;
  123085. /**
  123086. * (Highcharts, Highstock, Gantt) Index of another axis that this axis is
  123087. * linked to. When an axis is linked to a master axis, it will take the same
  123088. * extremes as the master, but as assigned by min or max or by setExtremes.
  123089. * It can be used to show additional info, or to ease reading the chart by
  123090. * duplicating the scales.
  123091. */
  123092. linkedTo?: number;
  123093. /**
  123094. * (Highcharts) If there are multiple axes on the same side of the chart,
  123095. * the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
  123096. * horizontal axes.
  123097. */
  123098. margin?: number;
  123099. /**
  123100. * (Highcharts) The maximum value of the axis. If `null`, the max value is
  123101. * automatically calculated.
  123102. *
  123103. * If the endOnTick option is true, the `max` value might be rounded up.
  123104. *
  123105. * If a tickAmount is set, the axis may be extended beyond the set max in
  123106. * order to reach the given number of ticks. The same may happen in a chart
  123107. * with multiple axes, determined by chart. alignTicks, where a `tickAmount`
  123108. * is applied internally.
  123109. */
  123110. max?: (number|null);
  123111. /**
  123112. * (Highcharts) Padding of the max value relative to the length of the axis.
  123113. * A padding of 0.05 will make a 100px axis 5px longer. This is useful when
  123114. * you don't want the highest data value to appear on the edge of the plot
  123115. * area. When the axis' `max` option is set or a max extreme is set using
  123116. * `axis.setExtremes()`, the maxPadding will be ignored.
  123117. */
  123118. maxPadding?: number;
  123119. /**
  123120. * (Highstock, Gantt) Maximum range which can be set using the navigator's
  123121. * handles. Opposite of xAxis.minRange.
  123122. */
  123123. maxRange?: number;
  123124. /**
  123125. * (Highcharts) The minimum value of the axis. If `null` the min value is
  123126. * automatically calculated.
  123127. *
  123128. * If the startOnTick option is true (default), the `min` value might be
  123129. * rounded down.
  123130. *
  123131. * The automatically calculated minimum value is also affected by floor,
  123132. * softMin, minPadding, minRange as well as series.threshold and
  123133. * series.softThreshold.
  123134. */
  123135. min?: (number|null);
  123136. /**
  123137. * (Highcharts) Color of the minor, secondary grid lines.
  123138. *
  123139. * In styled mode, the stroke width is given in the
  123140. * `.highcharts-minor-grid-line` class.
  123141. */
  123142. minorGridLineColor?: ColorType;
  123143. /**
  123144. * (Highcharts) The dash or dot style of the minor grid lines. For possible
  123145. * values, see this demonstration.
  123146. */
  123147. minorGridLineDashStyle?: DashStyleValue;
  123148. /**
  123149. * (Highcharts) Width of the minor, secondary grid lines.
  123150. *
  123151. * In styled mode, the stroke width is given in the `.highcharts-grid-line`
  123152. * class.
  123153. */
  123154. minorGridLineWidth?: number;
  123155. /**
  123156. * (Highcharts) Color for the minor tick marks.
  123157. */
  123158. minorTickColor?: ColorType;
  123159. /**
  123160. * (Highcharts) Specific tick interval in axis units for the minor ticks. On
  123161. * a linear axis, if `"auto"`, the minor tick interval is calculated as a
  123162. * fifth of the tickInterval. If `null` or `undefined`, minor ticks are not
  123163. * shown.
  123164. *
  123165. * On logarithmic axes, the unit is the power of the value. For example,
  123166. * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, 10,
  123167. * 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks between 1
  123168. * and 10, 10 and 100 etc.
  123169. *
  123170. * If user settings dictate minor ticks to become too dense, they don't make
  123171. * sense, and will be ignored to prevent performance problems.
  123172. */
  123173. minorTickInterval?: (number|string|null);
  123174. /**
  123175. * (Highcharts) The pixel length of the minor tick marks.
  123176. */
  123177. minorTickLength?: number;
  123178. /**
  123179. * (Highcharts) The position of the minor tick marks relative to the axis
  123180. * line. Can be one of `inside` and `outside`.
  123181. */
  123182. minorTickPosition?: OptionsMinorTickPositionValue;
  123183. /**
  123184. * (Highcharts) Enable or disable minor ticks. Unless minorTickInterval is
  123185. * set, the tick interval is calculated as a fifth of the `tickInterval`.
  123186. *
  123187. * On a logarithmic axis, minor ticks are laid out based on a best guess,
  123188. * attempting to enter approximately 5 minor ticks between each major tick.
  123189. *
  123190. * Prior to v6.0.0, ticks were unabled in auto layout by setting
  123191. * `minorTickInterval` to `"auto"`.
  123192. */
  123193. minorTicks?: boolean;
  123194. /**
  123195. * (Highcharts) The pixel width of the minor tick mark.
  123196. */
  123197. minorTickWidth?: number;
  123198. /**
  123199. * (Highcharts, Highstock, Gantt) Padding of the min value relative to the
  123200. * length of the axis. A padding of 0.05 will make a 100px axis 5px longer.
  123201. * This is useful when you don't want the lowest data value to appear on the
  123202. * edge of the plot area. When the axis' `min` option is set or a min
  123203. * extreme is set using `axis.setExtremes()`, the minPadding will be
  123204. * ignored.
  123205. */
  123206. minPadding?: number;
  123207. /**
  123208. * (Highcharts) The minimum range to display on this axis. The entire axis
  123209. * will not be allowed to span over a smaller interval than this. For
  123210. * example, for a datetime axis the main unit is milliseconds. If minRange
  123211. * is set to 3600000, you can't zoom in more than to one hour.
  123212. *
  123213. * The default minRange for the x axis is five times the smallest interval
  123214. * between any of the data points.
  123215. *
  123216. * On a logarithmic axis, the unit for the minimum range is the power. So a
  123217. * minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
  123218. * 1000-10000 etc.
  123219. *
  123220. * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
  123221. * settings also affect how the extremes of the axis are computed.
  123222. */
  123223. minRange?: number;
  123224. /**
  123225. * (Highcharts) The minimum tick interval allowed in axis values. For
  123226. * example on zooming in on an axis with daily data, this can be used to
  123227. * prevent the axis from showing hours. Defaults to the closest distance
  123228. * between two points on the axis.
  123229. */
  123230. minTickInterval?: number;
  123231. /**
  123232. * (Highcharts) The distance in pixels from the plot area to the axis line.
  123233. * A positive offset moves the axis with it's line, labels and ticks away
  123234. * from the plot area. This is typically used when two or more axes are
  123235. * displayed on the same side of the plot. With multiple axes the offset is
  123236. * dynamically adjusted to avoid collision, this can be overridden by
  123237. * setting offset explicitly.
  123238. */
  123239. offset?: number;
  123240. /**
  123241. * (Highcharts) Whether to display the axis on the opposite side of the
  123242. * normal. The normal is on the left side for vertical axes and bottom for
  123243. * horizontal, so the opposite sides will be right and top respectively.
  123244. * This is typically used with dual or multiple axes.
  123245. */
  123246. opposite?: boolean;
  123247. /**
  123248. * (Highstock) In an ordinal axis, the points are equally spaced in the
  123249. * chart regardless of the actual time or x distance between them. This
  123250. * means that missing data periods (e.g. nights or weekends for a stock
  123251. * chart) will not take up space in the chart. Having `ordinal: false` will
  123252. * show any gaps created by the `gapSize` setting proportionate to their
  123253. * duration.
  123254. *
  123255. * In stock charts the X axis is ordinal by default, unless the boost module
  123256. * is used and at least one of the series' data length exceeds the
  123257. * boostThreshold.
  123258. *
  123259. * For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
  123260. * overscroll instead.
  123261. */
  123262. ordinal?: boolean;
  123263. /**
  123264. * (Highstock) Additional range on the right side of the xAxis. Works
  123265. * similar to `xAxis.maxPadding`, but value is set in milliseconds. Can be
  123266. * set for both main `xAxis` and the navigator's `xAxis`.
  123267. */
  123268. overscroll?: number;
  123269. /**
  123270. * (Highcharts) Refers to the index in the panes array. Used for circular
  123271. * gauges and polar charts. When the option is not set then first pane will
  123272. * be used.
  123273. */
  123274. pane?: number;
  123275. /**
  123276. * (Highcharts) Whether to pan axis. If `chart.panning` is enabled, the
  123277. * option allows to disable panning on an individual axis.
  123278. */
  123279. panningEnabled?: boolean;
  123280. /**
  123281. * (Highcharts, Highstock, Gantt) An array of colored bands stretching
  123282. * across the plot area marking an interval on the axis.
  123283. *
  123284. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  123285. * class in addition to the `className` option.
  123286. */
  123287. plotBands?: Array<ZAxisPlotBandsOptions>;
  123288. /**
  123289. * (Highcharts, Highstock, Gantt) An array of lines stretching across the
  123290. * plot area, marking a specific value on one of the axes.
  123291. *
  123292. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  123293. * class in addition to the `className` option.
  123294. */
  123295. plotLines?: Array<ZAxisPlotLinesOptions>;
  123296. /**
  123297. * (Highstock) The zoomed range to display when only defining one or none of
  123298. * `min` or `max`. For example, to show the latest month, a range of one
  123299. * month can be set.
  123300. */
  123301. range?: number;
  123302. /**
  123303. * (Highcharts) Whether to reverse the axis so that the highest number is
  123304. * closest to the origin. If the chart is inverted, the x axis is reversed
  123305. * by default.
  123306. */
  123307. reversed?: boolean;
  123308. /**
  123309. * (Highcharts, Highstock) This option determines how stacks should be
  123310. * ordered within a group. For example reversed xAxis also reverses stacks,
  123311. * so first series comes last in a group. To keep order like for
  123312. * non-reversed xAxis enable this option.
  123313. */
  123314. reversedStacks?: boolean;
  123315. /**
  123316. * (Highstock) An optional scrollbar to display on the X axis in response to
  123317. * limiting the minimum and maximum of the axis values.
  123318. *
  123319. * In styled mode, all the presentational options for the scrollbar are
  123320. * replaced by the classes `.highcharts-scrollbar-thumb`,
  123321. * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
  123322. * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
  123323. */
  123324. scrollbar?: ZAxisScrollbarOptions;
  123325. /**
  123326. * (Highcharts) Whether to show the first tick label.
  123327. */
  123328. showFirstLabel?: boolean;
  123329. /**
  123330. * (Highcharts, Highstock, Gantt) Whether to show the last tick label.
  123331. * Defaults to `true` on cartesian charts, and `false` on polar charts.
  123332. */
  123333. showLastLabel?: boolean;
  123334. /**
  123335. * (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
  123336. * data maximum is less than this, the axis will stay at this maximum, but
  123337. * if the series data maximum is higher, the axis will flex to show all
  123338. * data.
  123339. */
  123340. softMax?: number;
  123341. /**
  123342. * (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
  123343. * data minimum is greater than this, the axis will stay at this minimum,
  123344. * but if the series data minimum is lower, the axis will flex to show all
  123345. * data.
  123346. */
  123347. softMin?: number;
  123348. /**
  123349. * (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
  123350. * put the tick between weeks. 0 = Sunday, 1 = Monday.
  123351. */
  123352. startOfWeek?: number;
  123353. /**
  123354. * (Highcharts) Whether to force the axis to start on a tick. Use this
  123355. * option with the `minPadding` option to control the axis start.
  123356. */
  123357. startOnTick?: boolean;
  123358. /**
  123359. * (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
  123360. * This opens up for aligning the ticks of multiple charts or panes within a
  123361. * chart. This option overrides the `tickPixelInterval` option.
  123362. *
  123363. * This option only has an effect on linear axes. Datetime, logarithmic or
  123364. * category axes are not affected.
  123365. */
  123366. tickAmount?: number;
  123367. /**
  123368. * (Highcharts) Color for the main tick marks.
  123369. *
  123370. * In styled mode, the stroke is given in the `.highcharts-tick` class.
  123371. */
  123372. tickColor?: ColorType;
  123373. /**
  123374. * (Highcharts) The interval of the tick marks in axis units. When
  123375. * `undefined`, the tick interval is computed to approximately follow the
  123376. * tickPixelInterval on linear and datetime axes. On categorized axes, a
  123377. * `undefined` tickInterval will default to 1, one category. Note that
  123378. * datetime axes are based on milliseconds, so for example an interval of
  123379. * one day is expressed as `24 * 3600 * 1000`.
  123380. *
  123381. * On logarithmic axes, the tickInterval is based on powers, so a
  123382. * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
  123383. * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
  123384. * 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
  123385. * etc.
  123386. *
  123387. * If the tickInterval is too dense for labels to be drawn, Highcharts may
  123388. * remove ticks.
  123389. *
  123390. * If the chart has multiple axes, the alignTicks option may interfere with
  123391. * the `tickInterval` setting.
  123392. */
  123393. tickInterval?: number;
  123394. /**
  123395. * (Highcharts) The pixel length of the main tick marks.
  123396. */
  123397. tickLength?: number;
  123398. /**
  123399. * (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
  123400. * placed in the center of the category, if `between` the tick mark is
  123401. * placed between categories. The default is `between` if the `tickInterval`
  123402. * is 1, else `on`.
  123403. */
  123404. tickmarkPlacement?: OptionsTickmarkPlacementValue;
  123405. /**
  123406. * (Highcharts) If tickInterval is `null` this option sets the approximate
  123407. * pixel interval of the tick marks. Not applicable to categorized axis.
  123408. *
  123409. * The tick interval is also influenced by the minTickInterval option, that,
  123410. * by default prevents ticks from being denser than the data points.
  123411. */
  123412. tickPixelInterval?: number;
  123413. /**
  123414. * (Highcharts) The position of the major tick marks relative to the axis
  123415. * line. Can be one of `inside` and `outside`.
  123416. */
  123417. tickPosition?: OptionsTickPositionValue;
  123418. /**
  123419. * (Highcharts) A callback function returning array defining where the ticks
  123420. * are laid out on the axis. This overrides the default behaviour of
  123421. * tickPixelInterval and tickInterval. The automatic tick positions are
  123422. * accessible through `this.tickPositions` and can be modified by the
  123423. * callback.
  123424. */
  123425. tickPositioner?: AxisTickPositionerCallbackFunction;
  123426. /**
  123427. * (Highcharts) An array defining where the ticks are laid out on the axis.
  123428. * This overrides the default behaviour of tickPixelInterval and
  123429. * tickInterval.
  123430. */
  123431. tickPositions?: Array<number>;
  123432. /**
  123433. * (Highcharts) The pixel width of the major tick marks. Defaults to 0 on
  123434. * category axes, otherwise 1.
  123435. *
  123436. * In styled mode, the stroke width is given in the `.highcharts-tick`
  123437. * class, but in order for the element to be generated on category axes, the
  123438. * option must be explicitly set to 1.
  123439. */
  123440. tickWidth?: (number|undefined);
  123441. /**
  123442. * (Highcharts) The axis title, showing next to the axis line.
  123443. */
  123444. title?: ZAxisTitleOptions;
  123445. /**
  123446. * (Highcharts, Gantt) The type of axis. Can be one of `linear`,
  123447. * `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
  123448. * are given in milliseconds, and tick marks are placed on appropriate
  123449. * values like full hours or days. In a category axis, the point names of
  123450. * the chart's series are used for categories, if not a categories array is
  123451. * defined.
  123452. */
  123453. type?: AxisTypeValue;
  123454. /**
  123455. * (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
  123456. * `uniqueNames` is true, points are placed on the X axis according to their
  123457. * names. If the same point name is repeated in the same or another series,
  123458. * the point is placed on the same X position as other points of the same
  123459. * name. When `uniqueNames` is false, the points are laid out in increasing
  123460. * X positions regardless of their names, and the X axis category will take
  123461. * the name of the last point in each position.
  123462. */
  123463. uniqueNames?: boolean;
  123464. /**
  123465. * (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
  123466. * what time intervals the ticks are allowed to fall on. Each array item is
  123467. * an array where the first value is the time unit and the second value
  123468. * another array of allowed multiples.
  123469. *
  123470. * Defaults to: (see online documentation for example)
  123471. */
  123472. units?: Array<[string, (Array<number>|null)]>;
  123473. /**
  123474. * (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
  123475. * ticks and labels, should be visible.
  123476. */
  123477. visible?: boolean;
  123478. /**
  123479. * (Highcharts) The Z index for the axis group.
  123480. */
  123481. zIndex?: number;
  123482. /**
  123483. * (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
  123484. * allows to disable zooming on an individual axis.
  123485. */
  123486. zoomEnabled?: boolean;
  123487. }
  123488. /**
  123489. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  123490. * band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  123491. */
  123492. export interface ZAxisPlotBandsEventsOptions {
  123493. /**
  123494. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  123495. */
  123496. click?: EventCallbackFunction<PlotLineOrBand>;
  123497. /**
  123498. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  123499. */
  123500. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  123501. /**
  123502. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  123503. * band.
  123504. */
  123505. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  123506. /**
  123507. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  123508. */
  123509. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  123510. }
  123511. /**
  123512. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123513. */
  123514. export interface ZAxisPlotBandsLabelOptions {
  123515. /**
  123516. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  123517. * one of "left", "center" or "right".
  123518. */
  123519. align?: AlignValue;
  123520. /**
  123521. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
  123522. */
  123523. rotation?: number;
  123524. /**
  123525. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  123526. *
  123527. * In styled mode, the labels are styled by the
  123528. * `.highcharts-plot-band-label` class.
  123529. */
  123530. style?: CSSObject;
  123531. /**
  123532. * (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
  123533. * is supported.
  123534. */
  123535. text?: string;
  123536. /**
  123537. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  123538. * `align` determines where the texts anchor point is placed within the plot
  123539. * band, `textAlign` determines how the text is aligned against its anchor
  123540. * point. Possible values are "left", "center" and "right". Defaults to the
  123541. * same as the `align` option.
  123542. */
  123543. textAlign?: AlignValue;
  123544. /**
  123545. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  123546. */
  123547. useHTML?: boolean;
  123548. /**
  123549. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  123550. * to the plot band. Can be one of "top", "middle" or "bottom".
  123551. */
  123552. verticalAlign?: VerticalAlignValue;
  123553. /**
  123554. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  123555. * alignment. Default varies by orientation.
  123556. */
  123557. x?: number;
  123558. /**
  123559. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  123560. * relative to the alignment. Default varies by orientation.
  123561. */
  123562. y?: number;
  123563. }
  123564. /**
  123565. * (Highcharts, Highstock, Gantt) An array of colored bands stretching across
  123566. * the plot area marking an interval on the axis.
  123567. *
  123568. * In styled mode, the plot bands are styled by the `.highcharts-plot-band`
  123569. * class in addition to the `className` option.
  123570. */
  123571. export interface ZAxisPlotBandsOptions {
  123572. /**
  123573. * (Highstock) Flag to decide if plotBand should be rendered across all
  123574. * panes.
  123575. */
  123576. acrossPanes?: boolean;
  123577. /**
  123578. * (Highcharts, Highstock, Gantt) Border color for the plot band. Also
  123579. * requires `borderWidth` to be set.
  123580. */
  123581. borderColor?: ColorString;
  123582. /**
  123583. * (Highcharts, Highstock, Gantt) Border width for the plot band. Also
  123584. * requires `borderColor` to be set.
  123585. */
  123586. borderWidth?: number;
  123587. /**
  123588. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  123589. * default `highcharts-plot-band`, to apply to each individual band.
  123590. */
  123591. className?: string;
  123592. /**
  123593. * (Highcharts, Highstock, Gantt) The color of the plot band.
  123594. */
  123595. color?: (ColorString|GradientColorObject|PatternObject);
  123596. /**
  123597. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  123598. * plot band. Supported properties are `click`, `mouseover`, `mouseout`,
  123599. * `mousemove`.
  123600. */
  123601. events?: ZAxisPlotBandsEventsOptions;
  123602. /**
  123603. * (Highcharts, Highstock, Gantt) The start position of the plot band in
  123604. * axis units.
  123605. */
  123606. from?: number;
  123607. /**
  123608. * (Highcharts, Highstock, Gantt) An id used for identifying the plot band
  123609. * in Axis.removePlotBand.
  123610. */
  123611. id?: string;
  123612. /**
  123613. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123614. */
  123615. label?: ZAxisPlotBandsLabelOptions;
  123616. /**
  123617. * (Highcharts, Highstock, Gantt) The end position of the plot band in axis
  123618. * units.
  123619. */
  123620. to?: number;
  123621. /**
  123622. * (Highcharts, Highstock, Gantt) The z index of the plot band within the
  123623. * chart, relative to other elements. Using the same z index as another
  123624. * element may give unpredictable results, as the last rendered element will
  123625. * be on top. Values from 0 to 20 make sense.
  123626. */
  123627. zIndex?: number;
  123628. }
  123629. /**
  123630. * (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
  123631. * line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
  123632. */
  123633. export interface ZAxisPlotLinesEventsOptions {
  123634. /**
  123635. * (Highcharts, Highstock, Gantt) Click event on a plot band.
  123636. */
  123637. click?: EventCallbackFunction<PlotLineOrBand>;
  123638. /**
  123639. * (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
  123640. */
  123641. mousemove?: EventCallbackFunction<PlotLineOrBand>;
  123642. /**
  123643. * (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
  123644. * band.
  123645. */
  123646. mouseout?: EventCallbackFunction<PlotLineOrBand>;
  123647. /**
  123648. * (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
  123649. */
  123650. mouseover?: EventCallbackFunction<PlotLineOrBand>;
  123651. }
  123652. /**
  123653. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123654. */
  123655. export interface ZAxisPlotLinesLabelOptions {
  123656. /**
  123657. * (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
  123658. * one of "left", "center" or "right".
  123659. */
  123660. align?: AlignValue;
  123661. /**
  123662. * (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
  123663. * label. Useful properties like the value of plot line or the range of plot
  123664. * band (`from` & `to` properties) can be found in `this.options` object.
  123665. */
  123666. formatter?: FormatterCallbackFunction<PlotLineOrBand>;
  123667. /**
  123668. * (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
  123669. * Defaults to 0 for horizontal plot lines and 90 for vertical lines.
  123670. */
  123671. rotation?: number;
  123672. /**
  123673. * (Highcharts, Highstock, Gantt) CSS styles for the text label.
  123674. *
  123675. * In styled mode, the labels are styled by the
  123676. * `.highcharts-plot-line-label` class.
  123677. */
  123678. style?: CSSObject;
  123679. /**
  123680. * (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
  123681. * supported.
  123682. */
  123683. text?: string;
  123684. /**
  123685. * (Highcharts, Highstock, Gantt) The text alignment for the label. While
  123686. * `align` determines where the texts anchor point is placed within the plot
  123687. * band, `textAlign` determines how the text is aligned against its anchor
  123688. * point. Possible values are "left", "center" and "right". Defaults to the
  123689. * same as the `align` option.
  123690. */
  123691. textAlign?: AlignValue;
  123692. /**
  123693. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
  123694. */
  123695. useHTML?: boolean;
  123696. /**
  123697. * (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
  123698. * to the plot line. Can be one of "top", "middle" or "bottom".
  123699. */
  123700. verticalAlign?: VerticalAlignValue;
  123701. /**
  123702. * (Highcharts, Highstock, Gantt) Horizontal position relative the
  123703. * alignment. Default varies by orientation.
  123704. */
  123705. x?: number;
  123706. /**
  123707. * (Highcharts, Highstock, Gantt) Vertical position of the text baseline
  123708. * relative to the alignment. Default varies by orientation.
  123709. */
  123710. y?: number;
  123711. }
  123712. /**
  123713. * (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
  123714. * area, marking a specific value on one of the axes.
  123715. *
  123716. * In styled mode, the plot lines are styled by the `.highcharts-plot-line`
  123717. * class in addition to the `className` option.
  123718. */
  123719. export interface ZAxisPlotLinesOptions {
  123720. /**
  123721. * (Highstock) Flag to decide if plotLine should be rendered across all
  123722. * panes.
  123723. */
  123724. acrossPanes?: boolean;
  123725. /**
  123726. * (Highcharts, Highstock, Gantt) A custom class name, in addition to the
  123727. * default `highcharts-plot-line`, to apply to each individual line.
  123728. */
  123729. className?: string;
  123730. /**
  123731. * (Highcharts, Highstock, Gantt) The color of the line.
  123732. */
  123733. color?: ColorString;
  123734. /**
  123735. * (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
  123736. * line. For possible values see this overview.
  123737. */
  123738. dashStyle?: DashStyleValue;
  123739. /**
  123740. * (Highcharts, Highstock, Gantt) An object defining mouse events for the
  123741. * plot line. Supported properties are `click`, `mouseover`, `mouseout`,
  123742. * `mousemove`.
  123743. */
  123744. events?: ZAxisPlotLinesEventsOptions;
  123745. /**
  123746. * (Highcharts, Highstock, Gantt) An id used for identifying the plot line
  123747. * in Axis.removePlotLine.
  123748. */
  123749. id?: string;
  123750. /**
  123751. * (Highcharts, Highstock, Gantt) Text labels for the plot bands
  123752. */
  123753. label?: ZAxisPlotLinesLabelOptions;
  123754. /**
  123755. * (Highcharts, Highstock, Gantt) The position of the line in axis units.
  123756. */
  123757. value?: number;
  123758. /**
  123759. * (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
  123760. */
  123761. width?: number;
  123762. /**
  123763. * (Highcharts, Highstock, Gantt) The z index of the plot line within the
  123764. * chart.
  123765. */
  123766. zIndex?: number;
  123767. }
  123768. /**
  123769. * (Highstock) An optional scrollbar to display on the X axis in response to
  123770. * limiting the minimum and maximum of the axis values.
  123771. *
  123772. * In styled mode, all the presentational options for the scrollbar are replaced
  123773. * by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
  123774. * `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
  123775. * `.highcharts-scrollbar-track`.
  123776. */
  123777. export interface ZAxisScrollbarOptions {
  123778. /**
  123779. * (Highstock) The background color of the scrollbar itself.
  123780. */
  123781. barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123782. /**
  123783. * (Highstock) The color of the scrollbar's border.
  123784. */
  123785. barBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123786. /**
  123787. * (Highstock) The border rounding radius of the bar.
  123788. */
  123789. barBorderRadius?: number;
  123790. /**
  123791. * (Highstock) The width of the bar's border.
  123792. */
  123793. barBorderWidth?: number;
  123794. /**
  123795. * (Highstock) The color of the small arrow inside the scrollbar buttons.
  123796. */
  123797. buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
  123798. /**
  123799. * (Highstock) The color of scrollbar buttons.
  123800. */
  123801. buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123802. /**
  123803. * (Highstock) The color of the border of the scrollbar buttons.
  123804. */
  123805. buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123806. /**
  123807. * (Highstock) The corner radius of the scrollbar buttons.
  123808. */
  123809. buttonBorderRadius?: number;
  123810. /**
  123811. * (Highstock) The border width of the scrollbar buttons.
  123812. */
  123813. buttonBorderWidth?: number;
  123814. /**
  123815. * (Highstock) Enable or disable the scrollbar.
  123816. */
  123817. enabled?: boolean;
  123818. /**
  123819. * (Highstock) The height of the scrollbar. The height also applies to the
  123820. * width of the scroll arrows so that they are always squares. Defaults to
  123821. * 20 for touch devices and 14 for mouse devices.
  123822. */
  123823. height?: number;
  123824. /**
  123825. * (Highstock) Whether to redraw the main chart as the scrollbar or the
  123826. * navigator zoomed window is moved. Defaults to `true` for modern browsers
  123827. * and `false` for legacy IE browsers as well as mobile devices.
  123828. */
  123829. liveRedraw?: boolean;
  123830. /**
  123831. * (Highstock) The margin between the scrollbar and its axis when the
  123832. * scrollbar is applied directly to an axis.
  123833. */
  123834. margin?: number;
  123835. /**
  123836. * (Highstock) The minimum width of the scrollbar.
  123837. */
  123838. minWidth?: number;
  123839. /**
  123840. * (Highstock) The color of the small rifles in the middle of the scrollbar.
  123841. */
  123842. rifleColor?: (ColorString|GradientColorObject|PatternObject);
  123843. /**
  123844. * (Highstock) Whether to show or hide the scrollbar when the scrolled
  123845. * content is zoomed out to it full extent.
  123846. */
  123847. showFull?: boolean;
  123848. /**
  123849. * (Highstock) The color of the track background.
  123850. */
  123851. trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
  123852. /**
  123853. * (Highstock) The color of the border of the scrollbar track.
  123854. */
  123855. trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
  123856. /**
  123857. * (Highstock) The corner radius of the border of the scrollbar track.
  123858. */
  123859. trackBorderRadius?: number;
  123860. /**
  123861. * (Highstock) The width of the border of the scrollbar track.
  123862. */
  123863. trackBorderWidth?: number;
  123864. /**
  123865. * (Highstock) The z index of the scrollbar group.
  123866. */
  123867. zIndex?: number;
  123868. }
  123869. /**
  123870. * (Highcharts) The axis title, showing next to the axis line.
  123871. */
  123872. export interface ZAxisTitleOptions {
  123873. /**
  123874. * (Highcharts) Alignment of the title relative to the axis values. Possible
  123875. * values are "low", "middle" or "high".
  123876. */
  123877. align?: AxisTitleAlignValue;
  123878. /**
  123879. * (Highcharts) The pixel distance between the axis labels or line and the
  123880. * title. Defaults to 0 for horizontal axes, 10 for vertical
  123881. */
  123882. margin?: number;
  123883. /**
  123884. * (Highcharts) The distance of the axis title from the axis line. By
  123885. * default, this distance is computed from the offset width of the labels,
  123886. * the labels' distance from the axis and the title's margin. However when
  123887. * the offset option is set, it overrides all this.
  123888. */
  123889. offset?: number;
  123890. /**
  123891. * (Highcharts) Defines how the title is repositioned according to the 3D
  123892. * chart orientation.
  123893. *
  123894. * - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
  123895. * marks, despite the chart orientation. This is the backwards compatible
  123896. * behavior, and causes skewing of X and Z axes.
  123897. *
  123898. * - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
  123899. * but hard to read if the text isn't forward-facing.
  123900. *
  123901. * - `'flap'`: Rotated text along the axis to compensate for the chart
  123902. * orientation. This tries to maintain text as legible as possible on all
  123903. * orientations.
  123904. *
  123905. * - `'ortho'`: Rotated text along the axis direction so that the labels are
  123906. * orthogonal to the axis. This is very similar to `'flap'`, but prevents
  123907. * skewing the labels (X and Y scaling are still present).
  123908. *
  123909. * - `undefined`: Will use the config from `labels.position3d`
  123910. */
  123911. position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
  123912. /**
  123913. * (Highcharts, Highstock, Gantt) Whether to reserve space for the title
  123914. * when laying out the axis.
  123915. */
  123916. reserveSpace?: boolean;
  123917. /**
  123918. * (Highcharts) The rotation of the text in degrees. 0 is horizontal, 270 is
  123919. * vertical reading from bottom to top.
  123920. */
  123921. rotation?: number;
  123922. /**
  123923. * (Highcharts) If enabled, the axis title will skewed to follow the
  123924. * perspective.
  123925. *
  123926. * This will fix overlapping labels and titles, but texts become less
  123927. * legible due to the distortion.
  123928. *
  123929. * The final appearance depends heavily on `title.position3d`.
  123930. *
  123931. * A `null` value will use the config from `labels.skew3d`.
  123932. */
  123933. skew3d?: (boolean|null);
  123934. /**
  123935. * (Highcharts) CSS styles for the title. If the title text is longer than
  123936. * the axis length, it will wrap to multiple lines by default. This can be
  123937. * customized by setting `textOverflow: 'ellipsis'`, by setting a specific
  123938. * `width` or by setting `whiteSpace: 'nowrap'`.
  123939. *
  123940. * In styled mode, the stroke width is given in the `.highcharts-axis-title`
  123941. * class.
  123942. */
  123943. style?: CSSObject;
  123944. /**
  123945. * (Highcharts) The actual text of the axis title. It can contain basic HTML
  123946. * tags like `b`, `i` and `span` with style.
  123947. */
  123948. text?: (string|null);
  123949. /**
  123950. * (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
  123951. * `"center"`. Default alignment depends on the title.align:
  123952. *
  123953. * Horizontal axes:
  123954. *
  123955. * - for `align` = `"low"`, `textAlign` is set to `left`
  123956. *
  123957. * - for `align` = `"middle"`, `textAlign` is set to `center`
  123958. *
  123959. * - for `align` = `"high"`, `textAlign` is set to `right`
  123960. *
  123961. * Vertical axes:
  123962. *
  123963. * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
  123964. * `right`
  123965. *
  123966. * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
  123967. * `left`
  123968. *
  123969. * - for `align` = `"middle"`, `textAlign` is set to `center`
  123970. *
  123971. * - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
  123972. * `left`
  123973. *
  123974. * - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
  123975. * `right`
  123976. */
  123977. textAlign?: AlignValue;
  123978. /**
  123979. * (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
  123980. * title.
  123981. */
  123982. useHTML?: boolean;
  123983. /**
  123984. * (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
  123985. * position.
  123986. */
  123987. x?: number;
  123988. /**
  123989. * (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
  123990. * position.
  123991. */
  123992. y?: number;
  123993. }
  123994. /**
  123995. * An annotation class which serves as a container for items like labels or
  123996. * shapes. Created items are positioned on the chart either by linking them to
  123997. * existing points or created mock points
  123998. */
  123999. export class Annotation {
  124000. /**
  124001. * An annotation class which serves as a container for items like labels or
  124002. * shapes. Created items are positioned on the chart either by linking them
  124003. * to existing points or created mock points
  124004. *
  124005. * @param chart
  124006. * a chart instance
  124007. *
  124008. * @param userOptions
  124009. * the options object
  124010. */
  124011. constructor(chart: Chart, userOptions: AnnotationsOptions);
  124012. /**
  124013. * The group svg element.
  124014. */
  124015. group: SVGElement;
  124016. /**
  124017. * The group svg element of the annotation's labels.
  124018. */
  124019. labelsGroup: SVGElement;
  124020. /**
  124021. * The options for the annotations.
  124022. */
  124023. options: AnnotationsOptions;
  124024. /**
  124025. * The group svg element of the annotation's shapes.
  124026. */
  124027. shapesGroup: SVGElement;
  124028. /**
  124029. * The user options for the annotations.
  124030. */
  124031. userOptions: AnnotationsOptions;
  124032. /**
  124033. * Updates an annotation.
  124034. *
  124035. * @param userOptions
  124036. * New user options for the annotation.
  124037. */
  124038. update(userOptions: Partial<AnnotationsOptions>): void;
  124039. }
  124040. /**
  124041. * A control point class which is a connection between controllable transform
  124042. * methods and a user actions.
  124043. */
  124044. export class AnnotationControlPoint {
  124045. /**
  124046. * A control point class which is a connection between controllable
  124047. * transform methods and a user actions.
  124048. *
  124049. * @param chart
  124050. * A chart instance.
  124051. *
  124052. * @param target
  124053. * A controllable instance which is a target for a control point.
  124054. *
  124055. * @param options
  124056. * An options object.
  124057. *
  124058. * @param index
  124059. * Point index.
  124060. */
  124061. constructor(chart: Chart, target: AnnotationControllable, options: AnnotationControlPointOptionsObject, index?: number);
  124062. /**
  124063. * Set the visibility of the control point.
  124064. *
  124065. * @param visible
  124066. * Visibility of the control point.
  124067. */
  124068. setVisibility(visible: boolean): void;
  124069. /**
  124070. * Update the control point.
  124071. *
  124072. * @param userOptions
  124073. * New options for the control point.
  124074. */
  124075. update(userOptions: Partial<AnnotationControlPointOptionsObject>): void;
  124076. }
  124077. /**
  124078. * The AST class represents an abstract syntax tree of HTML or SVG content. It
  124079. * can take HTML as an argument, parse it, optionally transform it to SVG, then
  124080. * perform sanitation before inserting it into the DOM.
  124081. */
  124082. export class AST {
  124083. /**
  124084. * The list of allowed SVG or HTML attributes, used for sanitizing
  124085. * potentially harmful content from the chart configuration before adding to
  124086. * the DOM.
  124087. */
  124088. static allowedAttributes: any;
  124089. /**
  124090. * The list of allowed references for referring attributes like `href` and
  124091. * `src`. Attribute values will only be allowed if they start with one of
  124092. * these strings.
  124093. */
  124094. static allowedReferences: any;
  124095. /**
  124096. * The list of allowed SVG or HTML tags, used for sanitizing potentially
  124097. * harmful content from the chart configuration before adding to the DOM.
  124098. */
  124099. static allowedTags: any;
  124100. /**
  124101. * The AST class represents an abstract syntax tree of HTML or SVG content.
  124102. * It can take HTML as an argument, parse it, optionally transform it to
  124103. * SVG, then perform sanitation before inserting it into the DOM.
  124104. *
  124105. * @param source
  124106. * Either an HTML string or an ASTNode list to populate the tree.
  124107. */
  124108. constructor(source: (string|Array<ASTNode>));
  124109. /**
  124110. * Add the tree defined as a hierarchical JS structure to the DOM
  124111. *
  124112. * @param parent
  124113. * The node where it should be added
  124114. *
  124115. * @return The inserted node.
  124116. */
  124117. addToDOM(parent: (HTMLDOMElement|SVGDOMElement)): (HTMLDOMElement|SVGDOMElement);
  124118. /**
  124119. * Filter an object of SVG or HTML attributes against the allow list.
  124120. *
  124121. * @param attributes
  124122. * The attributes to filter
  124123. *
  124124. * @return The filtered attributes
  124125. */
  124126. filterUserAttributes(attributes: SVGAttributes): SVGAttributes;
  124127. /**
  124128. * Utility function to set html content for an element by passing in a
  124129. * markup string. The markup is safely parsed by the AST class to avoid XSS
  124130. * vulnerabilities. This function should be used instead of setting
  124131. * `innerHTML` in all cases where the content is not fully trusted.
  124132. *
  124133. * @param el
  124134. * The node to set content of
  124135. *
  124136. * @param html
  124137. * The markup string
  124138. */
  124139. setElementHTML(el: (HTMLDOMElement|SVGDOMElement), html: string): void;
  124140. }
  124141. /**
  124142. * Create a new axis object. Called internally when instanciating a new chart or
  124143. * adding axes by Highcharts.Chart#addAxis.
  124144. *
  124145. * A chart can have from 0 axes (pie chart) to multiples. In a normal, single
  124146. * series cartesian chart, there is one X axis and one Y axis.
  124147. *
  124148. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  124149. * array of Axis objects. If there is only one axis, it can be referenced
  124150. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The same
  124151. * pattern goes for Y axes.
  124152. *
  124153. * If you need to get the axes from a series object, use the `series.xAxis` and
  124154. * `series.yAxis` properties. These are not arrays, as one series can only be
  124155. * associated to one X and one Y axis.
  124156. *
  124157. * A third way to reference the axis programmatically is by `id`. Add an `id` in
  124158. * the axis configuration options, and get the axis by Highcharts.Chart#get.
  124159. *
  124160. * Configuration options for the axes are given in options.xAxis and
  124161. * options.yAxis.
  124162. */
  124163. export class Axis {
  124164. /**
  124165. * Create a new axis object. Called internally when instanciating a new
  124166. * chart or adding axes by Highcharts.Chart#addAxis.
  124167. *
  124168. * A chart can have from 0 axes (pie chart) to multiples. In a normal,
  124169. * single series cartesian chart, there is one X axis and one Y axis.
  124170. *
  124171. * The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an
  124172. * array of Axis objects. If there is only one axis, it can be referenced
  124173. * through `chart.xAxis[0]`, and multiple axes have increasing indices. The
  124174. * same pattern goes for Y axes.
  124175. *
  124176. * If you need to get the axes from a series object, use the `series.xAxis`
  124177. * and `series.yAxis` properties. These are not arrays, as one series can
  124178. * only be associated to one X and one Y axis.
  124179. *
  124180. * A third way to reference the axis programmatically is by `id`. Add an
  124181. * `id` in the axis configuration options, and get the axis by
  124182. * Highcharts.Chart#get.
  124183. *
  124184. * Configuration options for the axes are given in options.xAxis and
  124185. * options.yAxis.
  124186. *
  124187. * @param chart
  124188. * The Chart instance to apply the axis on.
  124189. *
  124190. * @param userOptions
  124191. * Axis options.
  124192. */
  124193. constructor(chart: Chart, userOptions: AxisOptions);
  124194. /**
  124195. * If categories are present for the axis, names are used instead of numbers
  124196. * for that axis.
  124197. *
  124198. * Since Highcharts 3.0, categories can also be extracted by giving each
  124199. * point a name and setting axis type to `category`. However, if you have
  124200. * multiple series, best practice remains defining the `categories` array.
  124201. */
  124202. readonly categories: Array<string>;
  124203. /**
  124204. * The Chart that the axis belongs to.
  124205. */
  124206. chart: Chart;
  124207. /**
  124208. * The collection where the axis belongs, for example `xAxis`, `yAxis` or
  124209. * `colorAxis`. Corresponds to properties on Chart, for example Chart.xAxis.
  124210. */
  124211. coll: string;
  124212. /**
  124213. * The processed crosshair options.
  124214. */
  124215. crosshair: (boolean|AxisCrosshairOptions);
  124216. /**
  124217. * Whether the axis is horizontal.
  124218. */
  124219. horiz?: boolean;
  124220. /**
  124221. * Whether the axis is the x-axis.
  124222. */
  124223. isXAxis?: boolean;
  124224. /**
  124225. * The maximum value of the axis. In a logarithmic axis, this is the
  124226. * logarithm of the real value, and the real value can be obtained from
  124227. * Axis#getExtremes.
  124228. */
  124229. max: (number|null);
  124230. /**
  124231. * The minimum value of the axis. In a logarithmic axis, this is the
  124232. * logarithm of the real value, and the real value can be obtained from
  124233. * Axis#getExtremes.
  124234. */
  124235. min: (number|null);
  124236. /**
  124237. * List of minor ticks mapped by position on the axis.
  124238. */
  124239. minorTicks: Dictionary<Tick>;
  124240. /**
  124241. * Current options for the axis after merge of defaults and user's options.
  124242. */
  124243. options: AxisOptions;
  124244. /**
  124245. * Whether the axis is reversed. Based on the `axis.reversed`, option, but
  124246. * inverted charts have reversed xAxis by default.
  124247. */
  124248. reversed: boolean;
  124249. /**
  124250. * All series associated to the axis.
  124251. */
  124252. series: Array<Series>;
  124253. /**
  124254. * The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom
  124255. * and 3 is left.
  124256. */
  124257. side: number;
  124258. /**
  124259. * Contains the current positions that are laid out on the axis. The
  124260. * positions are numbers in terms of axis values. In a category axis they
  124261. * are integers, in a datetime axis they are also integers, but designating
  124262. * milliseconds.
  124263. *
  124264. * This property is read only - for modifying the tick positions, use the
  124265. * `tickPositioner` callback or [axis.tickPositions(
  124266. * https://api.highcharts.com/highcharts/xAxis.tickPositions) option
  124267. * instead.
  124268. */
  124269. tickPositions?: AxisTickPositionsArray;
  124270. /**
  124271. * List of major ticks mapped by postition on axis.
  124272. */
  124273. ticks: Dictionary<Tick>;
  124274. /**
  124275. * User's options for this axis without defaults.
  124276. */
  124277. userOptions: AxisOptions;
  124278. /**
  124279. * Add a plot band after render time.
  124280. *
  124281. * @param options
  124282. * A configuration object for the plot band, as defined in
  124283. * xAxis.plotBands.
  124284. *
  124285. * @return The added plot band.
  124286. */
  124287. addPlotBand(options: AxisPlotBandsOptions): (PlotLineOrBand|undefined);
  124288. /**
  124289. * Add a plot line after render time.
  124290. *
  124291. * @param options
  124292. * A configuration object for the plot line, as defined in
  124293. * xAxis.plotLines.
  124294. *
  124295. * @return The added plot line.
  124296. */
  124297. addPlotLine(options: AxisPlotLinesOptions): (PlotLineOrBand|undefined);
  124298. /**
  124299. * Adds the title defined in axis.options.title.
  124300. *
  124301. * @param display
  124302. * Whether or not to display the title.
  124303. */
  124304. addTitle(display?: boolean): void;
  124305. /**
  124306. * The default label formatter. The context is a special config object for
  124307. * the label. In apps, use the labels.formatter instead, except when a
  124308. * modification is needed.
  124309. *
  124310. * @param this
  124311. * Formatter context of axis label.
  124312. *
  124313. * @param ctx
  124314. * Formatter context of axis label.
  124315. *
  124316. * @return The formatted label content.
  124317. */
  124318. defaultLabelFormatter(this: AxisLabelsFormatterContextObject, ctx?: AxisLabelsFormatterContextObject): string;
  124319. /**
  124320. * Internal function to draw a crosshair.
  124321. *
  124322. * @param e
  124323. * The event arguments from the modified pointer event, extended with
  124324. * `chartX` and `chartY`
  124325. *
  124326. * @param point
  124327. * The Point object if the crosshair snaps to points.
  124328. *
  124329. * @fires Highcharts.Axis#afterDrawCrosshair
  124330. * @fires Highcharts.Axis#drawCrosshair
  124331. */
  124332. drawCrosshair(e?: PointerEventObject, point?: Point): void;
  124333. /**
  124334. * Get the current extremes for the axis.
  124335. *
  124336. * @return An object containing extremes information.
  124337. */
  124338. getExtremes(): ExtremesObject;
  124339. /**
  124340. * Internal function to get the tick positions of a linear axis to round
  124341. * values like whole tens or every five.
  124342. *
  124343. * @param tickInterval
  124344. * The normalized tick interval.
  124345. *
  124346. * @param min
  124347. * Axis minimum.
  124348. *
  124349. * @param max
  124350. * Axis maximum.
  124351. *
  124352. * @return An array of axis values where ticks should be placed.
  124353. */
  124354. getLinearTickPositions(tickInterval: number, min: number, max: number): Array<number>;
  124355. /**
  124356. * Internal function to get the path for the axis line. Extended for polar
  124357. * charts.
  124358. *
  124359. * @param lineWidth
  124360. * The line width in pixels.
  124361. *
  124362. * @return The SVG path definition in array form.
  124363. */
  124364. getLinePath(lineWidth: number): SVGPathArray;
  124365. /**
  124366. * Resolve the new minorTicks/minorTickInterval options into the legacy
  124367. * loosely typed minorTickInterval option.
  124368. */
  124369. getMinorTickInterval(): ("auto"|number|null);
  124370. /**
  124371. * Internal function to return the minor tick positions. For logarithmic
  124372. * axes, the same logic as for major ticks is reused.
  124373. *
  124374. * @return An array of axis values where ticks should be placed.
  124375. */
  124376. getMinorTickPositions(): Array<number>;
  124377. /**
  124378. * Internal function to create the SVG path definition for a plot band.
  124379. *
  124380. * @param from
  124381. * The axis value to start from.
  124382. *
  124383. * @param to
  124384. * The axis value to end on.
  124385. *
  124386. * @param options
  124387. * The plotBand or plotLine configuration object.
  124388. *
  124389. * @return The SVG path definition in array form.
  124390. */
  124391. getPlotBandPath(from: number, to: number, options: (AxisPlotBandsOptions|AxisPlotLinesOptions)): SVGPathArray;
  124392. /**
  124393. * Create the path for a plot line that goes from the given value on this
  124394. * axis, across the plot to the opposite side. Also used internally for grid
  124395. * lines and crosshairs.
  124396. *
  124397. * @param options
  124398. * Options for the path.
  124399. *
  124400. * @return The SVG path definition for the plot line.
  124401. */
  124402. getPlotLinePath(options: AxisPlotLinePathOptionsObject): (SVGPathArray|null);
  124403. /**
  124404. * Get the zero plane either based on zero or on the min or max value. Used
  124405. * in bar and area plots.
  124406. *
  124407. * @param threshold
  124408. * The threshold in axis values.
  124409. *
  124410. * @return The translated threshold position in terms of pixels, and
  124411. * corrected to stay within the axis bounds.
  124412. */
  124413. getThreshold(threshold: number): (number|undefined);
  124414. /**
  124415. * Return true if the axis has associated data.
  124416. *
  124417. * @return True if the axis has associated visible series and those series
  124418. * have either valid data points or explicit `min` and `max`
  124419. * settings.
  124420. */
  124421. hasData(): boolean;
  124422. /**
  124423. * Hide the crosshair if visible.
  124424. */
  124425. hideCrosshair(): void;
  124426. /**
  124427. * Overrideable function to initialize the axis.
  124428. *
  124429. * @param chart
  124430. * The Chart instance to apply the axis on.
  124431. *
  124432. * @param userOptions
  124433. * Axis options.
  124434. *
  124435. * @fires Highcharts.Axis#afterInit
  124436. * @fires Highcharts.Axis#init
  124437. */
  124438. init(chart: Chart, userOptions: AxisOptions): void;
  124439. /**
  124440. * Remove the axis from the chart.
  124441. *
  124442. * @param redraw
  124443. * Whether to redraw the chart following the remove.
  124444. */
  124445. remove(redraw?: boolean): void;
  124446. /**
  124447. * Remove a plot band by its id.
  124448. *
  124449. * @param id
  124450. * The plot band's `id` as given in the original configuration object
  124451. * or in the `addPlotBand` option.
  124452. */
  124453. removePlotBand(id: string): void;
  124454. /**
  124455. * Remove a plot line by its id.
  124456. *
  124457. * @param id
  124458. * The plot line's `id` as given in the original configuration object
  124459. * or in the `addPlotLine` option.
  124460. */
  124461. removePlotLine(id: string): void;
  124462. /**
  124463. * Render the axis line. Called internally when rendering and redrawing the
  124464. * axis.
  124465. */
  124466. renderLine(): void;
  124467. /**
  124468. * Render a minor tick into the given position. If a minor tick already
  124469. * exists in this position, move it.
  124470. *
  124471. * @param pos
  124472. * The position in axis values.
  124473. */
  124474. renderMinorTick(pos: number): void;
  124475. /**
  124476. * Render a major tick into the given position. If a tick already exists in
  124477. * this position, move it.
  124478. *
  124479. * @param pos
  124480. * The position in axis values.
  124481. *
  124482. * @param i
  124483. * The tick index.
  124484. */
  124485. renderTick(pos: number, i: number): void;
  124486. /**
  124487. * Set new axis categories and optionally redraw.
  124488. *
  124489. * @param categories
  124490. * The new categories.
  124491. *
  124492. * @param redraw
  124493. * Whether to redraw the chart.
  124494. */
  124495. setCategories(categories: Array<string>, redraw?: boolean): void;
  124496. /**
  124497. * Set the minimum and maximum of the axes after render time. If the
  124498. * `startOnTick` and `endOnTick` options are true, the minimum and maximum
  124499. * values are rounded off to the nearest tick. To prevent this, these
  124500. * options can be set to false before calling setExtremes. Also, setExtremes
  124501. * will not allow a range lower than the `minRange` option, which by default
  124502. * is the range of five points.
  124503. *
  124504. * @param newMin
  124505. * The new minimum value.
  124506. *
  124507. * @param newMax
  124508. * The new maximum value.
  124509. *
  124510. * @param redraw
  124511. * Whether to redraw the chart or wait for an explicit call to
  124512. * Highcharts.Chart#redraw
  124513. *
  124514. * @param animation
  124515. * Enable or modify animations.
  124516. *
  124517. * @param eventArguments
  124518. * Arguments to be accessed in event handler.
  124519. *
  124520. * @fires Highcharts.Axis#setExtremes
  124521. */
  124522. setExtremes(newMin?: number, newMax?: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), eventArguments?: any): void;
  124523. /**
  124524. * Update the axis title by options after render time.
  124525. *
  124526. * @param titleOptions
  124527. * The additional title options.
  124528. *
  124529. * @param redraw
  124530. * Whether to redraw the chart after setting the title.
  124531. */
  124532. setTitle(titleOptions: AxisTitleOptions, redraw?: boolean): void;
  124533. /**
  124534. * Translate a value in terms of axis units into pixels within the chart.
  124535. *
  124536. * @param value
  124537. * A value in terms of axis units.
  124538. *
  124539. * @param paneCoordinates
  124540. * Whether to return the pixel coordinate relative to the chart or
  124541. * just the axis/pane itself.
  124542. *
  124543. * @return Pixel position of the value on the chart or axis.
  124544. */
  124545. toPixels(value: number, paneCoordinates: boolean): number;
  124546. /**
  124547. * Translate a pixel position along the axis to a value in terms of axis
  124548. * units.
  124549. *
  124550. * @param pixel
  124551. * The pixel value coordinate.
  124552. *
  124553. * @param paneCoordinates
  124554. * Whether the input pixel is relative to the chart or just the
  124555. * axis/pane itself.
  124556. *
  124557. * @return The axis value.
  124558. */
  124559. toValue(pixel: number, paneCoordinates?: boolean): number;
  124560. /**
  124561. * Update an axis object with a new set of options. The options are merged
  124562. * with the existing options, so only new or altered options need to be
  124563. * specified.
  124564. *
  124565. * @param options
  124566. * The new options that will be merged in with existing options on
  124567. * the axis.
  124568. *
  124569. * @param redraw
  124570. * Whether to redraw the chart after the axis is altered. If doing
  124571. * more operations on the chart, it is a good idea to set redraw to
  124572. * false and call Chart#redraw after.
  124573. */
  124574. update(options: AxisOptions, redraw?: boolean): void;
  124575. }
  124576. /**
  124577. * The Chart class. The recommended constructor is Highcharts#chart.
  124578. */
  124579. export class Chart {
  124580. /**
  124581. * The Chart class. The recommended constructor is Highcharts#chart.
  124582. *
  124583. * @param options
  124584. * The chart options structure.
  124585. *
  124586. * @param callback
  124587. * Function to run when the chart has loaded and and all external
  124588. * images are loaded. Defining a chart.events.load handler is
  124589. * equivalent.
  124590. */
  124591. constructor(options: Options, callback?: ChartCallbackFunction);
  124592. /**
  124593. * The Chart class. The recommended constructor is Highcharts#chart.
  124594. *
  124595. * @param renderTo
  124596. * The DOM element to render to, or its id.
  124597. *
  124598. * @param options
  124599. * The chart options structure.
  124600. *
  124601. * @param callback
  124602. * Function to run when the chart has loaded and and all external
  124603. * images are loaded. Defining a chart.events.load handler is
  124604. * equivalent.
  124605. */
  124606. constructor(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction);
  124607. /**
  124608. * All the axes in the chart.
  124609. */
  124610. axes: Array<Axis>;
  124611. /**
  124612. * The current pixel height of the chart.
  124613. */
  124614. chartHeight: number;
  124615. /**
  124616. * The current pixel width of the chart.
  124617. */
  124618. chartWidth: number;
  124619. /**
  124620. * The containing HTML element of the chart. The container is dynamically
  124621. * inserted into the element given as the `renderTo` parameter in the
  124622. * Highcharts#chart constructor.
  124623. */
  124624. container: HTMLDOMElement;
  124625. /**
  124626. * The chart's credits label. The label has an `update` method that allows
  124627. * setting new options as per the credits options set.
  124628. */
  124629. credits: SVGElement;
  124630. /**
  124631. * Contains the original hovered point.
  124632. */
  124633. hoverPoint: (Point|null);
  124634. /**
  124635. * Contains all hovered points.
  124636. */
  124637. hoverPoints: (Array<Point>|null);
  124638. /**
  124639. * Contains the original hovered series.
  124640. */
  124641. hoverSeries: (Series|null);
  124642. /**
  124643. * Index position of the chart in the Highcharts#charts property.
  124644. */
  124645. readonly index: number;
  124646. /**
  124647. * The flag is set to `true` if a series of the chart is inverted.
  124648. */
  124649. inverted?: boolean;
  124650. /**
  124651. * The overview of the chart's series.
  124652. */
  124653. legend: Legend;
  124654. /**
  124655. * Callback function to override the default function that formats all the
  124656. * numbers in the chart. Returns a string with the formatted number.
  124657. */
  124658. numberFormatter: NumberFormatterCallbackFunction;
  124659. /**
  124660. * The options structure for the chart after merging #defaultOptions and
  124661. * #userOptions. It contains members for the sub elements like series,
  124662. * legend, tooltip etc.
  124663. */
  124664. options: Options;
  124665. /**
  124666. * The current height of the plot area in pixels.
  124667. */
  124668. plotHeight: number;
  124669. /**
  124670. * The current left position of the plot area in pixels.
  124671. */
  124672. plotLeft: number;
  124673. /**
  124674. * The current top position of the plot area in pixels.
  124675. */
  124676. plotTop: number;
  124677. /**
  124678. * The current width of the plot area in pixels.
  124679. */
  124680. plotWidth: number;
  124681. /**
  124682. * The Pointer that keeps track of mouse and touch interaction.
  124683. */
  124684. pointer: Pointer;
  124685. /**
  124686. * The renderer instance of the chart. Each chart instance has only one
  124687. * associated renderer.
  124688. */
  124689. renderer: SVGRenderer;
  124690. /**
  124691. * All the current series in the chart.
  124692. */
  124693. series: Array<Series>;
  124694. /**
  124695. * Whether the chart is in styled mode, meaning all presentatinoal
  124696. * attributes are avoided.
  124697. */
  124698. styledMode: boolean;
  124699. /**
  124700. * The chart subtitle. The subtitle has an `update` method that allows
  124701. * modifying the options directly or indirectly via `chart.update`.
  124702. */
  124703. subtitle: SubtitleObject;
  124704. /**
  124705. * The `Time` object associated with the chart. Since v6.0.5, time settings
  124706. * can be applied individually for each chart. If no individual settings
  124707. * apply, the `Time` object is shared by all instances.
  124708. */
  124709. time: Time;
  124710. /**
  124711. * The chart title. The title has an `update` method that allows modifying
  124712. * the options directly or indirectly via `chart.update`.
  124713. */
  124714. title: TitleObject;
  124715. /**
  124716. * Tooltip object for points of series.
  124717. */
  124718. tooltip: Tooltip;
  124719. /**
  124720. * The original options given to the constructor or a chart factory like
  124721. * Highcharts.chart and Highcharts.stockChart.
  124722. */
  124723. userOptions: Options;
  124724. /**
  124725. * A collection of the X axes in the chart.
  124726. */
  124727. xAxis: Array<Axis>;
  124728. /**
  124729. * A collection of the Y axes in the chart.
  124730. */
  124731. yAxis: Array<Axis>;
  124732. /**
  124733. * Add an axis to the chart after render time. Note that this method should
  124734. * never be used when adding data synchronously at chart render time, as it
  124735. * adds expense to the calculations and rendering. When adding data at the
  124736. * same time as the chart is initialized, add the axis as a configuration
  124737. * option instead.
  124738. *
  124739. * @param options
  124740. * The axis options.
  124741. *
  124742. * @param isX
  124743. * Whether it is an X axis or a value axis.
  124744. *
  124745. * @param redraw
  124746. * Whether to redraw the chart after adding.
  124747. *
  124748. * @param animation
  124749. * Whether and how to apply animation in the redraw.
  124750. *
  124751. * @return The newly generated Axis object.
  124752. */
  124753. addAxis(options: AxisOptions, isX?: boolean, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
  124754. /**
  124755. * Add a color axis to the chart after render time. Note that this method
  124756. * should never be used when adding data synchronously at chart render time,
  124757. * as it adds expense to the calculations and rendering. When adding data at
  124758. * the same time as the chart is initialized, add the axis as a
  124759. * configuration option instead.
  124760. *
  124761. * @param options
  124762. * The axis options.
  124763. *
  124764. * @param redraw
  124765. * Whether to redraw the chart after adding.
  124766. *
  124767. * @param animation
  124768. * Whether and how to apply animation in the redraw.
  124769. *
  124770. * @return The newly generated Axis object.
  124771. */
  124772. addColorAxis(options: ColorAxisOptions, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): ColorAxis;
  124773. /**
  124774. * Set a new credits label for the chart.
  124775. *
  124776. * @param credits
  124777. * A configuration object for the new credits.
  124778. */
  124779. addCredits(credits?: CreditsOptions): void;
  124780. /**
  124781. * Add a series to the chart after render time. Note that this method should
  124782. * never be used when adding data synchronously at chart render time, as it
  124783. * adds expense to the calculations and rendering. When adding data at the
  124784. * same time as the chart is initialized, add the series as a configuration
  124785. * option instead. With multiple axes, the `offset` is dynamically adjusted.
  124786. *
  124787. * @param options
  124788. * The config options for the series.
  124789. *
  124790. * @param redraw
  124791. * Whether to redraw the chart after adding.
  124792. *
  124793. * @param animation
  124794. * Whether to apply animation, and optionally animation
  124795. * configuration.
  124796. *
  124797. * @return The newly created series object.
  124798. *
  124799. * @fires Highcharts.Chart#addSeries
  124800. * @fires Highcharts.Chart#afterAddSeries
  124801. */
  124802. addSeries(options: SeriesOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Series;
  124803. /**
  124804. * Remove the chart and purge memory. This method is called internally
  124805. * before adding a second chart into the same container, as well as on
  124806. * window unload to prevent leaks.
  124807. *
  124808. * @fires Highcharts.Chart#destroy
  124809. */
  124810. destroy(): void;
  124811. /**
  124812. * Get an axis, series or point object by `id` as given in the configuration
  124813. * options. Returns `undefined` if no item is found.
  124814. *
  124815. * @param id
  124816. * The id as given in the configuration options.
  124817. *
  124818. * @return The retrieved item.
  124819. */
  124820. get(id: string): (Axis|Point|Series|undefined);
  124821. /**
  124822. * Returns an array of all currently selected points in the chart. Points
  124823. * can be selected by clicking or programmatically by the
  124824. * Highcharts.Point#select function.
  124825. *
  124826. * @return The currently selected points.
  124827. */
  124828. getSelectedPoints(): Array<Point>;
  124829. /**
  124830. * Returns an array of all currently selected series in the chart. Series
  124831. * can be selected either programmatically by the Highcharts.Series#select
  124832. * function or by checking the checkbox next to the legend item if
  124833. * series.showCheckBox is true.
  124834. *
  124835. * @return The currently selected series.
  124836. */
  124837. getSelectedSeries(): Array<Series>;
  124838. /**
  124839. * Hide the loading layer.
  124840. */
  124841. hideLoading(): void;
  124842. /**
  124843. * Overridable function that initializes the chart. The constructor's
  124844. * arguments are passed on directly.
  124845. *
  124846. * @param userOptions
  124847. * Custom options.
  124848. *
  124849. * @param callback
  124850. * Function to run when the chart has loaded and and all external
  124851. * images are loaded.
  124852. *
  124853. * @fires Highcharts.Chart#init
  124854. * @fires Highcharts.Chart#afterInit
  124855. */
  124856. init(userOptions: Options, callback?: Function): void;
  124857. /**
  124858. * Check whether a given point is within the plot area.
  124859. *
  124860. * @param plotX
  124861. * Pixel x relative to the plot area.
  124862. *
  124863. * @param plotY
  124864. * Pixel y relative to the plot area.
  124865. *
  124866. * @param options
  124867. * Options object.
  124868. *
  124869. * @return Returns true if the given point is inside the plot area.
  124870. */
  124871. isInsidePlot(plotX: number, plotY: number, options?: ChartIsInsideOptionsObject): boolean;
  124872. /**
  124873. * Redraw the chart after changes have been done to the data, axis extremes
  124874. * chart size or chart elements. All methods for updating axes, series or
  124875. * points have a parameter for redrawing the chart. This is `true` by
  124876. * default. But in many cases you want to do more than one operation on the
  124877. * chart before redrawing, for example add a number of points. In those
  124878. * cases it is a waste of resources to redraw the chart for each new point
  124879. * added. So you add the points and call `chart.redraw()` after.
  124880. *
  124881. * @param animation
  124882. * If or how to apply animation to the redraw.
  124883. *
  124884. * @fires Highcharts.Chart#afterSetExtremes
  124885. * @fires Highcharts.Chart#beforeRedraw
  124886. * @fires Highcharts.Chart#predraw
  124887. * @fires Highcharts.Chart#redraw
  124888. * @fires Highcharts.Chart#render
  124889. * @fires Highcharts.Chart#updatedData
  124890. */
  124891. redraw(animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  124892. /**
  124893. * Reflows the chart to its container. By default, the chart reflows
  124894. * automatically to its container following a `window.resize` event, as per
  124895. * the chart.reflow option. However, there are no reliable events for div
  124896. * resize, so if the container is resized without a window resize event,
  124897. * this must be called explicitly.
  124898. *
  124899. * @param e
  124900. * Event arguments. Used primarily when the function is called
  124901. * internally as a response to window resize.
  124902. */
  124903. reflow(e?: Event): void;
  124904. /**
  124905. * Set the caption options. This can also be done from Chart#update.
  124906. *
  124907. * @param options
  124908. * New caption options. The caption text itself is set by the
  124909. * `options.text` property.
  124910. */
  124911. setCaption(options: CaptionOptions): void;
  124912. /**
  124913. * Set the chart container's class name, in addition to
  124914. * `highcharts-container`.
  124915. *
  124916. * @param className
  124917. * The additional class name.
  124918. */
  124919. setClassName(className?: string): void;
  124920. /**
  124921. * Resize the chart to a given width and height. In order to set the width
  124922. * only, the height argument may be skipped. To set the height only, pass
  124923. * `undefined` for the width.
  124924. *
  124925. * @param width
  124926. * The new pixel width of the chart. Since v4.2.6, the argument can
  124927. * be `undefined` in order to preserve the current value (when
  124928. * setting height only), or `null` to adapt to the width of the
  124929. * containing element.
  124930. *
  124931. * @param height
  124932. * The new pixel height of the chart. Since v4.2.6, the argument can
  124933. * be `undefined` in order to preserve the current value, or `null`
  124934. * in order to adapt to the height of the containing element.
  124935. *
  124936. * @param animation
  124937. * Whether and how to apply animation.
  124938. *
  124939. * @fires Highcharts.Chart#endResize
  124940. * @fires Highcharts.Chart#resize
  124941. */
  124942. setSize(width?: (number|null), height?: (number|null), animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  124943. /**
  124944. * Shortcut to set the subtitle options. This can also be done from
  124945. * Chart#update or Chart#setTitle.
  124946. *
  124947. * @param options
  124948. * New subtitle options. The subtitle text itself is set by the
  124949. * `options.text` property.
  124950. */
  124951. setSubtitle(options: SubtitleOptions): void;
  124952. /**
  124953. * Set a new title or subtitle for the chart.
  124954. *
  124955. * @param titleOptions
  124956. * New title options. The title text itself is set by the
  124957. * `titleOptions.text` property.
  124958. *
  124959. * @param subtitleOptions
  124960. * New subtitle options. The subtitle text itself is set by the
  124961. * `subtitleOptions.text` property.
  124962. *
  124963. * @param redraw
  124964. * Whether to redraw the chart or wait for a later call to
  124965. * `chart.redraw()`.
  124966. */
  124967. setTitle(titleOptions?: TitleOptions, subtitleOptions?: SubtitleOptions, redraw?: boolean): void;
  124968. /**
  124969. * Dim the chart and show a loading text or symbol. Options for the loading
  124970. * screen are defined in the loading options.
  124971. *
  124972. * @param str
  124973. * An optional text to show in the loading label instead of the
  124974. * default one. The default text is set in lang.loading.
  124975. */
  124976. showLoading(str?: string): void;
  124977. /**
  124978. * Display the zoom button, so users can reset zoom to the default view
  124979. * settings.
  124980. *
  124981. * @fires Highcharts.Chart#afterShowResetZoom
  124982. * @fires Highcharts.Chart#beforeShowResetZoom
  124983. */
  124984. showResetZoom(): void;
  124985. /**
  124986. * A generic function to update any element of the chart. Elements can be
  124987. * enabled and disabled, moved, re-styled, re-formatted etc.
  124988. *
  124989. * A special case is configuration objects that take arrays, for example
  124990. * xAxis, yAxis or series. For these collections, an `id` option is used to
  124991. * map the new option set to an existing object. If an existing object of
  124992. * the same id is not found, the corresponding item is updated. So for
  124993. * example, running `chart.update` with a series item without an id, will
  124994. * cause the existing chart's series with the same index in the series array
  124995. * to be updated. When the `oneToOne` parameter is true, `chart.update` will
  124996. * also take care of adding and removing items from the collection. Read
  124997. * more under the parameter description below.
  124998. *
  124999. * Note that when changing series data, `chart.update` may mutate the passed
  125000. * data options.
  125001. *
  125002. * See also the responsive option set. Switching between `responsive.rules`
  125003. * basically runs `chart.update` under the hood.
  125004. *
  125005. * @param options
  125006. * A configuration object for the new chart options.
  125007. *
  125008. * @param redraw
  125009. * Whether to redraw the chart.
  125010. *
  125011. * @param oneToOne
  125012. * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
  125013. * collections will be updated one to one, and items will be either
  125014. * added or removed to match the new updated options. For example, if
  125015. * the chart has two series and we call `chart.update` with a
  125016. * configuration containing three series, one will be added. If we
  125017. * call `chart.update` with one series, one will be removed. Setting
  125018. * an empty `series` array will remove all series, but leaving out
  125019. * the`series` property will leave all series untouched. If the
  125020. * series have id's, the new series options will be matched by id,
  125021. * and the remaining ones removed.
  125022. *
  125023. * @param animation
  125024. * Whether to apply animation, and optionally animation
  125025. * configuration.
  125026. *
  125027. * @fires Highcharts.Chart#update
  125028. * @fires Highcharts.Chart#afterUpdate
  125029. */
  125030. update(options: Options, redraw?: boolean, oneToOne?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125031. /**
  125032. * Zoom the chart out after a user has zoomed in. See also Axis.setExtremes.
  125033. *
  125034. * @fires Highcharts.Chart#selection
  125035. */
  125036. zoomOut(): void;
  125037. }
  125038. /**
  125039. * Handle color operations. Some object methods are chainable.
  125040. */
  125041. export class Color {
  125042. /**
  125043. * Creates a color instance out of a color string or object.
  125044. *
  125045. * @param input
  125046. * The input color in either rbga or hex format.
  125047. *
  125048. * @return Color instance.
  125049. */
  125050. static parse(input: ColorType): Color;
  125051. /**
  125052. * Handle color operations. Some object methods are chainable.
  125053. *
  125054. * @param input
  125055. * The input color in either rbga or hex format
  125056. */
  125057. constructor(input: ColorType);
  125058. /**
  125059. * Brighten the color instance.
  125060. *
  125061. * @param alpha
  125062. * The alpha value.
  125063. *
  125064. * @return This color with modifications.
  125065. */
  125066. brighten(alpha: number): Color;
  125067. /**
  125068. * Return the color or gradient stops in the specified format
  125069. *
  125070. * @param format
  125071. * Possible values are 'a', 'rgb', 'rgba' (default).
  125072. *
  125073. * @return This color as a string or gradient stops.
  125074. */
  125075. get(format?: string): ColorType;
  125076. /**
  125077. * Set the color's opacity to a given alpha value.
  125078. *
  125079. * @param alpha
  125080. * Opacity between 0 and 1.
  125081. *
  125082. * @return Color with modifications.
  125083. */
  125084. setOpacity(alpha: number): Color;
  125085. /**
  125086. * Return an intermediate color between two colors.
  125087. *
  125088. * @param to
  125089. * The color object to tween to.
  125090. *
  125091. * @param pos
  125092. * The intermediate position, where 0 is the from color (current
  125093. * color item), and 1 is the `to` color.
  125094. *
  125095. * @return The intermediate color in rgba notation.
  125096. */
  125097. tweenTo(to: Color, pos: number): ColorString;
  125098. }
  125099. /**
  125100. * The ColorAxis object for inclusion in gradient legends.
  125101. */
  125102. export class ColorAxis extends Axis {
  125103. /**
  125104. * The ColorAxis object for inclusion in gradient legends.
  125105. *
  125106. * @param chart
  125107. * The related chart of the color axis.
  125108. *
  125109. * @param userOptions
  125110. * The color axis options for initialization.
  125111. */
  125112. constructor(chart: Chart, userOptions: ColorAxisOptions);
  125113. }
  125114. /**
  125115. * The overview of the chart's series. The legend object is instanciated
  125116. * internally in the chart constructor, and is available from the `chart.legend`
  125117. * property. Each chart has only one legend.
  125118. */
  125119. export class Legend {
  125120. /**
  125121. * The overview of the chart's series. The legend object is instanciated
  125122. * internally in the chart constructor, and is available from the
  125123. * `chart.legend` property. Each chart has only one legend.
  125124. *
  125125. * @param chart
  125126. * The chart instance.
  125127. *
  125128. * @param options
  125129. * Legend options.
  125130. */
  125131. constructor(chart: Chart, options: LegendOptions);
  125132. /**
  125133. * All items for the legend, which is an array of series for most series and
  125134. * an array of points for pie series and its derivatives.
  125135. */
  125136. readonly allItems: Array<(Point|Series)>;
  125137. /**
  125138. * SVG element of the legend box.
  125139. */
  125140. readonly box: SVGElement;
  125141. /**
  125142. * Chart of this legend.
  125143. */
  125144. readonly chart: Chart;
  125145. /**
  125146. * SVG group of the legend.
  125147. */
  125148. readonly group: SVGElement;
  125149. /**
  125150. * Legend options.
  125151. */
  125152. readonly options: LegendOptions;
  125153. /**
  125154. * SVG element of the legend title.
  125155. */
  125156. readonly title: SVGElement;
  125157. /**
  125158. * Set the legend item text.
  125159. *
  125160. * @param item
  125161. * The item for which to update the text in the legend.
  125162. */
  125163. setText(item: (Point|Series)): void;
  125164. /**
  125165. * Update the legend with new options. Equivalent to running `chart.update`
  125166. * with a legend configuration option.
  125167. *
  125168. * @param options
  125169. * Legend options.
  125170. *
  125171. * @param redraw
  125172. * Whether to redraw the chart after the axis is altered. If doing
  125173. * more operations on the chart, it is a good idea to set redraw to
  125174. * false and call Chart#redraw after. Whether to redraw the chart.
  125175. *
  125176. * @fires Highcharts.Legends#afterUpdate
  125177. */
  125178. update(options: LegendOptions, redraw?: boolean): void;
  125179. }
  125180. /**
  125181. * The object wrapper for plot lines and plot bands
  125182. */
  125183. export class PlotLineOrBand {
  125184. /**
  125185. * The object wrapper for plot lines and plot bands
  125186. */
  125187. constructor(axis: Axis, options?: (AxisPlotBandsOptions|AxisPlotLinesOptions));
  125188. /**
  125189. * SVG element of the label.
  125190. */
  125191. label: SVGElement;
  125192. /**
  125193. * SVG element of the plot line or band.
  125194. */
  125195. svgElement: SVGElement;
  125196. /**
  125197. * Remove the plot line or band.
  125198. */
  125199. destroy(): void;
  125200. }
  125201. /**
  125202. * The Point object. The point objects are generated from the `series.data`
  125203. * configuration objects or raw numbers. They can be accessed from the
  125204. * `Series.points` array. Other ways to instantiate points are through
  125205. * Highcharts.Series#addPoint or Highcharts.Series#setData.
  125206. */
  125207. export class Point {
  125208. /**
  125209. * For categorized axes this property holds the category name for the point.
  125210. * For other axes it holds the X value.
  125211. */
  125212. category: string;
  125213. /**
  125214. * The point's current color.
  125215. */
  125216. color?: (ColorString|GradientColorObject|PatternObject);
  125217. /**
  125218. * The point's current color index, used in styled mode instead of `color`.
  125219. * The color index is inserted in class names used for styling.
  125220. */
  125221. colorIndex: number;
  125222. /**
  125223. * (Highstock) Highcharts Stock only. If a point object is created by data
  125224. * grouping, it doesn't reflect actual points in the raw data. In this case,
  125225. * the `dataGroup` property holds information that points back to the raw
  125226. * data.
  125227. *
  125228. * - `dataGroup.start` is the index of the first raw data point in the
  125229. * group.
  125230. *
  125231. * - `dataGroup.length` is the amount of points in the group.
  125232. */
  125233. dataGroup?: DataGroupingInfoObject;
  125234. /**
  125235. * Contains the point's index in the `Series.points` array.
  125236. */
  125237. readonly index: number;
  125238. /**
  125239. * The name of the point. The name can be given as the first position of the
  125240. * point configuration array, or as a `name` property in the configuration:
  125241. */
  125242. name: string;
  125243. /**
  125244. * The point's options as applied in the initial configuration, or extended
  125245. * through `Point.update`.
  125246. *
  125247. * In TypeScript you have to extend `PointOptionsObject` via an additional
  125248. * interface to allow custom data options: (see online documentation for
  125249. * example)
  125250. */
  125251. options: PointOptionsObject;
  125252. /**
  125253. * The percentage for points in a stacked series or pies.
  125254. */
  125255. percentage?: number;
  125256. /**
  125257. * Whether the point is selected or not.
  125258. */
  125259. selected: boolean;
  125260. /**
  125261. * The series object associated with the point.
  125262. */
  125263. series: Series;
  125264. /**
  125265. * Pie series only. Whether to display a slice offset from the center.
  125266. */
  125267. sliced?: boolean;
  125268. /**
  125269. * The total of values in either a stack for stacked series, or a pie in a
  125270. * pie series.
  125271. */
  125272. total?: number;
  125273. /**
  125274. * For certain series types, like pie charts, where individual points can be
  125275. * shown or hidden.
  125276. */
  125277. visible: boolean;
  125278. /**
  125279. * The x value of the point.
  125280. */
  125281. x: number;
  125282. /**
  125283. * The y value of the point.
  125284. */
  125285. y?: number;
  125286. /**
  125287. * Get the CSS class names for individual points. Used internally where the
  125288. * returned value is set on every point.
  125289. *
  125290. * @return The class names.
  125291. */
  125292. getClassName(): string;
  125293. /**
  125294. * Return the configuration hash needed for the data label and tooltip
  125295. * formatters.
  125296. *
  125297. * @return Abstract object used in formatters and formats.
  125298. */
  125299. getLabelConfig(): PointLabelObject;
  125300. /**
  125301. * In a series with `zones`, return the zone that the point belongs to.
  125302. *
  125303. * @return The zone item.
  125304. */
  125305. getZone(): SeriesZonesOptionsObject;
  125306. /**
  125307. * Get the path definition for the halo, which is usually a shadow-like
  125308. * circle around the currently hovered point.
  125309. *
  125310. * @param size
  125311. * The radius of the circular halo.
  125312. *
  125313. * @return The path definition.
  125314. */
  125315. haloPath(size: number): SVGPathArray;
  125316. /**
  125317. * Initialize the point. Called internally based on the `series.data`
  125318. * option.
  125319. *
  125320. * @param series
  125321. * The series object containing this point.
  125322. *
  125323. * @param options
  125324. * The data in either number, array or object format.
  125325. *
  125326. * @param x
  125327. * Optionally, the X value of the point.
  125328. *
  125329. * @return The Point instance.
  125330. *
  125331. * @fires Highcharts.Point#afterInit
  125332. */
  125333. init(series: Series, options: PointOptionsType, x?: number): Point;
  125334. /**
  125335. * Runs on mouse out from the point. Called internally from mouse and touch
  125336. * events.
  125337. *
  125338. * @fires Highcharts.Point#mouseOut
  125339. */
  125340. onMouseOut(): void;
  125341. /**
  125342. * Runs on mouse over the point. Called internally from mouse and touch
  125343. * events.
  125344. *
  125345. * @param e
  125346. * The event arguments.
  125347. */
  125348. onMouseOver(e?: PointerEventObject): void;
  125349. /**
  125350. * Transform number or array configs into objects. Also called for object
  125351. * configs. Used internally to unify the different configuration formats for
  125352. * points. For example, a simple number `10` in a line series will be
  125353. * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
  125354. * scatter series will be transformed to `{ x: 1, y: 10 }`.
  125355. *
  125356. * @param options
  125357. * The input option.
  125358. *
  125359. * @return Transformed options.
  125360. */
  125361. optionsToObject(options: PointOptionsType): Dictionary<any>;
  125362. /**
  125363. * Remove a point and optionally redraw the series and if necessary the axes
  125364. *
  125365. * @param redraw
  125366. * Whether to redraw the chart or wait for an explicit call. When
  125367. * doing more operations on the chart, for example running
  125368. * `point.remove()` in a loop, it is best practice to set `redraw` to
  125369. * false and call `chart.redraw()` after.
  125370. *
  125371. * @param animation
  125372. * Whether to apply animation, and optionally animation
  125373. * configuration.
  125374. */
  125375. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125376. /**
  125377. * Toggle the selection status of a point.
  125378. *
  125379. * @param selected
  125380. * When `true`, the point is selected. When `false`, the point is
  125381. * unselected. When `null` or `undefined`, the selection state is
  125382. * toggled.
  125383. *
  125384. * @param accumulate
  125385. * When `true`, the selection is added to other selected points. When
  125386. * `false`, other selected points are deselected. Internally in
  125387. * Highcharts, when allowPointSelect is `true`, selected points are
  125388. * accumulated on Control, Shift or Cmd clicking the point.
  125389. *
  125390. * @fires Highcharts.Point#select
  125391. * @fires Highcharts.Point#unselect
  125392. */
  125393. select(selected?: boolean, accumulate?: boolean): void;
  125394. /**
  125395. * Set a value in an object, on the property defined by key. The key
  125396. * supports nested properties using dot notation. The function modifies the
  125397. * input object and does not make a copy.
  125398. *
  125399. * @param object
  125400. * The object to set the value on.
  125401. *
  125402. * @param value
  125403. * The value to set.
  125404. *
  125405. * @param key
  125406. * Key to the property to set.
  125407. *
  125408. * @return The modified object.
  125409. */
  125410. setNestedProperty<T>(object: T, value: any, key: string): T;
  125411. /**
  125412. * Set the point's state.
  125413. *
  125414. * @param state
  125415. * The new state, can be one of `'hover'`, `'select'`, `'inactive'`,
  125416. * or `''` (an empty string), `'normal'` or `undefined` to set to
  125417. * normal state.
  125418. *
  125419. * @param move
  125420. * State for animation.
  125421. *
  125422. * @fires Highcharts.Point#afterSetState
  125423. */
  125424. setState(state?: (""|PointStateValue), move?: boolean): void;
  125425. /**
  125426. * Extendable method for formatting each point's tooltip line.
  125427. *
  125428. * @param pointFormat
  125429. * The point format.
  125430. *
  125431. * @return A string to be concatenated in to the common tooltip text.
  125432. */
  125433. tooltipFormatter(pointFormat: string): string;
  125434. /**
  125435. * Update point with new options (typically x/y data) and optionally redraw
  125436. * the series.
  125437. *
  125438. * @param options
  125439. * The point options. Point options are handled as described under
  125440. * the `series.type.data` item for each series type. For example for
  125441. * a line series, if options is a single number, the point will be
  125442. * given that number as the marin y value. If it is an array, it will
  125443. * be interpreted as x and y values respectively. If it is an object,
  125444. * advanced options are applied.
  125445. *
  125446. * @param redraw
  125447. * Whether to redraw the chart after the point is updated. If doing
  125448. * more operations on the chart, it is best practice to set `redraw`
  125449. * to false and call `chart.redraw()` after.
  125450. *
  125451. * @param animation
  125452. * Whether to apply animation, and optionally animation
  125453. * configuration.
  125454. *
  125455. * @fires Highcharts.Point#update
  125456. */
  125457. update(options: PointOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125458. }
  125459. /**
  125460. * The mouse and touch tracker object. Each Chart item has one assosiated
  125461. * Pointer item that can be accessed from the Chart.pointer property.
  125462. */
  125463. export class Pointer {
  125464. /**
  125465. * The mouse and touch tracker object. Each Chart item has one assosiated
  125466. * Pointer item that can be accessed from the Chart.pointer property.
  125467. *
  125468. * @param chart
  125469. * The chart instance.
  125470. *
  125471. * @param options
  125472. * The root options object. The pointer uses options from the chart
  125473. * and tooltip structures.
  125474. */
  125475. constructor(chart: Chart, options: Options);
  125476. /**
  125477. * Destroys the Pointer object and disconnects DOM events.
  125478. */
  125479. destroy(): void;
  125480. /**
  125481. * Finds the closest point to a set of coordinates, using the k-d-tree
  125482. * algorithm.
  125483. *
  125484. * @param series
  125485. * All the series to search in.
  125486. *
  125487. * @param shared
  125488. * Whether it is a shared tooltip or not.
  125489. *
  125490. * @param e
  125491. * The pointer event object, containing chart coordinates of the
  125492. * pointer.
  125493. *
  125494. * @return The point closest to given coordinates.
  125495. */
  125496. findNearestKDPoint(series: Array<Series>, shared: (boolean|undefined), e: PointerEventObject): (Point|undefined);
  125497. /**
  125498. * Return the cached chartPosition if it is available on the Pointer,
  125499. * otherwise find it. Running offset is quite expensive, so it should be
  125500. * avoided when we know the chart hasn't moved.
  125501. *
  125502. * @return The offset of the chart container within the page
  125503. */
  125504. getChartPosition(): ChartPositionObject;
  125505. /**
  125506. * Get the click position in terms of axis values.
  125507. *
  125508. * @param e
  125509. * Pointer event, extended with `chartX` and `chartY` properties.
  125510. */
  125511. getCoordinates(e: PointerEventObject): PointerAxisCoordinatesObject;
  125512. /**
  125513. * Utility to detect whether an element has, or has a parent with, a
  125514. * specificclass name. Used on detection of tracker objects and on deciding
  125515. * whether hovering the tooltip should cause the active series to mouse out.
  125516. *
  125517. * @param element
  125518. * The element to investigate.
  125519. *
  125520. * @param className
  125521. * The class name to look for.
  125522. *
  125523. * @return True if either the element or one of its parents has the given
  125524. * class name.
  125525. */
  125526. inClass(element: (HTMLDOMElement|SVGDOMElement), className: string): (boolean|undefined);
  125527. /**
  125528. * Takes a browser event object and extends it with custom Highcharts
  125529. * properties `chartX` and `chartY` in order to work on the internal
  125530. * coordinate system.
  125531. *
  125532. * @param e
  125533. * Event object in standard browsers.
  125534. *
  125535. * @param chartPosition
  125536. * Additional chart offset.
  125537. *
  125538. * @return A browser event with extended properties `chartX` and `chartY`.
  125539. */
  125540. normalize(e: (MouseEvent|PointerEvent|TouchEvent), chartPosition?: OffsetObject): PointerEventObject;
  125541. /**
  125542. * Reset the tracking by hiding the tooltip, the hover series state and the
  125543. * hover point
  125544. *
  125545. * @param allowMove
  125546. * Instead of destroying the tooltip altogether, allow moving it if
  125547. * possible.
  125548. */
  125549. reset(allowMove?: boolean, delay?: number): void;
  125550. }
  125551. /**
  125552. * This is the base series prototype that all other series types inherit from. A
  125553. * new series is initialized either through the series option structure, or
  125554. * after the chart is initialized, through Highcharts.Chart#addSeries.
  125555. *
  125556. * The object can be accessed in a number of ways. All series and point event
  125557. * handlers give a reference to the `series` object. The chart object has a
  125558. * series property that is a collection of all the chart's series. The point
  125559. * objects and axis objects also have the same reference.
  125560. *
  125561. * Another way to reference the series programmatically is by `id`. Add an id in
  125562. * the series configuration options, and get the series object by
  125563. * Highcharts.Chart#get.
  125564. *
  125565. * Configuration options for the series are given in three levels. Options for
  125566. * all series in a chart are given in the plotOptions.series object. Then
  125567. * options for all series of a specific type are given in the plotOptions of
  125568. * that type, for example `plotOptions.line`. Next, options for one single
  125569. * series are given in the series array, or as arguments to `chart.addSeries`.
  125570. *
  125571. * The data in the series is stored in various arrays.
  125572. *
  125573. * - First, `series.options.data` contains all the original config options for
  125574. * each point whether added by options or methods like `series.addPoint`.
  125575. *
  125576. * - Next, `series.data` contains those values converted to points, but in case
  125577. * the series data length exceeds the `cropThreshold`, or if the data is
  125578. * grouped, `series.data` doesn't contain all the points. It only contains the
  125579. * points that have been created on demand.
  125580. *
  125581. * - Then there's `series.points` that contains all currently visible point
  125582. * objects. In case of cropping, the cropped-away points are not part of this
  125583. * array. The `series.points` array starts at `series.cropStart` compared to
  125584. * `series.data` and `series.options.data`. If however the series data is
  125585. * grouped, these can't be correlated one to one.
  125586. *
  125587. * - `series.xData` and `series.processedXData` contain clean x values,
  125588. * equivalent to `series.data` and `series.points`.
  125589. *
  125590. * - `series.yData` and `series.processedYData` contain clean y values,
  125591. * equivalent to `series.data` and `series.points`.
  125592. */
  125593. export class Series {
  125594. /**
  125595. * This is the base series prototype that all other series types inherit
  125596. * from. A new series is initialized either through the series option
  125597. * structure, or after the chart is initialized, through
  125598. * Highcharts.Chart#addSeries.
  125599. *
  125600. * The object can be accessed in a number of ways. All series and point
  125601. * event handlers give a reference to the `series` object. The chart object
  125602. * has a series property that is a collection of all the chart's series. The
  125603. * point objects and axis objects also have the same reference.
  125604. *
  125605. * Another way to reference the series programmatically is by `id`. Add an
  125606. * id in the series configuration options, and get the series object by
  125607. * Highcharts.Chart#get.
  125608. *
  125609. * Configuration options for the series are given in three levels. Options
  125610. * for all series in a chart are given in the plotOptions.series object.
  125611. * Then options for all series of a specific type are given in the
  125612. * plotOptions of that type, for example `plotOptions.line`. Next, options
  125613. * for one single series are given in the series array, or as arguments to
  125614. * `chart.addSeries`.
  125615. *
  125616. * The data in the series is stored in various arrays.
  125617. *
  125618. * - First, `series.options.data` contains all the original config options
  125619. * for each point whether added by options or methods like
  125620. * `series.addPoint`.
  125621. *
  125622. * - Next, `series.data` contains those values converted to points, but in
  125623. * case the series data length exceeds the `cropThreshold`, or if the data
  125624. * is grouped, `series.data` doesn't contain all the points. It only
  125625. * contains the points that have been created on demand.
  125626. *
  125627. * - Then there's `series.points` that contains all currently visible point
  125628. * objects. In case of cropping, the cropped-away points are not part of
  125629. * this array. The `series.points` array starts at `series.cropStart`
  125630. * compared to `series.data` and `series.options.data`. If however the
  125631. * series data is grouped, these can't be correlated one to one.
  125632. *
  125633. * - `series.xData` and `series.processedXData` contain clean x values,
  125634. * equivalent to `series.data` and `series.points`.
  125635. *
  125636. * - `series.yData` and `series.processedYData` contain clean y values,
  125637. * equivalent to `series.data` and `series.points`.
  125638. *
  125639. * @param chart
  125640. * The chart instance.
  125641. *
  125642. * @param options
  125643. * The series options.
  125644. */
  125645. constructor(chart: Chart, options: (object|SeriesOptionsType));
  125646. /**
  125647. * SVG element of area-based charts. Can be used for styling purposes. If
  125648. * zones are configured, this element will be hidden and replaced by
  125649. * multiple zone areas, accessible via `series['zone-area-x']` (where x is a
  125650. * number, starting with 0).
  125651. */
  125652. area?: SVGElement;
  125653. /**
  125654. * Read only. The chart that the series belongs to.
  125655. */
  125656. chart: Chart;
  125657. /**
  125658. * Read only. An array containing those values converted to points. In case
  125659. * the series data length exceeds the `cropThreshold`, or if the data is
  125660. * grouped, `series.data` doesn't contain all the points. Also, in case a
  125661. * series is hidden, the `data` array may be empty. To access raw values,
  125662. * `series.options.data` will always be up to date. `Series.data` only
  125663. * contains the points that have been created on demand. To modify the data,
  125664. * use Highcharts.Series#setData or Highcharts.Point#update.
  125665. */
  125666. data: Array<Point>;
  125667. /**
  125668. * Contains the maximum value of the series' data point. Some series types
  125669. * like `networkgraph` do not support this property as they lack a
  125670. * `y`-value.
  125671. */
  125672. readonly dataMax?: number;
  125673. /**
  125674. * Contains the minimum value of the series' data point. Some series types
  125675. * like `networkgraph` do not support this property as they lack a
  125676. * `y`-value.
  125677. */
  125678. readonly dataMin?: number;
  125679. /**
  125680. * SVG element of line-based charts. Can be used for styling purposes. If
  125681. * zones are configured, this element will be hidden and replaced by
  125682. * multiple zone lines, accessible via `series['zone-graph-x']` (where x is
  125683. * a number, starting with 0).
  125684. */
  125685. graph?: SVGElement;
  125686. /**
  125687. * Contains the series' index in the `Chart.series` array.
  125688. */
  125689. readonly index: number;
  125690. /**
  125691. * The series name as given in the options. Defaults to "Series {n}".
  125692. */
  125693. name: string;
  125694. /**
  125695. * Read only. The series' current options. To update, use Series#update.
  125696. */
  125697. options: SeriesOptionsType;
  125698. /**
  125699. * An array containing all currently visible point objects. In case of
  125700. * cropping, the cropped-away points are not part of this array. The
  125701. * `series.points` array starts at `series.cropStart` compared to
  125702. * `series.data` and `series.options.data`. If however the series data is
  125703. * grouped, these can't be correlated one to one. To modify the data, use
  125704. * Highcharts.Series#setData or Highcharts.Point#update.
  125705. */
  125706. points: Array<Point>;
  125707. /**
  125708. * Read only. The series' selected state as set by Highcharts.Series#select.
  125709. */
  125710. selected: boolean;
  125711. /**
  125712. * Read only. The series' type, like "line", "area", "column" etc. The type
  125713. * in the series options anc can be altered using Series#update.
  125714. */
  125715. type: string;
  125716. /**
  125717. * Contains series options by the user without defaults.
  125718. */
  125719. userOptions: SeriesOptionsType;
  125720. /**
  125721. * Read only. The series' visibility state as set by Series#show,
  125722. * Series#hide, or in the initial configuration.
  125723. */
  125724. visible: boolean;
  125725. /**
  125726. * Read only. The unique xAxis object associated with the series.
  125727. */
  125728. xAxis: Axis;
  125729. /**
  125730. * Read only. The unique yAxis object associated with the series.
  125731. */
  125732. yAxis: Axis;
  125733. /**
  125734. * Add a point to the series after render time. The point can be added at
  125735. * the end, or by giving it an X value, to the start or in the middle of the
  125736. * series.
  125737. *
  125738. * @param options
  125739. * The point options. If options is a single number, a point with
  125740. * that y value is appended to the series. If it is an array, it will
  125741. * be interpreted as x and y values respectively. If it is an object,
  125742. * advanced options as outlined under `series.data` are applied.
  125743. *
  125744. * @param redraw
  125745. * Whether to redraw the chart after the point is added. When adding
  125746. * more than one point, it is highly recommended that the redraw
  125747. * option be set to false, and instead Chart#redraw is explicitly
  125748. * called after the adding of points is finished. Otherwise, the
  125749. * chart will redraw after adding each point.
  125750. *
  125751. * @param shift
  125752. * If true, a point is shifted off the start of the series as one is
  125753. * appended to the end.
  125754. *
  125755. * @param animation
  125756. * Whether to apply animation, and optionally animation
  125757. * configuration.
  125758. *
  125759. * @param withEvent
  125760. * Used internally, whether to fire the series `addPoint` event.
  125761. *
  125762. * @fires Highcharts.Series#addPoint
  125763. */
  125764. addPoint(options: PointOptionsType, redraw?: boolean, shift?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  125765. /**
  125766. * Animate in the series. Called internally twice. First with the `init`
  125767. * parameter set to true, which sets up the initial state of the animation.
  125768. * Then when ready, it is called with the `init` parameter undefined, in
  125769. * order to perform the actual animation. After the second run, the function
  125770. * is removed.
  125771. *
  125772. * @param init
  125773. * Initialize the animation.
  125774. */
  125775. animate(init?: boolean): void;
  125776. /**
  125777. * Draw the graph. Called internally when rendering line-like series types.
  125778. * The first time it generates the `series.graph` item and optionally other
  125779. * series-wide items like `series.area` for area charts. On subsequent calls
  125780. * these items are updated with new positions and attributes.
  125781. */
  125782. drawGraph(): void;
  125783. /**
  125784. * Draw the markers for line-like series types, and columns or other
  125785. * graphical representation for Point objects for other series types. The
  125786. * resulting element is typically stored as Point.graphic, and is created on
  125787. * the first call and updated and moved on subsequent calls.
  125788. */
  125789. drawPoints(): void;
  125790. /**
  125791. * Return series name in "Series {Number}" format or the one defined by a
  125792. * user. This method can be simply overridden as series name format can vary
  125793. * (e.g. technical indicators).
  125794. *
  125795. * @return The series name.
  125796. */
  125797. getName(): string;
  125798. /**
  125799. * Get the translation and scale for the plot area of this series.
  125800. */
  125801. getPlotBox(): SeriesPlotBoxObject;
  125802. /**
  125803. * Return the series points with null points filtered out.
  125804. *
  125805. * @param points
  125806. * The points to inspect, defaults to Series.points.
  125807. *
  125808. * @param insideOnly
  125809. * Whether to inspect only the points that are inside the visible
  125810. * view.
  125811. *
  125812. * @param allowNull
  125813. * Whether to allow null points to pass as valid points.
  125814. *
  125815. * @return The valid points.
  125816. */
  125817. getValidPoints(points?: Array<Point>, insideOnly?: boolean, allowNull?: boolean): Array<Point>;
  125818. /**
  125819. * Hide the series if visible. If the chart.ignoreHiddenSeries option is
  125820. * true, the chart is redrawn without this series.
  125821. *
  125822. * @fires Highcharts.Series#hide
  125823. */
  125824. hide(): void;
  125825. /**
  125826. * Check whether the series item is itself or inherits from a certain series
  125827. * type.
  125828. *
  125829. * @param type
  125830. * The type of series to check for, can be either featured or custom
  125831. * series types. For example `column`, `pie`, `ohlc` etc.
  125832. *
  125833. * @return True if this item is or inherits from the given type.
  125834. */
  125835. is(type: string): boolean;
  125836. /**
  125837. * Get non-presentational attributes for a point. Used internally for both
  125838. * styled mode and classic. Can be overridden for different series types.
  125839. *
  125840. * @param point
  125841. * The Point to inspect.
  125842. *
  125843. * @param state
  125844. * The state, can be either `hover`, `select` or undefined.
  125845. *
  125846. * @return A hash containing those attributes that are not settable from
  125847. * CSS.
  125848. */
  125849. markerAttribs(point: Point, state?: string): SVGAttributes;
  125850. /**
  125851. * Runs on mouse out of the series graphical items.
  125852. *
  125853. * @fires Highcharts.Series#mouseOut
  125854. */
  125855. onMouseOut(): void;
  125856. /**
  125857. * Runs on mouse over the series graphical items.
  125858. *
  125859. * @fires Highcharts.Series#mouseOver
  125860. */
  125861. onMouseOver(): void;
  125862. /**
  125863. * Remove a series and optionally redraw the chart.
  125864. *
  125865. * @param redraw
  125866. * Whether to redraw the chart or wait for an explicit call to
  125867. * Highcharts.Chart#redraw.
  125868. *
  125869. * @param animation
  125870. * Whether to apply animation, and optionally animation
  125871. * configuration.
  125872. *
  125873. * @param withEvent
  125874. * Used internally, whether to fire the series `remove` event.
  125875. *
  125876. * @fires Highcharts.Series#remove
  125877. */
  125878. remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
  125879. /**
  125880. * Remove a point from the series. Unlike the Highcharts.Point#remove
  125881. * method, this can also be done on a point that is not instanciated because
  125882. * it is outside the view or subject to Highcharts Stock data grouping.
  125883. *
  125884. * @param i
  125885. * The index of the point in the data array.
  125886. *
  125887. * @param redraw
  125888. * Whether to redraw the chart after the point is added. When
  125889. * removing more than one point, it is highly recommended that the
  125890. * `redraw` option be set to `false`, and instead
  125891. * Highcharts.Chart#redraw is explicitly called after the adding of
  125892. * points is finished.
  125893. *
  125894. * @param animation
  125895. * Whether and optionally how the series should be animated.
  125896. *
  125897. * @fires Highcharts.Point#remove
  125898. */
  125899. removePoint(i: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
  125900. /**
  125901. * Render the graph and markers. Called internally when first rendering and
  125902. * later when redrawing the chart. This function can be extended in plugins,
  125903. * but normally shouldn't be called directly.
  125904. *
  125905. * @fires Highcharts.Series#afterRender
  125906. */
  125907. render(): void;
  125908. /**
  125909. * Select or unselect the series. This means its selected property is set,
  125910. * the checkbox in the legend is toggled and when selected, the series is
  125911. * returned by the Highcharts.Chart#getSelectedSeries function.
  125912. *
  125913. * @param selected
  125914. * True to select the series, false to unselect. If undefined, the
  125915. * selection state is toggled.
  125916. *
  125917. * @fires Highcharts.Series#select
  125918. * @fires Highcharts.Series#unselect
  125919. */
  125920. select(selected?: boolean): void;
  125921. /**
  125922. * Apply a new set of data to the series and optionally redraw it. The new
  125923. * data array is passed by reference (except in case of `updatePoints`), and
  125924. * may later be mutated when updating the chart data.
  125925. *
  125926. * Note the difference in behaviour when setting the same amount of points,
  125927. * or a different amount of points, as handled by the `updatePoints`
  125928. * parameter.
  125929. *
  125930. * @param data
  125931. * Takes an array of data in the same format as described under
  125932. * `series.{type}.data` for the given series type, for example a line
  125933. * series would take data in the form described under
  125934. * series.line.data.
  125935. *
  125936. * @param redraw
  125937. * Whether to redraw the chart after the series is altered. If doing
  125938. * more operations on the chart, it is a good idea to set redraw to
  125939. * false and call Chart#redraw after.
  125940. *
  125941. * @param animation
  125942. * When the updated data is the same length as the existing data,
  125943. * points will be updated by default, and animation visualizes how
  125944. * the points are changed. Set false to disable animation, or a
  125945. * configuration object to set duration or easing.
  125946. *
  125947. * @param updatePoints
  125948. * When this is true, points will be updated instead of replaced
  125949. * whenever possible. This occurs a) when the updated data is the
  125950. * same length as the existing data, b) when points are matched by
  125951. * their id's, or c) when points can be matched by X values. This
  125952. * allows updating with animation and performs better. In this case,
  125953. * the original array is not passed by reference. Set `false` to
  125954. * prevent.
  125955. */
  125956. setData(data: Array<PointOptionsType>, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), updatePoints?: boolean): void;
  125957. /**
  125958. * Set the state of the series. Called internally on mouse interaction
  125959. * operations, but it can also be called directly to visually highlight a
  125960. * series.
  125961. *
  125962. * @param state
  125963. * The new state, can be either `'hover'`, `'inactive'`, `'select'`,
  125964. * or `''` (an empty string), `'normal'` or `undefined` to set to
  125965. * normal state.
  125966. *
  125967. * @param inherit
  125968. * Determines if state should be inherited by points too.
  125969. */
  125970. setState(state?: (""|SeriesStateValue), inherit?: boolean): void;
  125971. /**
  125972. * Show or hide the series.
  125973. *
  125974. * @param visible
  125975. * True to show the series, false to hide. If undefined, the
  125976. * visibility is toggled.
  125977. *
  125978. * @param redraw
  125979. * Whether to redraw the chart after the series is altered. If doing
  125980. * more operations on the chart, it is a good idea to set redraw to
  125981. * false and call chart.redraw() after.
  125982. *
  125983. * @fires Highcharts.Series#hide
  125984. * @fires Highcharts.Series#show
  125985. */
  125986. setVisible(visible?: boolean, redraw?: boolean): void;
  125987. /**
  125988. * Show the series if hidden.
  125989. *
  125990. * @fires Highcharts.Series#show
  125991. */
  125992. show(): void;
  125993. /**
  125994. * Translate data points from raw data values to chart specific positioning
  125995. * data needed later in the `drawPoints` and `drawGraph` functions. This
  125996. * function can be overridden in plugins and custom series type
  125997. * implementations.
  125998. *
  125999. * @fires Highcharts.Series#events:translate
  126000. */
  126001. translate(): void;
  126002. /**
  126003. * Update the series with a new set of options. For a clean and precise
  126004. * handling of new options, all methods and elements from the series are
  126005. * removed, and it is initialized from scratch. Therefore, this method is
  126006. * more performance expensive than some other utility methods like
  126007. * Series#setData or Series#setVisible.
  126008. *
  126009. * Note that `Series.update` may mutate the passed `data` options.
  126010. *
  126011. * @param options
  126012. * New options that will be merged with the series' existing options.
  126013. *
  126014. * @param redraw
  126015. * Whether to redraw the chart after the series is altered. If doing
  126016. * more operations on the chart, it is a good idea to set redraw to
  126017. * false and call Chart#redraw after.
  126018. *
  126019. * @fires Highcharts.Series#update
  126020. * @fires Highcharts.Series#afterUpdate
  126021. */
  126022. update(options: SeriesOptionsType, redraw?: boolean): void;
  126023. }
  126024. /**
  126025. * The SVGElement prototype is a JavaScript wrapper for SVG elements used in the
  126026. * rendering layer of Highcharts. Combined with the Highcharts.SVGRenderer
  126027. * object, these prototypes allow freeform annotation in the charts or even in
  126028. * HTML pages without instanciating a chart. The SVGElement can also wrap HTML
  126029. * labels, when `text` or `label` elements are created with the `useHTML`
  126030. * parameter.
  126031. *
  126032. * The SVGElement instances are created through factory functions on the
  126033. * Highcharts.SVGRenderer object, like rect, path, text, label, g and more.
  126034. */
  126035. export class SVGElement {
  126036. /**
  126037. * The primary DOM node. Each `SVGElement` instance wraps a main DOM node,
  126038. * but may also represent more nodes.
  126039. */
  126040. element: (HTMLDOMElement|SVGDOMElement);
  126041. /**
  126042. * The renderer that the SVGElement belongs to.
  126043. */
  126044. renderer: SVGRenderer;
  126045. /**
  126046. * Add the element to the DOM. All elements must be added this way.
  126047. *
  126048. * @param parent
  126049. * The parent item to add it to. If undefined, the element is added
  126050. * to the Highcharts.SVGRenderer.box.
  126051. *
  126052. * @return Returns the SVGElement for chaining.
  126053. */
  126054. add(parent?: SVGElement): SVGElement;
  126055. /**
  126056. * Add a class name to an element.
  126057. *
  126058. * @param className
  126059. * The new class name to add.
  126060. *
  126061. * @param replace
  126062. * When true, the existing class name(s) will be overwritten with the
  126063. * new one. When false, the new one is added.
  126064. *
  126065. * @return Return the SVG element for chainability.
  126066. */
  126067. addClass(className: string, replace?: boolean): SVGElement;
  126068. /**
  126069. * Align the element relative to the chart or another box.
  126070. *
  126071. * @param alignOptions
  126072. * The alignment options. The function can be called without this
  126073. * parameter in order to re-align an element after the box has been
  126074. * updated.
  126075. *
  126076. * @param alignByTranslate
  126077. * Align element by translation.
  126078. *
  126079. * @param box
  126080. * The box to align to, needs a width and height. When the box is a
  126081. * string, it refers to an object in the Renderer. For example, when
  126082. * box is `spacingBox`, it refers to `Renderer.spacingBox` which
  126083. * holds `width`, `height`, `x` and `y` properties.
  126084. *
  126085. * @return Returns the SVGElement for chaining.
  126086. */
  126087. align(alignOptions?: AlignObject, alignByTranslate?: boolean, box?: (string|BBoxObject)): SVGElement;
  126088. /**
  126089. * Animate to given attributes or CSS properties.
  126090. *
  126091. * @param params
  126092. * SVG attributes or CSS to animate.
  126093. *
  126094. * @param options
  126095. * Animation options.
  126096. *
  126097. * @param complete
  126098. * Function to perform at the end of animation.
  126099. *
  126100. * @return Returns the SVGElement for chaining.
  126101. */
  126102. animate(params: SVGAttributes, options?: (boolean|Partial<AnimationOptionsObject>), complete?: Function): SVGElement;
  126103. attr(key: string): (number|string);
  126104. /**
  126105. * Apply native and custom attributes to the SVG elements.
  126106. *
  126107. * In order to set the rotation center for rotation, set x and y to 0 and
  126108. * use `translateX` and `translateY` attributes to position the element
  126109. * instead.
  126110. *
  126111. * Attributes frequently used in Highcharts are `fill`, `stroke`,
  126112. * `stroke-width`.
  126113. *
  126114. * @param hash
  126115. * The native and custom SVG attributes.
  126116. *
  126117. * @param val
  126118. * If the type of the first argument is `string`, the second can be a
  126119. * value, which will serve as a single attribute setter. If the first
  126120. * argument is a string and the second is undefined, the function
  126121. * serves as a getter and the current value of the property is
  126122. * returned.
  126123. *
  126124. * @param complete
  126125. * A callback function to execute after setting the attributes. This
  126126. * makes the function compliant and interchangeable with the
  126127. * SVGElement#animate function.
  126128. *
  126129. * @param continueAnimation
  126130. * Used internally when `.attr` is called as part of an animation
  126131. * step. Otherwise, calling `.attr` for an attribute will stop
  126132. * animation for that attribute.
  126133. *
  126134. * @return If used as a setter, it returns the current Highcharts.SVGElement
  126135. * so the calls can be chained. If used as a getter, the current
  126136. * value of the attribute is returned.
  126137. */
  126138. attr(hash?: (string|SVGAttributes), val?: (number|string|SVGPathArray), complete?: Function, continueAnimation?: boolean): SVGElement;
  126139. /**
  126140. * Apply a clipping rectangle to this element.
  126141. *
  126142. * @param clipRect
  126143. * The clipping rectangle. If skipped, the current clip is removed.
  126144. *
  126145. * @return Returns the SVG element to allow chaining.
  126146. */
  126147. clip(clipRect?: ClipRectElement): SVGElement;
  126148. /**
  126149. * Calculate the coordinates needed for drawing a rectangle crisply and
  126150. * return the calculated attributes.
  126151. *
  126152. * @param rect
  126153. * Rectangle to crisp.
  126154. *
  126155. * @param strokeWidth
  126156. * The stroke width to consider when computing crisp positioning. It
  126157. * can also be set directly on the rect parameter.
  126158. *
  126159. * @return The modified rectangle arguments.
  126160. */
  126161. crisp(rect: RectangleObject, strokeWidth?: number): RectangleObject;
  126162. /**
  126163. * Set styles for the element. In addition to CSS styles supported by native
  126164. * SVG and HTML elements, there are also some custom made for Highcharts,
  126165. * like `width`, `ellipsis` and `textOverflow` for SVG text elements.
  126166. *
  126167. * @param styles
  126168. * The new CSS styles.
  126169. *
  126170. * @return Return the SVG element for chaining.
  126171. */
  126172. css(styles: CSSObject): SVGElement;
  126173. /**
  126174. * Destroy the element and element wrapper and clear up the DOM and event
  126175. * hooks.
  126176. */
  126177. destroy(): void;
  126178. /**
  126179. * Fade out an element by animating its opacity down to 0, and hide it on
  126180. * complete. Used internally for the tooltip.
  126181. *
  126182. * @param duration
  126183. * The fade duration in milliseconds.
  126184. */
  126185. fadeOut(duration?: number): void;
  126186. /**
  126187. * Get the bounding box (width, height, x and y) for the element. Generally
  126188. * used to get rendered text size. Since this is called a lot in charts, the
  126189. * results are cached based on text properties, in order to save DOM
  126190. * traffic. The returned bounding box includes the rotation, so for example
  126191. * a single text line of rotation 90 will report a greater height, and a
  126192. * width corresponding to the line-height.
  126193. *
  126194. * @param reload
  126195. * Skip the cache and get the updated DOM bouding box.
  126196. *
  126197. * @param rot
  126198. * Override the element's rotation. This is internally used on axis
  126199. * labels with a value of 0 to find out what the bounding box would
  126200. * be have been if it were not rotated.
  126201. *
  126202. * @return The bounding box with `x`, `y`, `width` and `height` properties.
  126203. */
  126204. getBBox(reload?: boolean, rot?: number): BBoxObject;
  126205. /**
  126206. * Get the computed style. Only in styled mode.
  126207. *
  126208. * @param prop
  126209. * The property name to check for.
  126210. *
  126211. * @return The current computed value.
  126212. */
  126213. getStyle(prop: string): string;
  126214. /**
  126215. * Check if an element has the given class name.
  126216. *
  126217. * @param className
  126218. * The class name to check for.
  126219. *
  126220. * @return Whether the class name is found.
  126221. */
  126222. hasClass(className: string): boolean;
  126223. /**
  126224. * Hide the element, similar to setting the `visibility` attribute to
  126225. * `hidden`.
  126226. *
  126227. * @param hideByTranslation
  126228. * The flag to determine if element should be hidden by moving out of
  126229. * the viewport. Used for example for dataLabels.
  126230. *
  126231. * @return Returns the SVGElement for chaining.
  126232. */
  126233. hide(hideByTranslation?: boolean): SVGElement;
  126234. /**
  126235. * Initialize the SVG element. This function only exists to make the
  126236. * initialization process overridable. It should not be called directly.
  126237. *
  126238. * @param renderer
  126239. * The SVGRenderer instance to initialize to.
  126240. *
  126241. * @param nodeName
  126242. * The SVG node name.
  126243. */
  126244. init(renderer: SVGRenderer, nodeName: string): void;
  126245. /**
  126246. * Invert a group, rotate and flip. This is used internally on inverted
  126247. * charts, where the points and graphs are drawn as if not inverted, then
  126248. * the series group elements are inverted.
  126249. *
  126250. * @param inverted
  126251. * Whether to invert or not. An inverted shape can be un-inverted by
  126252. * setting it to false.
  126253. *
  126254. * @return Return the SVGElement for chaining.
  126255. */
  126256. invert(inverted: boolean): SVGElement;
  126257. /**
  126258. * Add an event listener. This is a simple setter that replaces the previous
  126259. * event of the same type added by this function, as opposed to the
  126260. * Highcharts#addEvent function.
  126261. *
  126262. * @param eventType
  126263. * The event type.
  126264. *
  126265. * @param handler
  126266. * The handler callback.
  126267. *
  126268. * @return The SVGElement for chaining.
  126269. */
  126270. on(eventType: string, handler: Function): SVGElement;
  126271. /**
  126272. * Remove a class name from the element.
  126273. *
  126274. * @param className
  126275. * The class name to remove.
  126276. *
  126277. * @return Returns the SVG element for chainability.
  126278. */
  126279. removeClass(className: (string|RegExp)): SVGElement;
  126280. /**
  126281. * Set the coordinates needed to draw a consistent radial gradient across a
  126282. * shape regardless of positioning inside the chart. Used on pie slices to
  126283. * make all the slices have the same radial reference point.
  126284. *
  126285. * @param coordinates
  126286. * The center reference. The format is `[centerX, centerY, diameter]`
  126287. * in pixels.
  126288. *
  126289. * @return Returns the SVGElement for chaining.
  126290. */
  126291. setRadialReference(coordinates: Array<number>): SVGElement;
  126292. /**
  126293. * Add a shadow to the element. Must be called after the element is added to
  126294. * the DOM. In styled mode, this method is not used, instead use `defs` and
  126295. * filters.
  126296. *
  126297. * @param shadowOptions
  126298. * The shadow options. If `true`, the default options are applied. If
  126299. * `false`, the current shadow will be removed.
  126300. *
  126301. * @param group
  126302. * The SVG group element where the shadows will be applied. The
  126303. * default is to add it to the same parent as the current element.
  126304. * Internally, this is ised for pie slices, where all the shadows are
  126305. * added to an element behind all the slices.
  126306. *
  126307. * @param cutOff
  126308. * Used internally for column shadows.
  126309. *
  126310. * @return Returns the SVGElement for chaining.
  126311. */
  126312. shadow(shadowOptions?: (boolean|ShadowOptionsObject), group?: SVGElement, cutOff?: boolean): SVGElement;
  126313. /**
  126314. * Show the element after it has been hidden.
  126315. *
  126316. * @param inherit
  126317. * Set the visibility attribute to `inherit` rather than `visible`.
  126318. * The difference is that an element with `visibility="visible"` will
  126319. * be visible even if the parent is hidden.
  126320. *
  126321. * @return Returns the SVGElement for chaining.
  126322. */
  126323. show(inherit?: boolean): SVGElement;
  126324. /**
  126325. * Get the computed stroke width in pixel values. This is used extensively
  126326. * when drawing shapes to ensure the shapes are rendered crisp and
  126327. * positioned correctly relative to each other. Using `shape-rendering:
  126328. * crispEdges` leaves us less control over positioning, for example when we
  126329. * want to stack columns next to each other, or position things
  126330. * pixel-perfectly within the plot box.
  126331. *
  126332. * The common pattern when placing a shape is:
  126333. *
  126334. * - Create the SVGElement and add it to the DOM. In styled mode, it will
  126335. * now receive a stroke width from the style sheet. In classic mode we will
  126336. * add the `stroke-width` attribute.
  126337. *
  126338. * - Read the computed `elem.strokeWidth()`.
  126339. *
  126340. * - Place it based on the stroke width.
  126341. *
  126342. * @return The stroke width in pixels. Even if the given stroke widtch (in
  126343. * CSS or by attributes) is based on `em` or other units, the pixel
  126344. * size is returned.
  126345. */
  126346. strokeWidth(): number;
  126347. /**
  126348. * Bring the element to the front. Alternatively, a new zIndex can be set.
  126349. *
  126350. * @return Returns the SVGElement for chaining.
  126351. */
  126352. toFront(): SVGElement;
  126353. /**
  126354. * Move an object and its children by x and y values.
  126355. *
  126356. * @param x
  126357. * The x value.
  126358. *
  126359. * @param y
  126360. * The y value.
  126361. */
  126362. translate(x: number, y: number): SVGElement;
  126363. }
  126364. /**
  126365. * Allows direct access to the Highcharts rendering layer in order to draw
  126366. * primitive shapes like circles, rectangles, paths or text directly on a chart,
  126367. * or independent from any chart. The SVGRenderer represents a wrapper object
  126368. * for SVG in modern browsers. Through the VMLRenderer, part of the `oldie.js`
  126369. * module, it also brings vector graphics to IE <= 8.
  126370. *
  126371. * An existing chart's renderer can be accessed through Chart.renderer. The
  126372. * renderer can also be used completely decoupled from a chart.
  126373. */
  126374. export class SVGRenderer {
  126375. /**
  126376. * Allows direct access to the Highcharts rendering layer in order to draw
  126377. * primitive shapes like circles, rectangles, paths or text directly on a
  126378. * chart, or independent from any chart. The SVGRenderer represents a
  126379. * wrapper object for SVG in modern browsers. Through the VMLRenderer, part
  126380. * of the `oldie.js` module, it also brings vector graphics to IE <= 8.
  126381. *
  126382. * An existing chart's renderer can be accessed through Chart.renderer. The
  126383. * renderer can also be used completely decoupled from a chart.
  126384. *
  126385. * @param container
  126386. * Where to put the SVG in the web page.
  126387. *
  126388. * @param width
  126389. * The width of the SVG.
  126390. *
  126391. * @param height
  126392. * The height of the SVG.
  126393. *
  126394. * @param style
  126395. * The box style, if not in styleMode
  126396. *
  126397. * @param forExport
  126398. * Whether the rendered content is intended for export.
  126399. *
  126400. * @param allowHTML
  126401. * Whether the renderer is allowed to include HTML text, which will
  126402. * be projected on top of the SVG.
  126403. *
  126404. * @param styledMode
  126405. * Whether the renderer belongs to a chart that is in styled mode. If
  126406. * it does, it will avoid setting presentational attributes in some
  126407. * cases, but not when set explicitly through `.attr` and `.css` etc.
  126408. */
  126409. constructor(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean);
  126410. /**
  126411. * The root `svg` node of the renderer.
  126412. */
  126413. box: SVGDOMElement;
  126414. /**
  126415. * The wrapper for the root `svg` node of the renderer.
  126416. */
  126417. boxWrapper: SVGElement;
  126418. /**
  126419. * A pointer to the `defs` node of the root SVG.
  126420. */
  126421. defs: SVGElement;
  126422. /**
  126423. * A pointer to the renderer's associated Element class. The VMLRenderer
  126424. * will have a pointer to VMLElement here.
  126425. */
  126426. Element: SVGElement;
  126427. /**
  126428. * A collection of characters mapped to HTML entities. When `useHTML` on an
  126429. * element is true, these entities will be rendered correctly by HTML. In
  126430. * the SVG pseudo-HTML, they need to be unescaped back to simple characters,
  126431. * so for example `&lt;` will render as `<`.
  126432. */
  126433. escapes: Dictionary<string>;
  126434. /**
  126435. * An extendable collection of functions for defining symbol paths.
  126436. */
  126437. symbols: SymbolDictionary;
  126438. /**
  126439. * Draw and return an arc. Overloaded function that takes arguments object.
  126440. *
  126441. * @param attribs
  126442. * Initial SVG attributes.
  126443. *
  126444. * @return The generated wrapper element.
  126445. */
  126446. arc(attribs: SVGAttributes): SVGElement;
  126447. /**
  126448. * Draw and return an arc.
  126449. *
  126450. * @param x
  126451. * Center X position.
  126452. *
  126453. * @param y
  126454. * Center Y position.
  126455. *
  126456. * @param r
  126457. * The outer radius' of the arc.
  126458. *
  126459. * @param innerR
  126460. * Inner radius like used in donut charts.
  126461. *
  126462. * @param start
  126463. * The starting angle of the arc in radians, where 0 is to the right
  126464. * and `-Math.PI/2` is up.
  126465. *
  126466. * @param end
  126467. * The ending angle of the arc in radians, where 0 is to the right
  126468. * and `-Math.PI/2` is up.
  126469. *
  126470. * @return The generated wrapper element.
  126471. */
  126472. arc(x?: number, y?: number, r?: number, innerR?: number, start?: number, end?: number): SVGElement;
  126473. /**
  126474. * Create a button with preset states.
  126475. *
  126476. * @param text
  126477. * The text or HTML to draw.
  126478. *
  126479. * @param x
  126480. * The x position of the button's left side.
  126481. *
  126482. * @param y
  126483. * The y position of the button's top side.
  126484. *
  126485. * @param callback
  126486. * The function to execute on button click or touch.
  126487. *
  126488. * @param theme
  126489. * SVG attributes for the normal state.
  126490. *
  126491. * @param hoverState
  126492. * SVG attributes for the hover state.
  126493. *
  126494. * @param pressedState
  126495. * SVG attributes for the pressed state.
  126496. *
  126497. * @param disabledState
  126498. * SVG attributes for the disabled state.
  126499. *
  126500. * @param shape
  126501. * The shape type.
  126502. *
  126503. * @param useHTML
  126504. * Wether to use HTML to render the label.
  126505. *
  126506. * @return The button element.
  126507. */
  126508. button(text: string, x: number, y: number, callback: EventCallbackFunction<SVGElement>, theme?: SVGAttributes, hoverState?: SVGAttributes, pressedState?: SVGAttributes,
  126509. disabledState?: SVGAttributes, shape?: SymbolKeyValue, useHTML?: boolean): SVGElement;
  126510. /**
  126511. * Draw a circle, wraps the SVG `circle` element.
  126512. *
  126513. * @param attribs
  126514. * The initial attributes.
  126515. *
  126516. * @return The generated wrapper element.
  126517. */
  126518. circle(attribs?: SVGAttributes): SVGElement;
  126519. /**
  126520. * Draw a circle, wraps the SVG `circle` element.
  126521. *
  126522. * @param x
  126523. * The center x position.
  126524. *
  126525. * @param y
  126526. * The center y position.
  126527. *
  126528. * @param r
  126529. * The radius.
  126530. *
  126531. * @return The generated wrapper element.
  126532. */
  126533. circle(x?: number, y?: number, r?: number): SVGElement;
  126534. /**
  126535. * Define a clipping rectangle. The clipping rectangle is later applied to
  126536. * SVGElement objects through the SVGElement#clip function.
  126537. *
  126538. * @return A clipping rectangle.
  126539. */
  126540. clipRect(x?: number, y?: number, width?: number, height?: number): ClipRectElement;
  126541. /**
  126542. * Create a wrapper for an SVG element. Serves as a factory for SVGElement,
  126543. * but this function is itself mostly called from primitive factories like
  126544. * SVGRenderer#path, SVGRenderer#rect or SVGRenderer#text.
  126545. *
  126546. * @param nodeName
  126547. * The node name, for example `rect`, `g` etc.
  126548. *
  126549. * @return The generated SVGElement.
  126550. */
  126551. createElement(nodeName: string): SVGElement;
  126552. /**
  126553. * Make a straight line crisper by not spilling out to neighbour pixels.
  126554. *
  126555. * @param points
  126556. * The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.
  126557. *
  126558. * @param width
  126559. * The width of the line.
  126560. *
  126561. * @param roundingFunction
  126562. * The rounding function name on the `Math` object, can be one of
  126563. * `round`, `floor` or `ceil`.
  126564. *
  126565. * @return The original points array, but modified to render crisply.
  126566. */
  126567. crispLine(points: SVGPathArray, width: number, roundingFunction?: string): SVGPathArray;
  126568. /**
  126569. * General method for adding a definition to the SVG `defs` tag. Can be used
  126570. * for gradients, fills, filters etc. Styled mode only. A hook for adding
  126571. * general definitions to the SVG's defs tag. Definitions can be referenced
  126572. * from the CSS by its `id`. Read more in gradients, shadows and patterns.
  126573. * Styled mode only.
  126574. *
  126575. * @param def
  126576. * A serialized form of an SVG definition, including children.
  126577. *
  126578. * @return The inserted node.
  126579. */
  126580. definition(def: ASTNode): SVGElement;
  126581. /**
  126582. * Destroys the renderer and its allocated members.
  126583. */
  126584. destroy(): null;
  126585. /**
  126586. * Dummy function for plugins, called every time the renderer is updated.
  126587. * Prior to Highcharts 5, this was used for the canvg renderer.
  126588. */
  126589. draw(): void;
  126590. /**
  126591. * Utility to return the baseline offset and total line height from the font
  126592. * size.
  126593. *
  126594. * @param fontSize
  126595. * The current font size to inspect. If not given, the font size will
  126596. * be found from the DOM element.
  126597. *
  126598. * @param elem
  126599. * The element to inspect for a current font size.
  126600. *
  126601. * @return The font metrics.
  126602. */
  126603. fontMetrics(fontSize?: (number|string), elem?: (SVGDOMElement|SVGElement)): FontMetricsObject;
  126604. /**
  126605. * Create and return an svg group element. Child Highcharts.SVGElement
  126606. * objects are added to the group by using the group as the first parameter
  126607. * in add().
  126608. *
  126609. * @param name
  126610. * The group will be given a class name of `highcharts-{name}`. This
  126611. * can be used for styling and scripting.
  126612. *
  126613. * @return The generated wrapper element.
  126614. */
  126615. g(name?: string): SVGElement;
  126616. /**
  126617. * Returns white for dark colors and black for bright colors.
  126618. *
  126619. * @param rgba
  126620. * The color to get the contrast for.
  126621. *
  126622. * @return The contrast color, either `#000000` or `#FFFFFF`.
  126623. */
  126624. getContrast(rgba: ColorString): ColorString;
  126625. /**
  126626. * Display an image.
  126627. *
  126628. * @param src
  126629. * The image source.
  126630. *
  126631. * @param x
  126632. * The X position.
  126633. *
  126634. * @param y
  126635. * The Y position.
  126636. *
  126637. * @param width
  126638. * The image width. If omitted, it defaults to the image file width.
  126639. *
  126640. * @param height
  126641. * The image height. If omitted it defaults to the image file height.
  126642. *
  126643. * @param onload
  126644. * Event handler for image load.
  126645. *
  126646. * @return The generated wrapper element.
  126647. */
  126648. image(src: string, x?: number, y?: number, width?: number, height?: number, onload?: Function): SVGElement;
  126649. /**
  126650. * Initialize the SVGRenderer. Overridable initializer function that takes
  126651. * the same parameters as the constructor.
  126652. *
  126653. * @param container
  126654. * Where to put the SVG in the web page.
  126655. *
  126656. * @param width
  126657. * The width of the SVG.
  126658. *
  126659. * @param height
  126660. * The height of the SVG.
  126661. *
  126662. * @param style
  126663. * The box style, if not in styleMode
  126664. *
  126665. * @param forExport
  126666. * Whether the rendered content is intended for export.
  126667. *
  126668. * @param allowHTML
  126669. * Whether the renderer is allowed to include HTML text, which will
  126670. * be projected on top of the SVG.
  126671. *
  126672. * @param styledMode
  126673. * Whether the renderer belongs to a chart that is in styled mode. If
  126674. * it does, it will avoid setting presentational attributes in some
  126675. * cases, but not when set explicitly through `.attr` and `.css` etc.
  126676. */
  126677. init(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean): void;
  126678. /**
  126679. * Detect whether the renderer is hidden. This happens when one of the
  126680. * parent elements has `display: none`. Used internally to detect when we
  126681. * needto render preliminarily in another div to get the text bounding boxes
  126682. * right.
  126683. *
  126684. * @return True if it is hidden.
  126685. */
  126686. isHidden(): boolean;
  126687. /**
  126688. * Draw a label, which is an extended text element with support for border
  126689. * and background. Highcharts creates a `g` element with a text and a `path`
  126690. * or `rect` inside, to make it behave somewhat like a HTML div. Border and
  126691. * background are set through `stroke`, `stroke-width` and `fill` attributes
  126692. * using the attr method. To update the text after render, run `label.attr({
  126693. * text: 'New text' })`.
  126694. *
  126695. * @param str
  126696. * The initial text string or (subset) HTML to render.
  126697. *
  126698. * @param x
  126699. * The x position of the label's left side.
  126700. *
  126701. * @param y
  126702. * The y position of the label's top side or baseline, depending on
  126703. * the `baseline` parameter.
  126704. *
  126705. * @param shape
  126706. * The shape of the label's border/background, if any. Defaults to
  126707. * `rect`. Other possible values are `callout` or other shapes
  126708. * defined in Highcharts.SVGRenderer#symbols.
  126709. *
  126710. * @param anchorX
  126711. * In case the `shape` has a pointer, like a flag, this is the
  126712. * coordinates it should be pinned to.
  126713. *
  126714. * @param anchorY
  126715. * In case the `shape` has a pointer, like a flag, this is the
  126716. * coordinates it should be pinned to.
  126717. *
  126718. * @param useHTML
  126719. * Wether to use HTML to render the label.
  126720. *
  126721. * @param baseline
  126722. * Whether to position the label relative to the text baseline, like
  126723. * renderer.text, or to the upper border of the rectangle.
  126724. *
  126725. * @param className
  126726. * Class name for the group.
  126727. *
  126728. * @return The generated label.
  126729. */
  126730. label(str: string, x: number, y?: number, shape?: string, anchorX?: number, anchorY?: number, useHTML?: boolean, baseline?: boolean, className?: string): SVGElement;
  126731. /**
  126732. * Draw a path, wraps the SVG `path` element.
  126733. *
  126734. * @param path
  126735. * An SVG path definition in array form.
  126736. *
  126737. * @return The generated wrapper element.
  126738. */
  126739. path(path?: SVGPathArray): SVGElement;
  126740. /**
  126741. * Draw a path, wraps the SVG `path` element.
  126742. *
  126743. * @param attribs
  126744. * The initial attributes.
  126745. *
  126746. * @return The generated wrapper element.
  126747. */
  126748. path(attribs?: SVGAttributes): SVGElement;
  126749. /**
  126750. * Draw and return a rectangle.
  126751. *
  126752. * @param attributes
  126753. * General SVG attributes for the rectangle.
  126754. *
  126755. * @return The generated wrapper element.
  126756. */
  126757. rect(attributes?: SVGAttributes): SVGElement;
  126758. /**
  126759. * Draw and return a rectangle.
  126760. *
  126761. * @param x
  126762. * Left position.
  126763. *
  126764. * @param y
  126765. * Top position.
  126766. *
  126767. * @param width
  126768. * Width of the rectangle.
  126769. *
  126770. * @param height
  126771. * Height of the rectangle.
  126772. *
  126773. * @param r
  126774. * Border corner radius.
  126775. *
  126776. * @param strokeWidth
  126777. * A stroke width can be supplied to allow crisp drawing.
  126778. *
  126779. * @return The generated wrapper element.
  126780. */
  126781. rect(x?: number, y?: number, width?: number, height?: number, r?: number, strokeWidth?: number): SVGElement;
  126782. /**
  126783. * Resize the SVGRenderer#box and re-align all aligned child elements.
  126784. *
  126785. * @param width
  126786. * The new pixel width.
  126787. *
  126788. * @param height
  126789. * The new pixel height.
  126790. *
  126791. * @param animate
  126792. * Whether and how to animate.
  126793. */
  126794. setSize(width: number, height: number, animate?: (boolean|Partial<AnimationOptionsObject>)): void;
  126795. /**
  126796. * Apply the global style on the renderer, mixed with the default styles.
  126797. *
  126798. * @param style
  126799. * CSS to apply.
  126800. */
  126801. setStyle(style: CSSObject): void;
  126802. /**
  126803. * Draw a symbol out of pre-defined shape paths from SVGRenderer#symbols. It
  126804. * is used in Highcharts for point makers, which cake a `symbol` option, and
  126805. * label and button backgrounds like in the tooltip and stock flags.
  126806. *
  126807. * @param symbol
  126808. * The symbol name.
  126809. *
  126810. * @param x
  126811. * The X coordinate for the top left position.
  126812. *
  126813. * @param y
  126814. * The Y coordinate for the top left position.
  126815. *
  126816. * @param width
  126817. * The pixel width.
  126818. *
  126819. * @param height
  126820. * The pixel height.
  126821. *
  126822. * @param options
  126823. * Additional options, depending on the actual symbol drawn.
  126824. */
  126825. symbol(symbol: string, x?: number, y?: number, width?: number, height?: number, options?: SymbolOptionsObject): SVGElement;
  126826. /**
  126827. * Draw text. The text can contain a subset of HTML, like spans and anchors
  126828. * and some basic text styling of these. For more advanced features like
  126829. * border and background, use Highcharts.SVGRenderer#label instead. To
  126830. * update the text after render, run `text.attr({ text: 'New text' })`.
  126831. *
  126832. * @param str
  126833. * The text of (subset) HTML to draw.
  126834. *
  126835. * @param x
  126836. * The x position of the text's lower left corner.
  126837. *
  126838. * @param y
  126839. * The y position of the text's lower left corner.
  126840. *
  126841. * @param useHTML
  126842. * Use HTML to render the text.
  126843. *
  126844. * @return The text object.
  126845. */
  126846. text(str?: string, x?: number, y?: number, useHTML?: boolean): SVGElement;
  126847. }
  126848. /**
  126849. * The Tick class.
  126850. */
  126851. export class Tick {
  126852. /**
  126853. * The Tick class.
  126854. *
  126855. * @param axis
  126856. * The axis of the tick.
  126857. *
  126858. * @param pos
  126859. * The position of the tick on the axis in terms of axis values.
  126860. *
  126861. * @param type
  126862. * The type of tick, either 'minor' or an empty string
  126863. *
  126864. * @param noLabel
  126865. * Whether to disable the label or not. Defaults to false.
  126866. *
  126867. * @param parameters
  126868. * Optional parameters for the tick.
  126869. */
  126870. constructor(axis: Axis, pos: number, type?: string, noLabel?: boolean, parameters?: object);
  126871. /**
  126872. * The related axis of the tick.
  126873. */
  126874. axis: Axis;
  126875. /**
  126876. * The rendered grid line of the tick.
  126877. */
  126878. gridLine?: SVGElement;
  126879. /**
  126880. * True if the tick is the first one on the axis.
  126881. */
  126882. readonly isFirst?: boolean;
  126883. /**
  126884. * True if the tick is the last one on the axis.
  126885. */
  126886. readonly isLast?: boolean;
  126887. /**
  126888. * The rendered text label of the tick.
  126889. */
  126890. label?: SVGElement;
  126891. /**
  126892. * The rendered mark of the tick.
  126893. */
  126894. mark?: SVGElement;
  126895. /**
  126896. * The logical position of the tick on the axis in terms of axis values.
  126897. */
  126898. pos: number;
  126899. /**
  126900. * The mark offset of the tick on the axis. Usually `undefined`, numeric for
  126901. * grid axes.
  126902. */
  126903. tickmarkOffset?: number;
  126904. /**
  126905. * The tick type, which can be `"minor"`, or an empty string.
  126906. */
  126907. type: string;
  126908. }
  126909. /**
  126910. * The Time class. Time settings are applied in general for each page using
  126911. * `Highcharts.setOptions`, or individually for each Chart item through the time
  126912. * options set.
  126913. *
  126914. * The Time object is available from Highcharts.Chart#time, which refers to
  126915. * `Highcharts.time` if no individual time settings are applied.
  126916. */
  126917. export class Time {
  126918. /**
  126919. * The Time class. Time settings are applied in general for each page using
  126920. * `Highcharts.setOptions`, or individually for each Chart item through the
  126921. * time options set.
  126922. *
  126923. * The Time object is available from Highcharts.Chart#time, which refers to
  126924. * `Highcharts.time` if no individual time settings are applied.
  126925. *
  126926. * @param options
  126927. * Time options as defined in chart.options.time.
  126928. */
  126929. constructor(options: TimeOptions);
  126930. /**
  126931. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)
  126932. * into a human readable date string. The available format keys are listed
  126933. * below. Additional formats can be given in the Highcharts.dateFormats
  126934. * hook.
  126935. *
  126936. * Supported format keys:
  126937. *
  126938. * - `%a`: Short weekday, like 'Mon'
  126939. *
  126940. * - `%A`: Long weekday, like 'Monday'
  126941. *
  126942. * - `%d`: Two digit day of the month, 01 to 31
  126943. *
  126944. * - `%e`: Day of the month, 1 through 31
  126945. *
  126946. * - `%w`: Day of the week, 0 through 6
  126947. *
  126948. * - `%b`: Short month, like 'Jan'
  126949. *
  126950. * - `%B`: Long month, like 'January'
  126951. *
  126952. * - `%m`: Two digit month number, 01 through 12
  126953. *
  126954. * - `%y`: Two digits year, like 09 for 2009
  126955. *
  126956. * - `%Y`: Four digits year, like 2009
  126957. *
  126958. * - `%H`: Two digits hours in 24h format, 00 through 23
  126959. *
  126960. * - `%k`: Hours in 24h format, 0 through 23
  126961. *
  126962. * - `%I`: Two digits hours in 12h format, 00 through 11
  126963. *
  126964. * - `%l`: Hours in 12h format, 1 through 12
  126965. *
  126966. * - `%M`: Two digits minutes, 00 through 59
  126967. *
  126968. * - `%p`: Upper case AM or PM
  126969. *
  126970. * - `%P`: Lower case AM or PM
  126971. *
  126972. * - `%S`: Two digits seconds, 00 through 59
  126973. *
  126974. * - `%L`: Milliseconds (naming from Ruby)
  126975. *
  126976. * @param format
  126977. * The desired format where various time representations are prefixed
  126978. * with %.
  126979. *
  126980. * @param timestamp
  126981. * The JavaScript timestamp.
  126982. *
  126983. * @param capitalize
  126984. * Upper case first letter in the return.
  126985. *
  126986. * @return The formatted date.
  126987. */
  126988. dateFormat(format: string, timestamp?: number, capitalize?: boolean): string;
  126989. /**
  126990. * Get the value of a date object in given units, and subject to the Time
  126991. * object's current timezone settings. This function corresponds directly to
  126992. * JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling
  126993. * `date.getHours()` or `date.getUTCHours()` we will call
  126994. * `time.get('Hours')`.
  126995. *
  126996. * @return The given time unit
  126997. */
  126998. get(unit: TimeUnitValue, date: Date): number;
  126999. /**
  127000. * Return an array with time positions distributed on round time values
  127001. * right and right after min and max. Used in datetime axes as well as for
  127002. * grouping data on a datetime axis.
  127003. *
  127004. * @param normalizedInterval
  127005. * The interval in axis values (ms) and the count
  127006. *
  127007. * @param min
  127008. * The minimum in axis values
  127009. *
  127010. * @param max
  127011. * The maximum in axis values
  127012. */
  127013. getTimeTicks(normalizedInterval: TimeNormalizedObject, min?: number, max?: number, startOfWeek?: number): AxisTickPositionsArray;
  127014. /**
  127015. * Get the time zone offset based on the current timezone information as set
  127016. * in the global options.
  127017. *
  127018. * @param timestamp
  127019. * The JavaScript timestamp to inspect.
  127020. *
  127021. * @return The timezone offset in minutes compared to UTC.
  127022. */
  127023. getTimezoneOffset(timestamp: number): number;
  127024. /**
  127025. * Make a time and returns milliseconds. Interprets the inputs as UTC time,
  127026. * local time or a specific timezone time depending on the current time
  127027. * settings.
  127028. *
  127029. * @param year
  127030. * The year
  127031. *
  127032. * @param month
  127033. * The month. Zero-based, so January is 0.
  127034. *
  127035. * @param date
  127036. * The day of the month
  127037. *
  127038. * @param hours
  127039. * The hour of the day, 0-23.
  127040. *
  127041. * @param minutes
  127042. * The minutes
  127043. *
  127044. * @param seconds
  127045. * The seconds
  127046. *
  127047. * @return The time in milliseconds since January 1st 1970.
  127048. */
  127049. makeTime(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number): number;
  127050. /**
  127051. * Set the value of a date object in given units, and subject to the Time
  127052. * object's current timezone settings. This function corresponds directly to
  127053. * JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling
  127054. * `date.setHours(0)` or `date.setUTCHours(0)` we will call
  127055. * `time.set('Hours', 0)`.
  127056. *
  127057. * @return The epoch milliseconds of the updated date
  127058. */
  127059. set(unit: TimeUnitValue, date: Date, value: number): number;
  127060. }
  127061. /**
  127062. * Tooltip of a chart.
  127063. */
  127064. export class Tooltip {
  127065. /**
  127066. * Tooltip of a chart.
  127067. *
  127068. * @param chart
  127069. * The chart instance.
  127070. *
  127071. * @param options
  127072. * Tooltip options.
  127073. */
  127074. constructor(chart: Chart, options: TooltipOptions);
  127075. /**
  127076. * Chart of the tooltip.
  127077. */
  127078. readonly chart: Chart;
  127079. /**
  127080. * Reference to the tooltip's container, when [Highcharts.Tooltip#outside]
  127081. * is set to true, otherwise it's undefined.
  127082. */
  127083. container?: HTMLDOMElement;
  127084. /**
  127085. * Used tooltip options.
  127086. */
  127087. readonly options: TooltipOptions;
  127088. /**
  127089. * Whether to allow the tooltip to render outside the chart's SVG element
  127090. * box. By default (false), the tooltip is rendered within the chart's SVG
  127091. * element, which results in the tooltip being aligned inside the chart
  127092. * area.
  127093. */
  127094. readonly outside: boolean;
  127095. /**
  127096. * Reference to the tooltip's renderer, when [Highcharts.Tooltip#outside] is
  127097. * set to true, otherwise it's undefined.
  127098. */
  127099. renderer?: SVGRenderer;
  127100. /**
  127101. * When the tooltip is shared, the entire plot area will capture mouse
  127102. * movement or touch events.
  127103. */
  127104. readonly shared?: boolean;
  127105. /**
  127106. * True, if the tooltip is split into one label per series, with the header
  127107. * close to the axis.
  127108. */
  127109. readonly split?: boolean;
  127110. /**
  127111. * In case no user defined formatter is given, this will be used. Note that
  127112. * the context here is an object holding point, series, x, y etc.
  127113. */
  127114. defaultFormatter(tooltip: Tooltip): Array<string>;
  127115. /**
  127116. * Removes and destroys the tooltip and its elements.
  127117. */
  127118. destroy(): void;
  127119. /**
  127120. * Creates the Tooltip label element if it does not exist, then returns it.
  127121. */
  127122. getLabel(): SVGElement;
  127123. /**
  127124. * Hides the tooltip with a fade out animation.
  127125. *
  127126. * @param delay
  127127. * The fade out in milliseconds. If no value is provided the value of
  127128. * the tooltip.hideDelay option is used. A value of 0 disables the
  127129. * fade out animation.
  127130. */
  127131. hide(delay?: number): void;
  127132. /**
  127133. * Refresh the tooltip's text and position.
  127134. *
  127135. * @param pointOrPoints
  127136. * Either a point or an array of points.
  127137. *
  127138. * @param mouseEvent
  127139. * Mouse event, that is responsible for the refresh and should be
  127140. * used for the tooltip update.
  127141. */
  127142. refresh(pointOrPoints: (Point|Array<Point>), mouseEvent?: PointerEventObject): void;
  127143. /**
  127144. * Updates the tooltip with the provided tooltip options.
  127145. *
  127146. * @param options
  127147. * The tooltip options to update.
  127148. */
  127149. update(options: TooltipOptions): void;
  127150. }
  127151. /**
  127152. * An array containing the current chart objects in the page. A chart's position
  127153. * in the array is preserved throughout the page's lifetime. When a chart is
  127154. * destroyed, the array item becomes `undefined`.
  127155. */
  127156. export let charts: Array<(Chart|undefined)>;
  127157. /**
  127158. * A hook for defining additional date format specifiers. New specifiers are
  127159. * defined as key-value pairs by using the specifier as key, and a function
  127160. * which takes the timestamp as value. This function returns the formatted
  127161. * portion of the date.
  127162. */
  127163. export let dateFormats: Record<string, TimeFormatCallbackFunction>;
  127164. /**
  127165. * Global default settings.
  127166. */
  127167. export let defaultOptions: Options;
  127168. /**
  127169. * Global `Time` object with default options. Since v6.0.5, time settings can be
  127170. * applied individually for each chart. If no individual settings apply, this
  127171. * `Time` object is shared by all instances.
  127172. */
  127173. export let time: Time;
  127174. /**
  127175. * Add an event listener.
  127176. *
  127177. * @param el
  127178. * The element or object to add a listener to. It can be a
  127179. * HTMLDOMElement, an SVGElement or any other object.
  127180. *
  127181. * @param type
  127182. * The event type.
  127183. *
  127184. * @param fn
  127185. * The function callback to execute when the event is fired.
  127186. *
  127187. * @param options
  127188. * Options for adding the event.
  127189. *
  127190. * @return A callback function to remove the added event.
  127191. */
  127192. export function addEvent<T>(el: (T|Class<T>), type: string, fn: (Function|EventCallbackFunction<T>), options?: EventOptionsObject): Function;
  127193. /**
  127194. * The global animate method, which uses Fx to create individual animators.
  127195. *
  127196. * @param el
  127197. * The element to animate.
  127198. *
  127199. * @param params
  127200. * An object containing key-value pairs of the properties to animate.
  127201. * Supports numeric as pixel-based CSS properties for HTML objects and
  127202. * attributes for SVGElements.
  127203. *
  127204. * @param opt
  127205. * Animation options.
  127206. */
  127207. export function animate(el: (HTMLDOMElement|SVGElement), params: (CSSObject|SVGAttributes), opt?: Partial<AnimationOptionsObject>): void;
  127208. /**
  127209. * Get the animation in object form, where a disabled animation is always
  127210. * returned as `{ duration: 0 }`.
  127211. *
  127212. * @param animation
  127213. * An animation setting. Can be an object with duration, complete and
  127214. * easing properties, or a boolean to enable or disable.
  127215. *
  127216. * @return An object with at least a duration property.
  127217. */
  127218. export function animObject(animation?: (boolean|AnimationOptionsObject)): AnimationOptionsObject;
  127219. /**
  127220. * Non-recursive method to find the lowest member of an array. `Math.max` raises
  127221. * a maximum call stack size exceeded error in Chrome when trying to apply more
  127222. * than 150.000 points. This method is slightly slower, but safe.
  127223. *
  127224. * @param data
  127225. * An array of numbers.
  127226. *
  127227. * @return The highest number.
  127228. */
  127229. export function arrayMax(data: Array<any>): number;
  127230. /**
  127231. * Non-recursive method to find the lowest member of an array. `Math.min` raises
  127232. * a maximum call stack size exceeded error in Chrome when trying to apply more
  127233. * than 150.000 points. This method is slightly slower, but safe.
  127234. *
  127235. * @param data
  127236. * An array of numbers.
  127237. *
  127238. * @return The lowest number.
  127239. */
  127240. export function arrayMin(data: Array<any>): number;
  127241. /**
  127242. * Set or get an attribute or an object of attributes. To use as a setter, pass
  127243. * a key and a value, or let the second argument be a collection of keys and
  127244. * values. To use as a getter, pass only a string as the second argument.
  127245. *
  127246. * @param elem
  127247. * The DOM element to receive the attribute(s).
  127248. *
  127249. * @param prop
  127250. * The property or an object of key-value pairs.
  127251. *
  127252. * @param value
  127253. * The value if a single property is set.
  127254. *
  127255. * @return When used as a getter, return the value.
  127256. */
  127257. export function attr(elem: (HTMLDOMElement|SVGDOMElement), prop?: (string|HTMLAttributes|SVGAttributes), value?: (number|string)): (string|null|undefined);
  127258. /**
  127259. * Factory function for basic charts.
  127260. *
  127261. * @param options
  127262. * The chart options structure.
  127263. *
  127264. * @param callback
  127265. * Function to run when the chart has loaded and and all external images
  127266. * are loaded. Defining a chart.events.load handler is equivalent.
  127267. *
  127268. * @return Returns the Chart object.
  127269. */
  127270. export function chart(options: Options, callback?: ChartCallbackFunction): Chart;
  127271. /**
  127272. * Factory function for basic charts.
  127273. *
  127274. * @param renderTo
  127275. * The DOM element to render to, or its id.
  127276. *
  127277. * @param options
  127278. * The chart options structure.
  127279. *
  127280. * @param callback
  127281. * Function to run when the chart has loaded and and all external images
  127282. * are loaded. Defining a chart.events.load handler is equivalent.
  127283. *
  127284. * @return Returns the Chart object.
  127285. */
  127286. export function chart(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction): Chart;
  127287. /**
  127288. * Internal clear timeout. The function checks that the `id` was not removed
  127289. * (e.g. by `chart.destroy()`). For the details see issue .7901.
  127290. *
  127291. * @param id
  127292. * Id of a timeout.
  127293. */
  127294. export function clearTimeout(id: number): void;
  127295. /**
  127296. * Creates a color instance out of a color string.
  127297. *
  127298. * @param input
  127299. * The input color in either rbga or hex format
  127300. *
  127301. * @return Color instance
  127302. */
  127303. export function color(input: ColorType): Color;
  127304. /**
  127305. * Fix JS round off float errors.
  127306. *
  127307. * @param num
  127308. * A float number to fix.
  127309. *
  127310. * @param prec
  127311. * The precision.
  127312. *
  127313. * @return The corrected float number.
  127314. */
  127315. export function correctFloat(num: number, prec?: number): number;
  127316. /**
  127317. * Utility function to create an HTML element with attributes and styles.
  127318. *
  127319. * @param tag
  127320. * The HTML tag.
  127321. *
  127322. * @param attribs
  127323. * Attributes as an object of key-value pairs.
  127324. *
  127325. * @param styles
  127326. * Styles as an object of key-value pairs.
  127327. *
  127328. * @param parent
  127329. * The parent HTML object.
  127330. *
  127331. * @param nopad
  127332. * If true, remove all padding, border and margin.
  127333. *
  127334. * @return The created DOM element.
  127335. */
  127336. export function createElement(tag: string, attribs?: HTMLAttributes, styles?: CSSObject, parent?: HTMLDOMElement, nopad?: boolean): HTMLDOMElement;
  127337. /**
  127338. * Set CSS on a given element.
  127339. *
  127340. * @param el
  127341. * An HTML DOM element.
  127342. *
  127343. * @param styles
  127344. * Style object with camel case property names.
  127345. */
  127346. export function css(el: (HTMLDOMElement|SVGDOMElement), styles: CSSObject): void;
  127347. /**
  127348. * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
  127349. * human readable date string. The format is a subset of the formats for PHP's
  127350. * strftime function. Additional formats can be given in the
  127351. * Highcharts.dateFormats hook.
  127352. *
  127353. * Since v6.0.5, all internal dates are formatted through the
  127354. * Highcharts.Chart#time instance to respect chart-level time settings. The
  127355. * `Highcharts.dateFormat` function only reflects global time settings set with
  127356. * `setOptions`.
  127357. *
  127358. * Supported format keys:
  127359. *
  127360. * - `%a`: Short weekday, like 'Mon'
  127361. *
  127362. * - `%A`: Long weekday, like 'Monday'
  127363. *
  127364. * - `%d`: Two digit day of the month, 01 to 31
  127365. *
  127366. * - `%e`: Day of the month, 1 through 31
  127367. *
  127368. * - `%w`: Day of the week, 0 through 6
  127369. *
  127370. * - `%b`: Short month, like 'Jan'
  127371. *
  127372. * - `%B`: Long month, like 'January'
  127373. *
  127374. * - `%m`: Two digit month number, 01 through 12
  127375. *
  127376. * - `%y`: Two digits year, like 09 for 2009
  127377. *
  127378. * - `%Y`: Four digits year, like 2009
  127379. *
  127380. * - `%H`: Two digits hours in 24h format, 00 through 23
  127381. *
  127382. * - `%k`: Hours in 24h format, 0 through 23
  127383. *
  127384. * - `%I`: Two digits hours in 12h format, 00 through 11
  127385. *
  127386. * - `%l`: Hours in 12h format, 1 through 12
  127387. *
  127388. * - `%M`: Two digits minutes, 00 through 59
  127389. *
  127390. * - `%p`: Upper case AM or PM
  127391. *
  127392. * - `%P`: Lower case AM or PM
  127393. *
  127394. * - `%S`: Two digits seconds, 00 through 59
  127395. *
  127396. * - `%L`: Milliseconds (naming from Ruby)
  127397. *
  127398. * @param format
  127399. * The desired format where various time representations are prefixed
  127400. * with `%`.
  127401. *
  127402. * @param timestamp
  127403. * The JavaScript timestamp.
  127404. *
  127405. * @param capitalize
  127406. * Upper case first letter in the return.
  127407. *
  127408. * @return The formatted date.
  127409. */
  127410. export function dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
  127411. /**
  127412. * Check if an object is null or undefined.
  127413. *
  127414. * @param obj
  127415. * The object to check.
  127416. *
  127417. * @return False if the object is null or undefined, otherwise true.
  127418. */
  127419. export function defined(obj: any): boolean;
  127420. /**
  127421. * Utility method that destroys any SVGElement instances that are properties on
  127422. * the given object. It loops all properties and invokes destroy if there is a
  127423. * destroy method. The property is then delete.
  127424. *
  127425. * @param obj
  127426. * The object to destroy properties on.
  127427. *
  127428. * @param except
  127429. * Exception, do not destroy this property, only delete it.
  127430. */
  127431. export function destroyObjectProperties(obj: any, except?: any): void;
  127432. /**
  127433. * Discard a HTML element by moving it to the bin and delete.
  127434. *
  127435. * @param element
  127436. * The HTML node to discard.
  127437. */
  127438. export function discardElement(element: HTMLDOMElement): void;
  127439. /**
  127440. * Iterate over an array.
  127441. *
  127442. * @param arr
  127443. * The array to iterate over.
  127444. *
  127445. * @param fn
  127446. * The iterator callback. It passes three arguments:
  127447. *
  127448. * - `item`: The array item.
  127449. *
  127450. * - `index`: The item's index in the array.
  127451. *
  127452. * - `arr`: The array that each is being applied to.
  127453. *
  127454. * @param ctx
  127455. * The context.
  127456. */
  127457. export function each(arr: Array<any>, fn: Function, ctx?: any): void;
  127458. /**
  127459. * Remove the last occurence of an item from an array.
  127460. *
  127461. * @param arr
  127462. * The array.
  127463. *
  127464. * @param item
  127465. * The item to remove.
  127466. */
  127467. export function erase(arr: Array<any>, item: any): void;
  127468. /**
  127469. * Provide error messages for debugging, with links to online explanation. This
  127470. * function can be overridden to provide custom error handling.
  127471. *
  127472. * @param code
  127473. * The error code. See errors.xml for available codes. If it is a string,
  127474. * the error message is printed directly in the console.
  127475. *
  127476. * @param stop
  127477. * Whether to throw an error or just log a warning in the console.
  127478. *
  127479. * @param chart
  127480. * Reference to the chart that causes the error. Used in 'debugger'
  127481. * module to display errors directly on the chart. Important note: This
  127482. * argument is undefined for errors that lack access to the Chart
  127483. * instance. In such case, the error will be displayed on the last
  127484. * created chart.
  127485. *
  127486. * @param params
  127487. * Additional parameters for the generated message.
  127488. */
  127489. export function error(code: (number|string), stop?: boolean, chart?: Chart, params?: Dictionary<string>): void;
  127490. /**
  127491. * Utility function to extend an object with the members of another.
  127492. *
  127493. * @param a
  127494. * The object to be extended.
  127495. *
  127496. * @param b
  127497. * The object to add to the first one.
  127498. *
  127499. * @return Object a, the original object.
  127500. */
  127501. export function extend<T>(a: (T|undefined), b: Partial<T>): T;
  127502. /**
  127503. * Extend a prototyped class by new members.
  127504. *
  127505. * @param parent
  127506. * The parent prototype to inherit.
  127507. *
  127508. * @param members
  127509. * A collection of prototype members to add or override compared to the
  127510. * parent prototype.
  127511. *
  127512. * @return A new prototype.
  127513. */
  127514. export function extendClass<T>(parent: Class<T>, members: Dictionary<any>): Class<T>;
  127515. /**
  127516. * Return the value of the first element in the array that satisfies the
  127517. * provided testing function.
  127518. *
  127519. * @param arr
  127520. * The array to test.
  127521. *
  127522. * @param callback
  127523. * The callback function. The function receives the item as the first
  127524. * argument. Return `true` if this item satisfies the condition.
  127525. *
  127526. * @return The value of the element.
  127527. */
  127528. export function find<T>(arr: Array<T>, callback: Function): (T|undefined);
  127529. /**
  127530. * Fire an event that was registered with Highcharts#addEvent.
  127531. *
  127532. * @param el
  127533. * The object to fire the event on. It can be a HTMLDOMElement, an
  127534. * SVGElement or any other object.
  127535. *
  127536. * @param type
  127537. * The type of event.
  127538. *
  127539. * @param eventArguments
  127540. * Custom event arguments that are passed on as an argument to the event
  127541. * handler.
  127542. *
  127543. * @param defaultFunction
  127544. * The default function to execute if the other listeners haven't
  127545. * returned false.
  127546. */
  127547. export function fireEvent<T>(el: T, type: string, eventArguments?: (Event|Dictionary<any>), defaultFunction?: (Function|EventCallbackFunction<T>)): void;
  127548. /**
  127549. * Format a string according to a subset of the rules of Python's String.format
  127550. * method.
  127551. *
  127552. * @param str
  127553. * The string to format.
  127554. *
  127555. * @param ctx
  127556. * The context, a collection of key-value pairs where each key is
  127557. * replaced by its value.
  127558. *
  127559. * @param chart
  127560. * A `Chart` instance used to get numberFormatter and time.
  127561. *
  127562. * @return The formatted string.
  127563. */
  127564. export function format(str: string, ctx: Record<string, any>, chart?: Chart): string;
  127565. /**
  127566. * Get the defer as a number value from series animation options.
  127567. *
  127568. * @param chart
  127569. * The chart instance.
  127570. *
  127571. * @param animation
  127572. * An animation setting. Can be an object with duration, complete and
  127573. * easing properties, or a boolean to enable or disable.
  127574. *
  127575. * @param series
  127576. * Series to defer animation.
  127577. *
  127578. * @return The numeric value.
  127579. */
  127580. export function getDeferredAnimation(chart: Chart, animation: (boolean|AnimationOptionsObject), series?: Series): number;
  127581. /**
  127582. * Get the magnitude of a number.
  127583. *
  127584. * @param num
  127585. * The number.
  127586. *
  127587. * @return The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
  127588. */
  127589. export function getMagnitude(num: number): number;
  127590. /**
  127591. * Get the updated default options. Until 3.0.7, merely exposing defaultOptions
  127592. * for outside modules wasn't enough because the setOptions method created a new
  127593. * object.
  127594. */
  127595. export function getOptions(): Options;
  127596. /**
  127597. * Get the computed CSS value for given element and property, only for numerical
  127598. * properties. For width and height, the dimension of the inner box (excluding
  127599. * padding) is returned. Used for fitting the chart within the container.
  127600. *
  127601. * @param el
  127602. * An HTML element.
  127603. *
  127604. * @param prop
  127605. * The property name.
  127606. *
  127607. * @param toInt
  127608. * Parse to integer.
  127609. *
  127610. * @return The style value.
  127611. */
  127612. export function getStyle(el: HTMLDOMElement, prop: string, toInt?: boolean): (number|string|undefined);
  127613. /**
  127614. * Filter an array by a callback.
  127615. *
  127616. * @param arr
  127617. * The array to filter.
  127618. *
  127619. * @param callback
  127620. * The callback function. The function receives the item as the first
  127621. * argument. Return `true` if the item is to be preserved.
  127622. *
  127623. * @return A new, filtered array.
  127624. */
  127625. export function grep(arr: Array<any>, callback: Function): Array<any>;
  127626. /**
  127627. * Search for an item in an array.
  127628. *
  127629. * @param item
  127630. * The item to search for.
  127631. *
  127632. * @param arr
  127633. * The array or node collection to search in.
  127634. *
  127635. * @param fromIndex
  127636. * The index to start searching from.
  127637. *
  127638. * @return The index within the array, or -1 if not found.
  127639. */
  127640. export function inArray(item: any, arr: Array<any>, fromIndex?: number): number;
  127641. /**
  127642. * Utility function to check if an item is an array.
  127643. *
  127644. * @param obj
  127645. * The item to check.
  127646. *
  127647. * @return True if the argument is an array.
  127648. */
  127649. export function isArray(obj: any): boolean;
  127650. /**
  127651. * Utility function to check if an Object is a class.
  127652. *
  127653. * @param obj
  127654. * The item to check.
  127655. *
  127656. * @return True if the argument is a class.
  127657. */
  127658. export function isClass(obj: (object|undefined)): boolean;
  127659. /**
  127660. * Utility function to check if an Object is a HTML Element.
  127661. *
  127662. * @param obj
  127663. * The item to check.
  127664. *
  127665. * @return True if the argument is a HTML Element.
  127666. */
  127667. export function isDOMElement(obj: any): boolean;
  127668. /**
  127669. * Utility function to check if an item is a number and it is finite (not NaN,
  127670. * Infinity or -Infinity).
  127671. *
  127672. * @param n
  127673. * The item to check.
  127674. *
  127675. * @return True if the item is a finite number
  127676. */
  127677. export function isNumber(n: any): boolean;
  127678. /**
  127679. * Utility function to check if an item is of type object.
  127680. *
  127681. * @param obj
  127682. * The item to check.
  127683. *
  127684. * @param strict
  127685. * Also checks that the object is not an array.
  127686. *
  127687. * @return True if the argument is an object.
  127688. */
  127689. export function isObject(obj: any, strict?: boolean): boolean;
  127690. /**
  127691. * Utility function to check for string type.
  127692. *
  127693. * @param s
  127694. * The item to check.
  127695. *
  127696. * @return True if the argument is a string.
  127697. */
  127698. export function isString(s: any): boolean;
  127699. /**
  127700. * Returns an array of a given object's own properties.
  127701. *
  127702. * @param obj
  127703. * The object of which the properties are to be returned.
  127704. *
  127705. * @return An array of strings that represents all the properties.
  127706. */
  127707. export function keys(obj: any): Array<string>;
  127708. /**
  127709. * Map an array by a callback.
  127710. *
  127711. * @param arr
  127712. * The array to map.
  127713. *
  127714. * @param fn
  127715. * The callback function. Return the new value for the new array.
  127716. *
  127717. * @return A new array item with modified items.
  127718. */
  127719. export function map(arr: Array<any>, fn: Function): Array<any>;
  127720. /**
  127721. * Utility function to deep merge two or more objects and return a third object.
  127722. * The merge function can also be used with a single object argument to create a
  127723. * deep copy of an object.
  127724. *
  127725. * @param a
  127726. * The first object to extend. When only this is given, the function
  127727. * returns a deep copy.
  127728. *
  127729. * @param n
  127730. * An object to merge into the previous one.
  127731. *
  127732. * @return The merged object. If the first argument is true, the return is the
  127733. * same as the second argument.
  127734. */
  127735. export function merge<T>(a: (T|undefined), ...n: Array<(object|undefined)>): T;
  127736. /**
  127737. * Utility function to deep merge two or more objects and return a third object.
  127738. * If the first argument is true, the contents of the second object is copied
  127739. * into the first object. The merge function can also be used with a single
  127740. * object argument to create a deep copy of an object.
  127741. *
  127742. * @param extend
  127743. * Whether to extend the left-side object (a) or return a whole new
  127744. * object.
  127745. *
  127746. * @param a
  127747. * The first object to extend. When only this is given, the function
  127748. * returns a deep copy.
  127749. *
  127750. * @param n
  127751. * An object to merge into the previous one.
  127752. *
  127753. * @return The merged object. If the first argument is true, the return is the
  127754. * same as the second argument.
  127755. */
  127756. export function merge<T>(extend: boolean, a: (T|undefined), ...n: Array<(object|undefined)>): T;
  127757. /**
  127758. * Take an interval and normalize it to multiples of round numbers.
  127759. *
  127760. * @param interval
  127761. * The raw, un-rounded interval.
  127762. *
  127763. * @param multiples
  127764. * Allowed multiples.
  127765. *
  127766. * @param magnitude
  127767. * The magnitude of the number.
  127768. *
  127769. * @param allowDecimals
  127770. * Whether to allow decimals.
  127771. *
  127772. * @param hasTickAmount
  127773. * If it has tickAmount, avoid landing on tick intervals lower than
  127774. * original.
  127775. *
  127776. * @return The normalized interval.
  127777. */
  127778. export function normalizeTickInterval(interval: number, multiples?: Array<any>, magnitude?: number, allowDecimals?: boolean, hasTickAmount?: boolean): number;
  127779. /**
  127780. * Format a number and return a string based on input settings.
  127781. *
  127782. * @param number
  127783. * The input number to format.
  127784. *
  127785. * @param decimals
  127786. * The amount of decimals. A value of -1 preserves the amount in the
  127787. * input number.
  127788. *
  127789. * @param decimalPoint
  127790. * The decimal point, defaults to the one given in the lang options, or a
  127791. * dot.
  127792. *
  127793. * @param thousandsSep
  127794. * The thousands separator, defaults to the one given in the lang
  127795. * options, or a space character.
  127796. *
  127797. * @return The formatted number.
  127798. */
  127799. export function numberFormat(number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
  127800. /**
  127801. * Iterate over object key pairs in an object.
  127802. *
  127803. * @param obj
  127804. * The object to iterate over.
  127805. *
  127806. * @param fn
  127807. * The iterator callback. It passes three arguments:
  127808. *
  127809. * * value - The property value.
  127810. *
  127811. * * key - The property key.
  127812. *
  127813. * * obj - The object that objectEach is being applied to.
  127814. *
  127815. * @param ctx
  127816. * The context.
  127817. */
  127818. export function objectEach<T>(obj: any, fn: ObjectEachCallbackFunction<T>, ctx?: T): void;
  127819. /**
  127820. * Get the element's offset position, corrected for `overflow: auto`.
  127821. *
  127822. * @param el
  127823. * The DOM element.
  127824. *
  127825. * @return An object containing `left` and `top` properties for the position in
  127826. * the page.
  127827. */
  127828. export function offset(el: Element): OffsetObject;
  127829. /**
  127830. * Left-pad a string to a given length by adding a character repetetively.
  127831. *
  127832. * @param number
  127833. * The input string or number.
  127834. *
  127835. * @param length
  127836. * The desired string length.
  127837. *
  127838. * @param padder
  127839. * The character to pad with.
  127840. *
  127841. * @return The padded string.
  127842. */
  127843. export function pad(number: number, length?: number, padder?: string): string;
  127844. /**
  127845. * Return the first value that is not null or undefined.
  127846. *
  127847. * @param items
  127848. * Variable number of arguments to inspect.
  127849. *
  127850. * @return The value of the first argument that is not null or undefined.
  127851. */
  127852. export function pick<T>(...items: Array<(T|null|undefined)>): T;
  127853. /**
  127854. * Reduce an array to a single value.
  127855. *
  127856. * @param arr
  127857. * The array to reduce.
  127858. *
  127859. * @param fn
  127860. * The callback function. Return the reduced value. Receives 4 arguments:
  127861. * Accumulated/reduced value, current value, current array index, and the
  127862. * array.
  127863. *
  127864. * @param initialValue
  127865. * The initial value of the accumulator.
  127866. *
  127867. * @return The reduced value.
  127868. */
  127869. export function reduce(arr: Array<any>, fn: Function, initialValue: any): any;
  127870. /**
  127871. * Return a length based on either the integer value, or a percentage of a base.
  127872. *
  127873. * @param value
  127874. * A percentage string or a number.
  127875. *
  127876. * @param base
  127877. * The full length that represents 100%.
  127878. *
  127879. * @param offset
  127880. * A pixel offset to apply for percentage values. Used internally in axis
  127881. * positioning.
  127882. *
  127883. * @return The computed length.
  127884. */
  127885. export function relativeLength(value: RelativeSize, base: number, offset?: number): number;
  127886. /**
  127887. * Remove an event that was added with Highcharts#addEvent.
  127888. *
  127889. * @param el
  127890. * The element to remove events on.
  127891. *
  127892. * @param type
  127893. * The type of events to remove. If undefined, all events are removed
  127894. * from the element.
  127895. *
  127896. * @param fn
  127897. * The specific callback to remove. If undefined, all events that match
  127898. * the element and optionally the type are removed.
  127899. */
  127900. export function removeEvent<T>(el: (T|Class<T>), type?: string, fn?: EventCallbackFunction<T>): void;
  127901. /**
  127902. * Old factory to create new series prototypes.
  127903. *
  127904. * @param type
  127905. * The series type name.
  127906. *
  127907. * @param parent
  127908. * The parent series type name. Use `line` to inherit from the basic
  127909. * Series object.
  127910. *
  127911. * @param options
  127912. * The additional default options that are merged with the parent's
  127913. * options.
  127914. *
  127915. * @param props
  127916. * The properties (functions and primitives) to set on the new prototype.
  127917. *
  127918. * @param pointProps
  127919. * Members for a series-specific extension of the Point prototype if
  127920. * needed.
  127921. *
  127922. * @return The newly created prototype as extended from Series or its
  127923. * derivatives.
  127924. */
  127925. export function seriesType(type: string, parent: string, options: (SeriesOptionsType|Dictionary<any>), props?: Dictionary<any>, pointProps?: Dictionary<any>): Series;
  127926. /**
  127927. * Set the global animation to either a given value, or fall back to the given
  127928. * chart's animation option.
  127929. *
  127930. * @param animation
  127931. * The animation object.
  127932. *
  127933. * @param chart
  127934. * The chart instance.
  127935. */
  127936. export function setAnimation(animation: (boolean|Partial<AnimationOptionsObject>|undefined), chart: Chart): void;
  127937. /**
  127938. * Merge the default options with custom options and return the new options
  127939. * structure. Commonly used for defining reusable templates.
  127940. *
  127941. * @param options
  127942. * The new custom chart options.
  127943. *
  127944. * @return Updated options.
  127945. */
  127946. export function setOptions(options: Options): Options;
  127947. /**
  127948. * Test whether at least one element in the array passes the test implemented by
  127949. * the provided function.
  127950. *
  127951. * @param arr
  127952. * The array to test
  127953. *
  127954. * @param fn
  127955. * The function to run on each item. Return truty to pass the test.
  127956. * Receives arguments `currentValue`, `index` and `array`.
  127957. *
  127958. * @param ctx
  127959. * The context.
  127960. */
  127961. export function some(arr: Array<any>, fn: Function, ctx: any): boolean;
  127962. /**
  127963. * Check if an element is an array, and if not, make it into an array.
  127964. *
  127965. * @param obj
  127966. * The object to splat.
  127967. *
  127968. * @return The produced or original array.
  127969. */
  127970. export function splat(obj: any): any[];
  127971. /**
  127972. * Sort an object array and keep the order of equal items. The ECMAScript
  127973. * standard does not specify the behaviour when items are equal.
  127974. *
  127975. * @param arr
  127976. * The array to sort.
  127977. *
  127978. * @param sortFunction
  127979. * The function to sort it with, like with regular Array.prototype.sort.
  127980. */
  127981. export function stableSort(arr: Array<any>, sortFunction: Function): void;
  127982. /**
  127983. * Stop running animation.
  127984. *
  127985. * @param el
  127986. * The SVGElement to stop animation on.
  127987. *
  127988. * @param prop
  127989. * The property to stop animating. If given, the stop method will stop a
  127990. * single property from animating, while others continue.
  127991. */
  127992. export function stop(el: SVGElement, prop?: string): void;
  127993. /**
  127994. * Set a timeout if the delay is given, otherwise perform the function
  127995. * synchronously.
  127996. *
  127997. * @param fn
  127998. * The function callback.
  127999. *
  128000. * @param delay
  128001. * Delay in milliseconds.
  128002. *
  128003. * @param context
  128004. * An optional context to send to the function callback.
  128005. *
  128006. * @return An identifier for the timeout that can later be cleared with
  128007. * Highcharts.clearTimeout. Returns -1 if there is no timeout.
  128008. */
  128009. export function syncTimeout(fn: Function, delay: number, context?: any): number;
  128010. /**
  128011. * Get a unique key for using in internal element id's and pointers. The key is
  128012. * composed of a random hash specific to this Highcharts instance, and a
  128013. * counter.
  128014. *
  128015. * @return A unique key.
  128016. */
  128017. export function uniqueKey(): string;
  128018. /**
  128019. * Activates a serial mode for element IDs provided by Highcharts.uniqueKey.
  128020. * This mode can be used in automated tests, where a simple comparison of two
  128021. * rendered SVG graphics is needed.
  128022. *
  128023. * **Note:** This is only for testing purposes and will break functionality in
  128024. * webpages with multiple charts.
  128025. *
  128026. * @param mode
  128027. * Changes the state of serial mode.
  128028. *
  128029. * @return State of the serial mode.
  128030. */
  128031. export function useSerialIds(mode?: boolean): (boolean|undefined);
  128032. /**
  128033. * Wrap a method with extended functionality, preserving the original function.
  128034. *
  128035. * @param obj
  128036. * The context object that the method belongs to. In real cases, this is
  128037. * often a prototype.
  128038. *
  128039. * @param method
  128040. * The name of the method to extend.
  128041. *
  128042. * @param func
  128043. * A wrapper function callback. This function is called with the same
  128044. * arguments as the original function, except that the original function
  128045. * is unshifted and passed as the first argument.
  128046. */
  128047. export function wrap(obj: any, method: string, func: WrapProceedFunction): void;
  128048. /**
  128049. * Shared Highcharts properties.
  128050. */
  128051. export let Globals: any;
  128052. /**
  128053. * Callout shape used for default tooltips, also used for rounded rectangles in
  128054. * VML
  128055. */
  128056. export function callout(): void;
  128057. /**
  128058. * Gets a registered renderer class. If no renderer type is provided or the
  128059. * requested renderer was not founded, the default renderer is returned.
  128060. *
  128061. * @param rendererType
  128062. * Renderer type or the default renderer.
  128063. *
  128064. * @return Returns the requested renderer class or the default renderer class.
  128065. */
  128066. export function getRendererType(rendererType?: string): Class<SVGRenderer>;
  128067. /**
  128068. * Register a renderer class.
  128069. *
  128070. * @param rendererType
  128071. * Renderer type to register.
  128072. *
  128073. * @param rendererClass
  128074. * Returns the requested renderer class or the default renderer class.
  128075. *
  128076. * @param setAsDefault
  128077. * Sets the renderer class as the default renderer.
  128078. */
  128079. export function registerRendererType(rendererType: string, rendererClass: Class<SVGRenderer>, setAsDefault: boolean): void;
  128080. declare global {
  128081. /**
  128082. * Highcharts-extended JQuery.
  128083. */
  128084. interface JQuery {
  128085. /**
  128086. * Helper function to return the chart of the current JQuery selector
  128087. * element.
  128088. *
  128089. * @param className
  128090. * Name of the factory class in the Highcharts namespace.
  128091. *
  128092. * @param options
  128093. * The chart options structure.
  128094. *
  128095. * @param callback
  128096. * Function to run when the chart has loaded and and all external
  128097. * images are loaded. Defining a chart.events.load handler is
  128098. * equivalent.
  128099. *
  128100. * @return The current JQuery selector.
  128101. */
  128102. highcharts(className?: (string|'Chart'|'Map'|'StockChart'), options?: Options, callback?: ChartCallbackFunction): JQuery;
  128103. }
  128104. }
  128105. export as namespace Highcharts;